メインコンテンツへスキップ

第 1 架 コンピューティング基盤 14 / 45

ブロックチェーン設計論 — 台帳・状態・合意・実行・統治

ブロックチェーンを一枚岩の技術ではなく、参加条件、データの表し方、合意と確定、処理の実行、検証用データの入手、外部情報の取り込み、運営ルールを組み合わせた設計として、一次資料から読み解く。

この記事の出典を確認する(13件)

記事概要

「ブロックチェーンを使う」と決めても、本当の設計はまだ何一つ決まっていません。参加者も、状態も、確定の意味も、これから選ぶことばかりです。

理解の手がかり

建物の設計図で、入口、鍵、耐震構造、非常口、改修の決め方を別々に選ぶのと同じです。台帳・合意・実行・統治を層ごとに見ていくと整理できます。

比喩の限界

層どうしは互いに影響し合うので、部品を足せば自動的に安全になるわけではありません。すべての用途に最適な唯一の組み合わせもありません。

流行り言葉から離れて、「この設計は誰のどんな失敗に耐えるのか」を具体的に評価できるようになります。

用語集を開く
この記事の目次12節読みたい節へ移動する

1ブロックチェーンは「設計の束」である

NIST IR 8202は、ブロックチェーンを中央リポジトリを持たずに分散実装された台帳、つまり改ざんを検知でき、改ざんに抵抗できるデジタル台帳だと説明します。ここで重要なのは「改ざん不能」ではなく「改ざん検知可能・改ざん耐性」です。履歴を書き換えられるかどうか、書き換えにいくらかかるかは、ハッシュだけで決まりません。合意規則、参加者、鍵、ネットワーク、実装、そして社会的な採用の判断にも左右されます。

ブロックチェーンは分散システムの一種ですが、分散システムの同義語ではありません。複製データベース、P2Pファイル共有、ジョブ分配、透明性ログも複数のマシンにまたがって動きますが、そのすべてがブロックチェーンを必要とするわけではありません。逆に、ブロックチェーンを採用しても、運用権限、ホスティング、クライアント実装、資産の保有、統治が少数に集中することはあります。

ブロックチェーンは「設計の束」であるの比較表
問いブロックチェーンが提供し得るものそれだけでは提供しないもの
履歴順序付けた記録と暗号学的な連結入力された事実の真実性
検証規則に対する独立検証データの永続保存や秘密性
合意複数参加者が共有する一つの履歴への収束絶対的・即時の確定
分散複数ノードへの複製権力や利益の均等な分散

したがって「どのチェーンが優れているか」より先に、保護したい資産、想定する攻撃者、障害モデル、参加の境界、利用者が自ら検証できる範囲を定義する必要があります。ブロック、トークン、スマートコントラクトは目的ではなく、その条件に応えるための選択肢です。

2信頼前提を層に分解する

図 1 ブロックチェーンは単独の技術ではなく、参加資格、Sybil耐性、発行時のデータ可用性、長期取得可能性、合意、状態モデル、実行環境、アプリケーションを組み合わせた設計である。各層の選択は上位層の保証と運用責任を変える。

ブロックチェーンの保証は、単一の「コンセンサス層」から生まれるものではありません。誰を投票者として数えるか、どのデータを状態へ変換するか、検証に必要なデータを取得できるか、外部の情報を誰が報告するか、そして規則の変更を誰が採用するかが連鎖します。一つの層を強化しても、別の層に単独の管理者鍵があれば、システム全体の信頼境界はその鍵のところまで縮みます。

信頼前提を層に分解するの比較表
層主な設計上の問い典型的な失敗
メンバーシップ・ネットワーク誰が提案・投票・検証できるかSybil攻撃、エクリプス攻撃、検閲
データ・コミットメント何を記録し、何をルートで要約するか曖昧な符号化、状態の肥大化
合意・ファイナリティ競合する履歴をどう選び、いつ巻き戻らないと扱うかフォーク、停止、再編成
実行取引から状態をどう決定論的に計算するか実装の差、資源の枯渇、契約のバグ
可用性・保存検証用のデータを誰が持ち、いつまで取得できるかデータの秘匿、履歴の消失
オラクル・相互運用外界や他チェーンの事実をどう取り込むか誤報、ブリッジの侵害
ガバナンス仕様、実装、鍵、緊急対応を誰が変えるか一部勢力による掌握、不透明な権限

「分散化」も一つの数値で表せるものではありません。ブロック生成、完全検証、クライアントの多様性、ネットワークの到達性、運用の主体、資産の配分、改善提案、緊急用の鍵は、それぞれ別に観測すべきです。保証を説明するときは、平常時の速度ではなく、どの前提が破れたときに何が起きるかまで書きます。

3メンバーシップとSybil耐性 — 一票を何に結び付けるか

合意の前に「誰を数えるか」を決めなければなりません。誰でも参加できるネットワークで単純に一ID一票とすると、一つの主体が多数の仮名を作れてしまいます。John Douceurが整理したSybil問題は、参加者の数が多いこと自体では、独立した主体が多いことを保証できないと示します。デジタル署名は同じ鍵による発言を認証できますが、その鍵が独立した人や組織を表すことまでは証明しません。

メンバーシップとSybil耐性 — 一票を何に結び付けるかの比較表
メンバーシップ投票の重みの根拠主な信頼・集中のリスク
公開参加型のPoW検証できる計算資源の支出ハードウェア、電力、プール、供給網
公開参加型のPoSプロトコル内で拘束したステーク資産の集中、委任、長距離の履歴
許可制認証局や組織規則が認証した識別情報認証者、失効の権限、組織間の契約
固定のバリデータ集合設定やガバナンスで選ばれた鍵更新の権限、結託、停止

Proof of WorkやProof of Stakeは「正しい人を見つける魔法」ではありません。いくらでも安く作れるIDを、希少な資源や罰則へ結び付ける仕組みです。どちらも資源の市場、委任、カストディ、運用インフラから切り離せるわけではありません。誰が参加できるかと、ブロック生産が実際にどれだけ集中しているかは、分けて測る必要があります。

許可制のネットワークでは、Hyperledger FabricのMSPのように、証明書、役割、組織、失効を明示できます。これはSybil問題を消すのではなく、識別情報の発行者と、法的・組織的な境界へ移すだけです。公開参加と認証参加は優劣の関係ではなく、想定する敵対者、責任の所在、離脱のしやすさに対する異なる答えです。

4台帳・状態・コミットメントを混同しない

台帳は順序付けられた出来事の記録で、状態はそれらの出来事を規則に従って適用した現在の値です。複製状態機械では、各レプリカが同じ決定論的な遷移を同じ順序で実行すれば、同じ状態へ到達します。ブロックチェーンはこの考えを利用しますが、全ノードが同じ履歴を永久に保存するとか、すべての読み取りを合意の対象にするといったことまで意味するわけではありません。

ビットコインのUTXOモデルでは、未使用の出力を消費して新しい出力を作ります。アカウントモデルはアドレスごとの残高やナンス、コントラクトのストレージを更新します。オブジェクト中心やイベント中心の設計もあります。UTXOは依存関係と並列検証を表しやすく、アカウントは共有状態を扱いやすい一方で、どちらにも並行処理、ストレージ、プライバシー、開発体験のトレードオフがあります。

ハッシュチェーンは過去の変更を後続のコミットメントへ波及させ、Merkle treeはルートに対する要素の包含を小さな証明で示せます。しかし証明が示すのは「この値がこのルートにコミットされた」という関係にすぎません。その値が現実に正しいこと、そのルートが正当なチェーンに属すること、元のデータが今も取得できることは、別に確かめなければなりません。

台帳・状態・コミットメントを混同しないの比較表
対象検証できる問い検証できない問い
デジタル署名対応する秘密鍵で承認されたか鍵の使用者に正当な権限があったか
Merkle証明値が特定のルートに含まれるか値が真実か、全データが利用可能か
ステートルート実行後の状態の要約が一致するか実行の入力を取得できるか
タイムスタンプに相当する順序プロトコル内でいつ記録されたか現実世界でいつ発生したか

5合意とファイナリティ — 有効性、順序、確定の度合い

合意は一語で語られがちですが、少なくとも四つに分けて考えるべきです。取引が規則に適合するかという有効性、競合する提案をどう並べるかという順序、どの履歴を正典とみなすかというフォーク選択、そして決定を巻き戻せる条件であるファイナリティです。多数派が投票したからといって、無効な状態遷移が有効になるわけではありません。検証ノードは自らの規則にもとづいて不正な提案を拒否します。

安全性は矛盾する二つの値が同時に確定しない性質、活性は有効な要求が最終的に前へ進む性質です。ネットワークの分断や遅延の下で、この二つを無条件に両立させることはできません。クラッシュ障害だけを想定するプロトコルと、署名済みの矛盾した投票まで扱うビザンチン障害耐性のプロトコルとでは、必要なレプリカ数、クォーラム、通信量が異なります。

合意とファイナリティ — 有効性、順序、確定の度合いの比較表
ファイナリティの型意味利用するときの確認点
確率的後続のブロックが積み重なるほど巻き戻しの確率と費用が変化する攻撃者の資源、確認数、価値、ネットワークの状態
プロトコルによる明示特定のクォーラムによる証明の後は、前提の範囲内で矛盾した確定が起きないバリデータ集合、スラッシング、分断時の停止
経済的巻き戻すには検知できる損失や大きな費用を伴う資産の価格、処罰の実行、社会的な回復
業務上事業者が業務上「確定」と扱うロールバックの方針、法的責任、例外処理

ビットコインの確認数は、絶対的な時間の保証ではありません。後続のProof of Workが積み上がるほど、履歴を置き換える期待費用が増すという、確率的・経済的な決済です。一方、BFT系プロトコルの明示的なファイナリティも、バリデータ鍵の侵害、集合の更新、実装のバグ、社会的な緊急フォークまで超えられるわけではありません。用途は「finalか否か」ではなく、どの失敗条件とどれだけの待ち時間を受け入れるかで設計します。

6実行層 — 何を全員で再計算するか

共有台帳が送金だけを検証するのか、汎用のプログラムまで実行するのかで、攻撃面と費用は大きく変わります。Bitcoin Scriptは、取引の出力を支出できる条件を表すための、制約された言語です。EthereumはYellow Paperで状態遷移とEVMを仕様化し、コントラクトが共有状態を更新する汎用の実行環境を作りました。

レプリカが同じ結果にたどり着くには、実行が決定論的でなければなりません。各ノードのローカル時計や乱数、外部のHTTP応答をそのまま読み込むと、結果は分岐します。資源の計量は無限ループや過大な計算・ストレージを抑えますが、その代わりに手数料市場、状態の肥大化、失敗する取引、利用者には予測しにくい実行結果という、新しい設計問題を生みます。

実行層 — 何を全員で再計算するかの比較表
実行範囲利点代償
固定された取引規則小さい検証面、予測しやすい資源量アプリケーションの表現力が限られる
汎用のオンチェーンVM組み合わせやすさ、共通の決済・状態契約のバグ、状態の肥大化、MEV、手数料の変動
オフチェーン実行+証明基盤層の負荷を減らし得る証明システム、シーケンサー、データ可用性、退出経路への前提
複数当事者のワークフロー既存組織の責任とプライバシーを組み込みやすいメンバーシップと運用の調整が必要

「code is law」は、技術的な安全性のモデルではありません。コードにはコンパイラ、クライアント実装、アップグレード用のプロキシ、管理者鍵、フロントエンド、オラクルがつながっており、利用者が意図した契約と、機械が実際に実行する規則は一致しないことがあります。仕様、実装、監査、権限、停止と復旧の経路は、一体として評価します。

7データ可用性 — ルートへの合意だけでは検証できない

ブロックヘッダーやステートルートに合意しても、そのルートを再計算するためのトランザクションデータが伏せられていれば、第三者は状態遷移を独立に検証できません。データ可用性とは、ブロックを検証するために必要なデータが参加者へ実際に提供されたという保証です。Ethereumの公式資料が区別するように、これは過去のデータをいつまでも取り出せるというデータ取得可能性とは別の性質です。

一枚岩のチェーンでは、フルノードがブロックデータをダウンロードして実行し、データの欠けたブロックを受理しません。ライトクライアント、rollup、モジュラー型の設計は、全データを各参加者が処理しないことで規模を伸ばします。その代わりに、可用性サンプリング、不正証明、妥当性証明、委員会、基盤層へのデータ公開といった別の保証を必要とします。実行が正しかったことを証明できても、利用者が自分の状態を復元して退出するためのデータまで手に入るとは限りません。

データ可用性 — ルートへの合意だけでは検証できないの比較表
問い代表的な仕組み残る前提
発行時に全データが利用可能か全量ダウンロード、サンプリング、委員会の証明ネットワーク、サンプリングの確率、委員会の誠実さ
状態遷移は正しいか再実行、不正証明、妥当性証明検証器の実装、異議申立ての期間、初期設定
数年後も取得できるかアーカイブノード、複製ストレージ、保存契約保存者が続くか、形式、費用
利用者が単独で退出できるかオンチェーンのデータ、状態の証明、退出口検閲、鍵、基盤層の容量

可用性の設計は、ストレージ費用と切り離せません。「すべてを永久にオンチェーンへ」は高価で、プライバシーや削除の要件とも衝突します。一方、安いオフチェーン保存は、保存者が撤退したときの復旧を弱めます。保持期間、アーカイブの責任、同期の方法、検証に必要な最小限のデータは、あらかじめ明文化すべきです。

8オラクルとブリッジ — 合意の外側から入る信頼

決定論的な契約は、現実の価格、天候、配送の完了、裁判の判断を、プロトコルだけで知ることはできません。オラクルは外部の情報源からデータを取得し、検証・集約したうえでチェーンへ伝える仕組みです。多数のバリデータが同じオラクル値に合意しても、その値が現実に正しいことまでは合意から導けません。これは「oracle problem」と呼ばれる境界です。

オラクルの設計では、情報源の多様性、報告者の独立性、更新の頻度、操作にかかる費用、異常値の扱い、停止時の代替手段、署名鍵、ガバナンスを調べます。複数のフィードを平均しても、同じ上流APIや同じ事業者に依存していれば、実質的な独立性は増えません。遅いが正確なデータと、速いが操作されやすいデータのトレードオフもあります。

ブリッジは、チェーンAの出来事をチェーンBで表すために、ライトクライアントによる検証、バリデータの署名、マルチシグ、楽観的な異議申立てなどを使います。移動先のトークンの安全性は、両チェーンの合意だけでなく、メッセージの検証、カストディ、アップグレード鍵、リレーヤー、フロントエンドまで含む新しい信頼の領域に依存します。

オラクルとブリッジ — 合意の外側から入る信頼の比較表
境界誤った前提実際に問うべきこと
オラクルオンチェーンだから入力もトラストレスだ誰が観測し、訂正し、停止できるか
ブリッジ強いチェーン同士ならブリッジも同じ強度だメッセージと資産を誰が検証・保管するか
ステーブル資産トークンを発行すれば裏付けも証明される準備資産、償還の権利、監査、発行者の権限
IoT入力機器の署名が現実の正しさを保証するセンサーの故障、鍵の侵害、設置環境

9ガバナンス — 仕様、実装、採用は別の層

プロトコルは自然法則ではなく、文書とソフトウェアと参加者の選択によって維持されます。旧BIP 2を置き換えたBIP 3やEIP-1は、改善提案を書き、議論するための手続きを定めます。ただし提案番号を得ることや著者の承認だけで、ネットワークの規則が変わるわけではありません。仕様、複数のクライアント実装、ノード運用者、ブロック生成者、ウォレット、取引所、そして利用者の採用が重なって、はじめて変更が効力を持ちます。

ソフトフォークは旧規則から見て有効な集合を狭める変更、ハードフォークは旧ノードが受理しない履歴を許し得る変更として説明できます。ただし互換性の分類だけでは、誰が決定したのか、反対する側が安全に残れるのか、資産の名前や市場インフラをどちらが引き継ぐのかは決まりません。ガバナンスは形式的な投票の有無だけでなく、リリースの権限、標準化の手続き、情報発信、資金提供にも宿ります。

ガバナンス — 仕様、実装、採用は別の層の比較表
統治面確認事項集中の兆候
仕様提案・レビュー・異議申立ての手続き非公開の仕様、短すぎる審査
実装独立したクライアント、再現できるビルド、リリース署名単一のコードベース・単一の保守者
運用誰がアップグレードし、誰が拒否できるか強制的な自動更新、ホスティングの集中
緊急権限停止、ロールバック、管理者鍵の範囲単独の鍵、所在不明の鍵保有者
経済開発とセキュリティを誰が負担するか単一の出資者への依存

変更できること自体が常に悪いわけではありません。バグ修正や暗号方式の移行には、アップグレードの経路が要ります。重要なのは、不変性をうたいながら隠れた管理者鍵を持つのではなく、変更の条件、時間の遅延、監査可能性、鍵の更新、権限の放棄、緊急時の責任を明示することです。

10許可制の台帳 — 識別情報を信頼境界に置く

許可制のブロックチェーンは、参加する組織、バリデータ、読み手、書き手を、識別情報のポリシーで制限します。Hyperledger Fabricでは、組織、peer、orderer、channel、ポリシー、MSPがネットワークの責任境界を構成します。公開参加型の資源競争を避けることで、既知の相手とのプライバシー、承認のワークフロー、規制上の責任、性能を設計しやすくなります。

その一方で、認証局、コンソーシアムの規約、失効の仕組み、ordering service、channelの管理者が、新しい信頼点になります。署名付きの複製履歴があれば、単一組織のデータベース管理者による無断の変更は見つけやすくなります。ただし加盟組織どうしが結託する場合や、正当な権限で誤った情報を入力する場合までは防げません。

許可制の台帳 — 識別情報を信頼境界に置くの比較表
条件許可制の台帳が適合し得る場合より単純な選択肢
複数組織が書き込む単独の管理者へ全面委任できず共同監査が要る共有データベース+監査ログ
識別情報・責任署名者と組織規則を追跡する必要があるPKI+署名文書のワークフロー
プライバシーchannelや限定共有が業務要件に合うアクセス制御付きのデータベース
障害モデル組織間の矛盾・一部の障害を扱う複製したSQL、合意サービス

「blockchain」という名称自体に価値を置かず、通常のデータベース、追記のみの透明性ログ、デジタル署名、BFTによる複製と比較します。すべての書き手が一社の指示に従い、同じ管理者がデータベースとバリデータを動かし、利用者が独立検証をしないのであれば、チェーン構造が増やす複雑さに見合う保証は小さいかもしれません。

11採用判断 — 技術名ではなく脅威モデルから始める

採用の前に、共有状態の所有者、書き手、バリデータ、読み手、監査者を、実名または役割で列挙します。次に、クラッシュ、ネットワークの分断、悪意ある署名、管理者の侵害、検閲、データの消失、鍵の紛失のうち、どれを扱うかを決めます。「中央管理者を信頼しない」が要件なら、誰をどの条件で信頼する設計に置き換えるのかまで答えなければなりません。

採用判断 — 技術名ではなく脅威モデルから始めるの比較表
判断軸最低限の質問計測・成果物
書き手互いに信頼しない主体がいくつ更新するか権限表、識別情報のライフサイクル
検証利用者は自分で何を再検証できるかノードの要件、証明、データの経路
ファイナリティいつ、どの条件で業務上の確定とするか確認数の方針、ロールバックの手順
容量ピーク時のスループット・遅延・状態の増加はどれほどかベンチマーク、手数料の上限、ストレージの予測
プライバシー誰から何を隠し、削除要求をどう扱うかデータの分類、鍵の管理、保持期間
ガバナンスアップグレード、停止、紛争、退出を誰が行うか権限図、タイムロック、退出計画
相互運用性オラクル、ブリッジ、カストディアンにどこまで依存するか信頼の棚卸し、障害訓練

一つの組織が正規の書き手で、高速な更新・検索・訂正を必要とするなら、通常のデータベースと署名付きの監査ログが適していることがあります。公開検証が必要な場合でも、透明性ログや内容アドレス方式のアーカイブで足りることがあります。複数の主体が共同で順序を決め、単独管理を避ける価値が複製・合意・鍵管理の費用を上回るとき、ブロックチェーンは候補になります。

試験導入では、取引の件数だけでなく、バリデータの停止、ネットワークの分断、鍵の更新、ソフトウェアの更新、誤入力の訂正、アーカイブの復元、参加者の離脱まで試します。平常時のデモよりも、権限とデータが失われたときの復旧が制度として実行できるかを確かめるほうが、本番の保証をよく表します。

12設計空間におけるビットコインの位置

ビットコインは、中央の識別情報発行者を置かずに、公開の参加者が電子現金の履歴を維持するという目的に対して、Proof of Work、UTXO、ハッシュで連結したブロック、ピアツーピアの伝播、難易度調整、発行と手数料による誘因を組み合わせました。フルノードは、ブロックの作業量だけでなく、取引とブロックが自らの合意規則を満たすかどうかを検証します。マイナーには、有効性を投票で上書きする権限はありません。

設計空間におけるビットコインの位置の比較表
設計軸ビットコインの主な選択得るものと代償
メンバーシップ公開参加、PoWで提案の重みを測る識別情報が不要/電力・ハードウェア・プールの経済
データモデルUTXO、全履歴から検証できる状態単純な所有の移転/全体状態の表現は制約的
実行制約されたScriptと合意による検証小さい実行面/汎用のオンチェーンアプリではない
ファイナリティ累積した作業量による確率的な決済明示的なバリデータが不要/待ち時間と巻き戻しのリスク
可用性検証するノードがブロックデータを取得・検証独立した検証/帯域・ストレージ・初期同期の費用
ガバナンスBIP、実装、ノードと経済主体の採用単独の変更者を置かない/調整は遅く社会的

ビットコインの設計は、許可制のサプライチェーン台帳や高頻度の汎用計算へ、そのまま移植できるひな型ではありません。同様に、別のチェーンが高速なファイナリティや豊かな実行環境を持つからといって、ビットコインと同じ公開検証、退出のしやすさ、通貨政策を備えることにはなりません。比較はTPSやブロック時間ではなく、目的と信頼前提を揃えて行います。

最も重要な教訓は、個々の部品よりも組み合わせの一貫性です。供給規則を検証するノード、Sybil耐性を担う作業量、履歴の選択、誘因、制約された実行、保守的な変更手続きが、いずれも同じ目的を向いています。ビットコインを分散システム史の終点ではなく、この設計空間のなかで深く統合された一点として捉えると、他方式との差を誇張も矮小化もせずに評価できます。

主な参照元

次に読む

サトシ・ナカモトとは約21分
共有

引用情報 / Citation

Title
ブロックチェーン設計論 — 台帳・状態・合意・実行・統治
Source
ビットコイン図書館 (bitcoin.ne.jp)
Canonical URL
https://bitcoin.ne.jp/learn/blockchain-design
Author
KK siiiiiixth
Topic
blockchain-design
Published
Updated
最終検証 / Last verified
Editorial policy
https://bitcoin.ne.jp/editorial-policy
About
https://bitcoin.ne.jp/about
License
コンテンツ利用条件

運営者が権利を有する記事本文・独自図解・公開データは、引用、要約、索引作成、検索、RAG、機械分析、AIモデルの学習に利用できます。読者に内容を提示する場合は、技術的に可能な範囲で「ビットコイン図書館」と該当するcanonical URLを示してください。