- 第1章 ブロックチェーンの基礎知識
- 第2章 ビットコインブロックチェーンの仕組み
- 第3章 ビットコインブロックチェーンを支えるコア技術
- 第4章 ブロックチェーンを支える周辺技術
- 第5章 スマートコントラクトとDApps
- 第6章 ブロックチェーンの技術的課題
- 第7章 ブロックチェーンの最新動向
第1章 ブロックチェーンの基礎知識
01 ブロックチェーンとは何か
- ブロックチェーンの本質は「台帳の共有」。
02 ブロックチェーンの特徴
-
ヴィタリック・ブテリン(Vitalik Buterin)
「ほとんどのテクノロジーは末端の仕事を自動化するものだが、
ブロックチェーンは中央の仕事を自動化して無くしてしまうものである。
ブロックチェーンはタクシードライバーの仕事を奪うのではなく、
乗客とドライバーを直接結びつけて、
それを中央で管理していたUberを不要にするものである。」
03 ブロックチェーンの歴史
04 プライベートチェーン
05 パブリック・プライベートチェーンの開発方法の違い
06 ブロックチェーンの活用事例
第2章 ビットコインブロックチェーンの仕組み
01 ビットコインの動作
02 P2P ネットワーク ~中央管理者のない分散環境のメリット
03 トランザクション ~取引履歴によって通貨を表現
UTXO (Unspent Transaction Output)、未使用残高
- それぞれのアカウントごとの通貨残高は記録されていない。
- 記録されているのは、どのアドレスからアドレスにいくら送ったという情報のみ。
- 都度、ブロックチェーン上のこれまでのトランザクションをすべて集計し、 まだ使用していない自分名義のトランザクション(未使用の残高)を算出している。
- イーサリウムは、アカウントごとに残高を記録していく「アカウントモデル」。
04 ブロック ~取引が記録されたデータの塊
ブロック チェーン |
ブロック | ブロックヘッダ | Version | |
Previous Block Hash | ||||
Merkle Root | ||||
Timestamp | ||||
Difficulty Target | ||||
Nonce | ||||
トランザクション | Input | Previous tx | 直前のトランザクションへの参照 | |
Index | 参照先トランザクション内でのアウトプットの位置 | |||
scriptSig | トランザクションの送信元のデジタル署名と公開鍵などの情報がコード化されたもの | |||
Output | Value | [Satoshi = 1億分の1BTC] | ||
scriptPubKey | 送信先(受取側)アドレスなどの情報がコード化されたもの | |||
ブロック | ブロックヘッダ | Version | ||
Previous Block Hash | ||||
Merkle Root | ||||
Timestamp | ||||
Difficulty Target | ||||
Nonce | ||||
トランザクション | Input | Previous tx | ||
Index | ||||
scriptSig | ||||
Output | Value | |||
scriptPubKey |
05 ビットコインマイニング ~ビットコインに価値が生まれる理由
- 半減期・・・4年ごとにマイニング報酬が半分になる。
- 総供給量は約2100万BTC。2140年ごろには新規生成は終了。
- 各ノードはトランザクションプールと呼ばれる領域を持ち、 未検証のトランザクションを一時的に保管している。
06 コンセンサスとフォーク ~ P2Pにおける合意形成の仕組み
07 マイニングプールとクラウドマイニング
08 オーファンブロック ~チェーンから外れた孤立ブロック
09 フルノードと軽量クライアント
第3章 ビットコインブロックチェーンを支えるコア技術
01 ビットコインネットワーク
02 トランザクションとブロックの伝播
03 メモリープールとペンディングトランザクション
04 公開鍵暗号方式 ~分散環境でセキュリティを担保するコア技術
05 デジタル署名 ~データが改ざんされていないことを保証する
06 ハッシュ関数 ~元のデータを再現できない特徴を活用
07 ビザンチン将軍問題 ~偽の情報伝達の問題と対策
- 分散ネットワークにおいて、嘘をつくノードや故障したノードから誤ったデータが送信された場合、 唯一の正しい値をネットワーク全体で合意できるかを問う問題。
08 reorg ~チェーンを正当な状態に再編成
09 データベースとしてのブロックチェーン
10 電子マネーと仮想通貨は何が違うのか
第4章 ブロックチェーンを支える周辺技術
01 ホットウォレットとコールドウォレット
02 マルチシグ ~複数の署名でセキュリティ向上
03 UTXO とアカウントモデル ~残高管理の仕組みとメリット・デメリット
04 PoW(Proof of Work) ~ビットコインのセキュリティを高める仕組み
05 PoS(Proof of Stake)
06 BFT ~合意形成を行う仕組み
07 サイドチェーン ~ブロックチェーンの機能を拡張する技術
第5章 スマートコントラクトとDApps
01 スマートコントラクトとは ~分散ネットワーク上での契約締結・自動執行
広義 | 取引における契約・執行を自動で行う仕組み。 |
---|---|
狭義 |
ブロックチェーン上に配置された自律的に動作するプログラム。 (契約という意味は含まれない) |
-
ヴィタリック・ブテリン:
「『Smart Contract』と名づけたのを後悔している。『Persistent Script』と名づけるべきだった。」
02 分散アプリケーションとDAppsブラウザー
DAppsの特徴
- オープンソースでだれでも閲覧ができて、自由に参加できる。
- アプリがブロックチェーン上で実行され、中央管理者がいない。
- アプリ内でさまざまな価値をトークン化して、 参加者は貢献に応じてそのトークンを報酬として受け取る。
03 イーサリアムとEnterprise Ethereum
04 EOS
05 Hyperledger FabricとCorda
06 オラクル ~現実世界の情報をブロックチェーンに提供
07 スマートコントラクトの応用例
第6章 ブロックチェーンの技術的課題
01 スケーラビリティ ~チェーンの負担と拡張性の問題
02 Lightning Network ~ビットコインのスケーラビリティを解決する技術
03 Raiden NetworkとPlasma ~Ethereumのスケーラビリティを解決する技術
04 CasperとSharding
05 匿名性 ~取引履歴をすべて追跡できる問題
06 51%攻撃 ~計算能力の過半を支配することによる弊害
07 シビルアタック ~多数決による合意の危険性
08 Block Withholding Attack ~最長チェーンを隠して不正取引をもくろむ
09 Nothing at Stake ~「何も賭けていない」ことによる問題
第7章 ブロックチェーンの最新動向
01 クロスチェーン ~相互運用性を実現する最新技術
02 ブロックチェーンゲーム ~ゲーム分野へのブロックチェーン応用
- アイテム専用の非中央集権型の市場でトラストレスにアイテム売買が可能。
03 ステーブルコイン ~価格を安定させ,利便性を高めた通貨
04 ICOとSTO ~仮想通貨発行による資金調達
05 トークンエコノミー ~トークンを介した新たな経済圏の創出
トークンエコノミー
-
ハッシュ関数や公開鍵暗号、デジタル署名などの暗号技術と、
ブロック報酬や手数料収入をマイナーに付与するという経済的インセンティブ
の組合せによって、自律的に維持・拡大する小さな経済圏。