【技術本】ブロックチェーン・システム設計
https://amzn.to/3GPgn0Q
【技術本】ブロックチェーン・システム設計
へポスト
噛み砕いたわかりやすい文章で絵図を交えてブロックチェーン技術を説明してくれている。
如何にして中央集権的な管理を必要とせず、改ざん耐性の高い履行契約管理を自動で行い、情報を安全に共有できるかが理解することができる。また特徴的な構造による従来システムにない癖も補完してくれている。
後半の第二部であるシステム設計では、主にEthernum、Hyperledger Fabricを使用したコンソーシアム型/プライベート型のスマートコントラクト技術を使用したシステムの要件定義からの開発工程を模擬的に体感できる。
全体として前半は、システム技術者でなくても十分理解できる文章構成。後半もシステム技術者でなくても、システムの開発工程の概要は追える優しい記載配慮がされている。
全体的に初心者でもブロックチェーン技術の理解に最適な著書だと感じた。
--------------------------------
内容メモ
1:ブロックチェーンへの期待
中央集権的な管理を必要しない分散台帳技術
真正性、改ざん耐性が高い
データ共有ができる
データ消失時の回復も早い
トレーサビリティ
2:ブロックチェーン技術の概要
代表的プラットフォーム
・BitCoin
・Ethernum
・Hyperledger Fabric
パブリック型と非パブリック型(プライベート型、コンソーシアム型)
3:コアテクノロジ
データ構造
・UTXO型:残高などは集計が必要
・アカウント型:残高を実行結果として持つ
ライフサイクル:トランザクションをノードに送信しノードが署名、形式、時刻などを検証し正しければ他のノードに順に伝播させていく。マイニング競争で勝利したブロック作成者がブロックに含めるトランザクションを順に並べ、つなぐ先のプロックハッシュと作成するブロックハッシュを指定してブロックを作成する。そのブロックは作成されたノードから他のノードへ伝播していく。他のノードが検証し正しければつなぐ先のブロックとして繋げることで、取引が受け付けられる=ブロックチェーン。
なりすまし防止:公開鍵暗号方式で相手を特定
トランザクションの改ざん防止:元データのハッシュを公開鍵方式の秘密鍵で暗号化し、受け取り側が送信者の公開鍵で正確にハッシュとして復号できることで本人確認と、元データのハッシュと復号したハッシュの比較でデータの完全性を検証できる。
UTXO型の二重取引防止方法:ブロックに含めるトランザクションを決定する段階で検証できる。UTXO型ブロックチェーンでは、未使用かどうか検証し、一回指定されたら使用済みとされ以降呼び出されても破棄される。
アカウント型の二重取引防止法:ブロックに書き込む処理で二重取引検証を行う。トランザクションは番号順かつ重複は破棄される。
改ざん防止の仕組み:ブロックのブロックハッシュを次のブロックが持つ構造を鎖状にしているため、仮に改ざん目的でブロック間に割り込みした場合、ブロックハッシュの値が以降のブロックが異なっていくので改ざんができない。最新のブロックを改ざんするにおいても、仮にブロックが分岐しても最も長いチェーンを作れたものを有効とするため、常にマイニング競争に勝ち捏造ブロックを追加し続けることは現状のマイニング競争では不可能に近いため、改ざんの可能性は低い。また、マイニング競争に勝つため投資した者は、不正をして価値が下がるのを恐るため、正しい行いで利用するという仕組みを利用=コンセンサスアルゴリズム:Proof of Work
ブロック作成競争を行わなず、他の参加者が検証して判断するPBFT,役割に応じてブロッ>ク生成処理を分担するendorse-order-validateなどもある。
4:システム特性
データ参照処理は、自身の手元に台帳を保有しているため、レスポンスタイムは短い
過去のブロックに記録した状態そのもは更新、削除できない。
取り消し、変更の場合は新たなトランザクションで更新、削除状態を示し、ブロックに取り込む。
従来のデータベース同様ACID特性を持つ
スケーラビリティ:ブロックサイズ/トランザクションサイズ/ブロック生成時間の計算式により、ブロックチェーンの最大処理数が理論的に決まってしまう。1秒あたり7件
スループットとレスポンスタイム:トランザクションを投げてからノードを伝播しブロック作成にトランザクションが含まれ、そのブロックが伝播してきて受け取れたまでがレスポンスタイム。
5:スマートコントラクト
価値の権利移転、条件管理、履行などの契約管理を自動で行なって管理できるものがスマートコントラクト
Ethereum, Hyperledger Fabricのケースの紹介
特徴と制約:改ざん防止、データ操作のルールを強制できる、当事者間で直接契約履行できる
第2部:システム設計
全てのデータをブロックチェーンにするとスループットが低下する
必要データのみを分類選択して明確なメリットが生まれるデータのみにブロックチェーンを適用する。
主に、コンソーシアム/プライベート型を前提で解説。
付録
Etherenum, Hyperledger Fabricの環境構築手順
以上。
へポスト
