イミュータビリティとは:ブロックチェーンが検閲や改ざんに抵抗する仕組み

イミュータビリティとは:ブロックチェーンが検閲や改ざんに抵抗する仕組み

イミュータビリティ(不変性)とは、ブロックチェーンネットワークが持つ性質のひとつで、ブロックに保存された取引の共有記録である台帳が、後から変更することを非常に困難に設計されていることを指します。本稿における検閲耐性とは、これと関連しつつも別の性質であり、有効な取引がブロックに取り込まれるために特定の一者の承認を必要としないよう設計されているネットワークの性質を指します。

ブロックチェーンのイミュータビリティはどう機能するのか?

ブロックチェーンのイミュータビリティは、程度の問題であって絶対的な事実ではありません。「イミュータブル(immutable)」という言葉は「変更不可能」を意味しますが、人々が「イミュータブルな台帳」や「イミュータブルなブロックチェーン」という表現を使うのは、「変更することが非常に困難になるように設計されている」ことの略称としてです。ある標準化団体は、ブロックチェーンを「改ざんが検知可能(tamper-evident)かつ改ざんに耐性のある(tamper-resistant)デジタル台帳」と表現していますが、これは同じことをより慎重に言い換えたものです。

Bitcoinにおいて、ブロックチェーンのイミュータビリティはまず、ハッシュによるリンク構造に依存しています。ハッシュとは、ある関数がデータから計算する固定サイズの数値のことです。各ブロックヘッダー(ブロックの先頭にあるデータフィールド)は、直前のブロックヘッダーのハッシュを保存しています。

Bitcoinでは、変更されたブロックは可視化されるように設計されています。そのブロックのハッシュが変わることで、次のブロックに保存されているコピーと一致しなくなり、その不一致がそれ以降のすべてのブロックに伝播していきます。これにより台帳は「改ざんが検知可能」になります。つまり変更が発覚するようになっているのであって、変更そのものを防いでいるわけではありません。

以下の表はBitcoinのブロックデータではなく、プレーンテキストを用いた例示です。1文字だけ異なる2つの入力に対して、標準化されたハッシュ関数であるSHA-256を実行しています。

もしあるブロックのハッシュがabcの値からabdの値に変化していたとしたら、そのブロックは次のブロックが保存しているハッシュと一致しなくなります。この不一致こそが、変更を可視化する仕組みです。

入力

SHA-256ハッシュ値

1行目と異なるビット数(256ビット中)

abc

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

該当なし

abd

a52d159f262b2c6ddb724a61840befc36eb30c88877a4030b65cbe86298449c9

122

Bitcoinでは、プルーフ・オブ・ワーク(PoW)がこのハッシュリンクにコストを追加します。プルーフ・オブ・ワークとは、ブロックヘッダーのハッシュを数値として読んだとき、ネットワークのルールが定める「ターゲット」という有効なハッシュの上限値以下である場合にのみ、そのブロックが有効と認められるというルールです。過去のブロックを変更するには、そのブロック以降のすべてのブロックについて作業をやり直す必要があり、ブロックを変更するために必要な作業量は、上に積み重なるブロックが増えるごとに大きくなっていきます。プルーフ・オブ・ワークは、履歴の書き換えを不可能にするのではなく、コストを非常に高くすることを目的として設計されています。

Bitcoinでは、イミュータビリティはルールを自ら検証するノードにも依存しています。ノードとはBitcoinネットワークに接続するコンピューターのことです。フルノードとは、コンセンサスルール(ブロックや取引がネットワーク全体にとって有効かどうかを決めるルール)に照らして各ブロックを自ら検証するノードのことです。フルノードは、自らが検証したブロックのみで構成される独自のチェーンを保持するため、作業量の裏付けがあったとしても、ルールに反するブロックは拒否されるように設計されています。

検閲耐性はどう機能するのか?

本稿における検閲耐性とは、有効な取引がブロックに取り込まれるために特定の一者の承認を必要としないようネットワークが設計されていることを指し、そのように設計されたネットワークは「検閲耐性がある」と呼ばれます。取引の検閲とは、その逆のケース、すなわち有効な取引がブロックから排除されることを指します。

分散化とは、検閲耐性のある設計を支える考え方です。つまり、管理や検証の権限が単一の中央機関に集中するのではなく、多数の参加者に分散しているということです。Bitcoinでは、各フルノードがコンセンサスルールに照らして自らブロックを検証するため、その検証作業は単一の中央機関ではなく多数のノードによって行われます。

Bitcoinでは、検閲耐性はまず、オープンなピアツーピア・ネットワークに依存しています。ピアツーピアとは、参加者が単一の中央サーバーを介さず、互いに直接接続し合うことを意味します。パーミッションレス(許可不要)なシステムとは、すべての利用者の権限が平等であり、管理者やコンソーシアムがそれを設定しないシステムのことで、Bitcoinは誰が参加できるかを管理者やコンソーシアムが決めない形で設計されています。

Bitcoinでは、検閲耐性は同じルールに基づいて取引を中継・検証するノードにも依存しています。ノードは有効な取引を、自らが接続しているピア(他のノード)へと転送します。各ノードは、受け入れた未確認の取引を自身の「メンプール」、すなわちまだブロックに取り込まれていない取引を保持する待機プールの中で管理します。

Bitcoinでは、検閲耐性はさらに、それぞれが自らのブロックに含める有効な取引を選ぶマイニング・オペレーターにも依存しています。マイニング・オペレーターとは、Bitcoinをマイニングするハードウェア装置であるビットコインマイナーを稼働させることでブロックチェーンにブロックを追加する個人または企業のことで、コンセンサスルール上有効な取引であればどれでも含めることができます。プロトコルレベルでは、取引の手数料はそれを取り込んだマイニング・オペレーターに支払われます。

Bitcoinでは、あるマイニング・オペレーターが取り込まなかった取引であっても、それが置き換えられたり確定済みの取引と矛盾したりしていない限り、別のオペレーターによって後のブロックに取り込まれる可能性があります。ハッシュレート(ビットコインマイナーが計算する秒間ハッシュ数の合計)の大半を握る当事者であれば、自らがマイニングするブロックの中で有効な取引が確定するのを妨げることができますが、それでもその取引自体は送信可能であり、未確認状態として表示され続けます。

ブロックチェーンは本当にイミュータブルなのか? 両方の性質が限界に達する地点

ブロックチェーンのイミュータビリティは程度の問題です。Bitcoinにおいて、記録された履歴は変更が「不可能」なのではなく、「非常に困難」になるよう設計されています。

Bitcoinでは、イミュータビリティはハッシュレートを誰が支配しているかに左右されます。ハッシュレートとは、ビットコインマイナーが計算する秒間ハッシュ数の合計です。ハッシュレートの大半を握る当事者は、競合するチェーンを構築することで最近の履歴を書き換えることができ、自らが行った最近の支払いを取り消すことも可能です。

リオーグ(reorganization、略してreorg)とは、あるノードがより多くの作業量を持つ競合チェーンへと切り替える現象であり、それによって取り残されたブロックは「ステイル(stale)」になります。つまり、そのノードの最良チェーンの一部ではなくなるということです。Bitcoinでは、確認数(取引の上に積み重なったブロックの数)が多いほど取引の取り消しは難しくなりますが、どれだけ確認数が多くても取り消しの可能性がゼロになるわけではありません。この仕組みについては「51%攻撃と二重支払い」の項目で扱っています。

Bitcoinでは、イミュータビリティはルールが変わらずに維持されることにも依存しています。ソフトフォークはコンセンサスルールを厳格化するものであり、それまで有効だったブロックが無効になることがあります。アップグレードしていないノードは、ハッシュレートの大半が新ルールを強制している限り、自らはそのルールを強制しなくても、同じブロックを受け入れ続けます。ハードフォークは、変更後にアップグレードしていないノードが新ルールの下で作られたブロックを検証できなくなるような変更であり、チェーンが2つに分裂することもあります。

Bitcoinでは、イミュータビリティは各ノードが実行しているソフトウェアにも依存しています。フルノード(各ブロックを自ら検証するノード)はコンセンサスルールに照らしてブロックを検証しますが、運営者は自らのソフトウェアを設定して特定のブロックを拒否することもできます。

Bitcoinでは、検閲耐性は誰が取引を選ぶかにも依存しています。マイニングプールとは多数のビットコインマイナーのハッシュレートを束ねるサービスであり、マイニング・オペレーターまたはプールが自らのブロックに含める取引を選びます。Stratum V1は、ビットコインマイナーとプールが作業をやり取りする際に用いる合意されたメッセージの集合、すなわちプロトコルの旧バージョンであり、この下ではプールがブロックに含める取引を決定します。Stratum V2のジョブ宣言(job declaration)は、取引を選ぶ主体を変えうる設計のひとつです。2026年10月時点で、その仕様はビットコインマイナーまたはそのソフトウェアがブロックテンプレート(次のブロックに提案される取引のリスト)を構築し、それをプールに宣言できる仕組みを記述しています。プールはそれを拒否することもでき、実際の対応状況はプールとビットコインマイナーに組み込まれたソフトウェアに依存します。

Bitcoinでは、検閲耐性はノードが取引をどう扱うかにも依存しています。ノードの中継ポリシー(relay policy)とは、そのノードだけが適用する追加ルールの集合であり、ローカルに設定可能なものです。そのためノードは、コンセンサスルール上は有効な取引であっても拒否することができ、「ダスト」はその一例です。ダストとは、取引が受取人に割り当てる金額(アウトプット)が非常に小さく、それを使うための手数料がその価値を上回ってしまうようなもののことです。

それぞれの性質は何に依存し、何によって限界が生じるのか?

性質

意味するもの

何に依存するか

何によって限界が生じるか

ブロックチェーンのイミュータビリティ

記録されたブロックの履歴は、後から変更することが非常に困難になるよう設計されている

Bitcoinの場合:ブロック間のハッシュリンク、ブロックが追加されるたびに増大するプルーフ・オブ・ワークのコスト、ルールに反するブロックを拒否するよう設計されたフルノード

ハッシュレートの大半を握る当事者は最近のブロックを改変できる可能性がある。フォークによってルールが変わることがある。運営者はノードを設定して特定のブロックを拒否できる

検閲耐性

本稿における意味:有効な取引がブロックに取り込まれるために、特定の一者の承認を必要としないようネットワークが設計されていること

Bitcoinの場合:オープンなピアツーピア・ネットワーク、同じルールに基づいて中継・検証を行うノード群、それぞれが自らのブロックに含める有効な取引を選ぶマイニング・オペレーター

マイニング・オペレーターやプールが自らのブロックに含める取引を選ぶ。ノードの中継ポリシーが有効な取引を拒否することがある。ハッシュレートの大半を握る当事者は取引を排除できる可能性がある

イミュータビリティと検閲耐性が意味しないこと

イミュータビリティは、ある取引が合法であることを意味するものではなく、誰も取引を取り消せないことを保証するものでもありません。未確認の取引は、置き換えられたり破棄されたりすることがあります。

イミュータビリティは、ネットワークが攻撃されないことや、そこに記録されたすべての内容が真実であることを意味するものでもありません。ハッシュリンクが示すのはデータが変更されたという事実であり、誰が変更したかではありません。なぜなら、誰が取引を行ったかを証明するのはデジタル署名(鍵の保持者がその取引を承認したことを示す暗号学的な証明)の役割だからです。51%攻撃、すなわちハッシュレートの大半を握る当事者がネットワークの従うチェーンを変えようとする試みは、ウォレットやデジタル署名を侵害する行為とはまったく別の事象であり、ノードが強制するルールは、そのような当事者が行い得ることを制限するように設計されています。

イミュータビリティも検閲耐性も、いかなるネットワークの将来についての保証ではありません。本稿は2026年10月時点のBitcoinの設計について説明したものです。

2025年11月27日

GoMiningニュース

興味があるかもしれない: