Ethereum with iO is God Protocols
category
Cryptography
date
Apr 2, 2025
slug
ethereum-with-io-is-god-protocols
type
Post
lang
ja
status
Published
この記事はSora Suegamiさんにレビューしていただきました。ありがとうございます。
Ethereumは、実用的に普及した、チューリング完全性を備えた初めてのブロックチェーンである [1]。また、God Protocolは、1997年にNick Szabo(ニック・サボ)が提唱した「第三者を信頼せずにあらゆる取引や契約を実行できる理想のプロトコル」である [2]。
本投稿では、God Protocolsの概念とそれが満たすべき特性を概観した上で、Ethereumがこの理想的プロトコルにどこまで迫っているかを考察する。特に現在Ethereumに不足しているプライバシー特性に注目し、それを解決しうる暗号技術であるiO(Indistinguishability obfuscation、識別不能難読化)を探索する。
1. God Protocols
1.1 God Protocolsという概念とSzaboの背景
God Protocolsという概念は、1997年にNick Szaboが提唱したものである [2]。Szaboは、全ての当事者が信頼できる第三者 (trusted third party) の役割を数学的に代替するプロトコルを「God Protocols」と定義した。ここでいう「God」とは、任意の演算を正確に実行でき、公正にふるまい、かつ利用者のプライバシーを保護する理想的存在の比喩である。
God Protocolsは、あらゆる当事者にとって公平かつ信頼を置ける存在として、参加者全員の入力を受け取り、正確に計算し、必要な出力のみを返す。このとき、参加者は入力と出力から得られる情報以上に他の当事者の入力について知ることはないという特徴を持つ。これは厳密な仕様や実装を指すのではなく、ある種の理想形態を示唆する抽象的な概念として提示されている。
1.2 God Protocolsの特性
God Protocolsは、当事者同士が第三者を信頼しなくても契約や取引を公平に実行できる仕組みとして考案されている。そのような計算基盤が満たすべき特性がこれら6つに集約可能であるということを提案する。
- パーミッションレス性: 誰でも参加可能 参加者を限定する特定の管理者が存在せず、任意の個人や組織が自由に参加・利用可能である。これは外部からの強制的な排除や許可制の障壁を排し、オープンな利用を可能にする性質である。原文では明示的に述べられていないが、「全員の味方である神」という表現からも読み取ることができる。このパーミッションレス性は更に3つに分類することができる。 1) ノード参加のパーミッションレス性: 誰もがネットワークにノードとして参加可能である。ただし、参加者の過半数以上が正直な主体であることを仮定する。 2) 開発のパーミッションレス性: 任意のプログラムを誰もが実装、デプロイ可能である。 3) 利用のパーミッションレス性: 任意のプログラムを誰もが書き込み、読み込み可能である。
- チューリング完全性: 計算可能な全ての問題を解ける 与えられた入力に対して任意の計算を記述し実行できる能力を備える。スマートコントラクトなどプログラミング言語に相当する仕組みが含まれる場合、チューリング完全性を満たすことで、多様なロジックを実装できる。ここで、チューリング完全性はデータの保存性も担保できることを強調したい。この特性はデータを保存することが可能であることも含む。つまり、God Protocolsはステートマシンである。
- 一貫性: グローバルステートが一貫している ネットワーク全体が正しい順序に基づき、同一の計算結果(グローバルステート)を共有し続ける性質である。一時的にフォークが発生しても、最終的には一意の状態に収束していく。SMR(State Machine Replication)問題における一貫性、CAP定理・PACELC定理における一貫性はここでの一貫性より狭義の強い特性である [3,4,5]。
- ライブネス: 常に計算結果を返す ネットワークが停止せず、外部からの妨害や障害に対しても継続的に稼働する性質を意味する。仮に一部のノードが機能停止に陥っても、全体としての動作が維持されることが重要である。これはSMR問題におけるライブネスと同じ概念を示す [3]。一方、CAP定理・PACELC定理における可用性はここにおけるライブネスより広義のものである [4,5]。
- 検閲耐性: 事前に情報を得ることで利益を得られない ネットワーク参加者が特定の取引や契約を意図的に改変しようとしても、その試みが困難または無意味となる仕組みを備える。原文における公平性(fairness)であり、「誰も先に学習することで有利になることがない」という特性を指す。たとえば、ある主体が他者の取引を先に知り、自分に都合よく並び替えるなどの操作を行っても、その利益が大きくならないような仕組みが必要となる。
- プライバシー: 他者の入力について自分が得るべき以上の情報を得られない 取引や契約の実行に必要な情報のみが公開され、それ以上の機微情報が不当に漏れないことを志向する。原文でも最も強調されている特性である。例えばオークションや投票などが分かりやすい例であるが、プライバシーが保護されなければいずれかのプレイヤーが不利益を被るケースが存在する。プライバシー保護機能はGod Protocolsにおいて欠かせない非常に重要な要素といえる。
強調したい点として、原文では制約として公平性(検閲耐性)・障害耐性・プライバシーにはトレードオフが存在する旨が言及されている。その他、分散システム領域のFLP不可能性定理やCAP定理・PACELC定理などによって、超えることができない範囲の存在も数学的に証明されている [6,7,8]。また、Vitalik Buterinによる「ブロックチェーンのトリレンマ」も提唱されているが、その存在はまだ証明されていない [9]。これは、PoWにおいては数学的に定式化されている [10]。
なお、スケーラビリティの観点は原文では制約として言及されていたため、ここでは含めなかった。実用を想定するならレイテンシーが可能な限り低いことが望ましいが、スケーラビリティを低く保ちつつ上記の特性を完全に満たすのは非常に困難である。いずれにせよ、これら6つを同時に満たす現実的な計算基盤はまだ存在していないと考えられる。
ノード参加のパーミッションレス性という特性から、God Protocolsは必然的に分散システムであることが要請される。また、ノード参加過半数が正直であるという仮定を置いた。その前提で他の性質を全て満たすことはつまり、God Protocolsはビザンチン障害耐性(BFT)を必然的に満たすプロトコルであることが導かれる。BFTとは、ネットワーク上の一部ノードが悪意を持って行動する、もしくは誤作動や通信障害を起こす状況下でも、正当なノード同士が合意を形成し続けられる性質を指す [11]。BFTは最もレベルが高いものであり、多くの分散システムはBFTを満たさない。一方、多くの主要なパブリックブロックチェーンはこの性質を満たす。
上記で述べたライブネスは、1985年にAlpernとSchneiderによって定義されたライブネスとは厳密には異なる(ここでは便宜的に抽象ライブネスと呼ぶ) [12]。しばしば非形式的に、抽象ライブネスは「最終的には何かいいことが生じる」ことと定義される。上記の特性においては、最終的にグローバルステートが収束することやライブネスが抽象ライブネスに該当する。
特定の要素を部分的に満たすプロトコルは多数ある。たとえばパブリッククラウドサービスは、任意のプログラムやデータベースをデプロイ可能(チューリング完全性)である。ライブネスや一貫性も非常に高い水準である。しかしクラウド事業者に依存するため、最終的には企業をトラストしなければならず、パーミッションレス性・検閲耐性・プライバシーの要件を最高レベルで満たすことは極めて困難である。
このように、全ての特性を満たすことは非常に困難である。しかしもし実現できれば、仲介者や中央管理主体に依存する必要がなくなり、あらゆる「契約」(オークション、取引所、投票など)の執行がトラストレスかつ公正に行える可能性が広がる。Szaboが着目したのは、暗号技術や経済理論によってそのような理想的信頼のメカニズムが技術的に達成される可能性であり、当時は実用までの道のりが遠いと見られていた。しかし分散型台帳技術や暗号技術が進展した結果、その一部はすでに実装され始めていると言える。
2. God Protocolsの観点からみるEthereum
2.1 God Protocolsが満たすべき特性とEthereum
Ethereumは、チューリング完全性を満たすVMを持った初めてのブロックチェーンである [1]。以下では、前章で挙げた6つの特性についてEthereumがどの程度対応しているかを概観する。
- パーミッションレス性 Ethereumは誰でもネットワークに接続し、取引を提出し、ノードを立ち上げ、あるいはスマートコントラクトをデプロイできる公開型のブロックチェーンである。参加に際して中央管理者の許可を必要としないため、この点でGod Protocolsが想定する開かれたアクセスの要件を満たしていると考えられる。バリデータとして参加する場合には32ETHというハードルはあるが、特定主体の許可を要するわけではない。また、参加しているバリデータの過半数が正直であるという仮定を置いており、ステーキングによる経済的セキュリティで51%攻撃などの攻撃に対策している [13]。
- チューリング完全性 Ethereumは仮想マシン(Ethereum Virtual Machine, EVM)を備え、Solidityなどの高水準言語で記述されたコードをチューリング完全に実行できる。任意の複雑なロジックを実装可能であるため、God Protocolsの「計算可能な全ての問題を解ける」要件に近い柔軟性を持つといえる。また、チューリング完全における無限ループ問題の対策として、ガス代の上限という概念を導入し対処した。また、Ethereumはブロックごとにグローバルステートを更新し、トランザクションやコントラクトの状態を記録する。なお、Bitcoinは複雑なロジックやループを表現できない、非チューリング完全なパブリックブロックチェーンである。
- 一貫性 Ethereumでは、PoSベースのコンセンサスアルゴリズムであるGasper(Casper FFGとLMD GHOST)によって正しくブロックが提案・最終化される [14]。その限りにおいて全ノードが同一のステートを共有する。一時的にフォークが生じることはあっても、最終的には一意のチェーンに収束し、全ノードが同じ状態を認識できる。
- ライブネス Ethereumは世界各地に分散したノードによって運用されているため、一部ノードが停止してもネットワーク全体が完全に機能不全に陥ることは起こらない。DoS攻撃などの障害を受けても、システム全体として稼働を継続し、最終的に正当なブロックチェーンを伸ばし続けることが可能である。
- 検閲耐性 Ethereumは中央集権的システムよりも検閲が困難で、取引の改竄や抑制が非常に難しい。ユーザーはECDSAによる署名でトランザクションを発行するため、このトランザクションの中身を第三者が書き換えることは不可能である。一方で、Maximal Extractable Value(最大抽出可能価値, MEV)の問題にみられるように、プロポーザーやビルダー、サーチャーによるトランザクション順序の操作は残存する。これはトランザクションを恣意的にブロックに含めないことも含む。これはサーチャーやビルダーが先に取引内容を学習し有利になる構造でもあるため、「完全な公平性」を実現できているとは言いがたい。EIP-7805などのInclusion Listの提案がこの課題の緩和を目指している [15]。
- プライバシー Ethereumが現時点で十分に達成できていないのがプライバシー特性である。トランザクションデータやコントラクトの状態が公開される仕組み上、プライベート取引や機密情報の扱いが基本的に困難となる。プライバシー機能を備えたLayer2や暗号技術の導入が一部進められているが、まだ限定的なアプリケーションにとどまっているのが現状である。
以上を総括すると、Ethereumはパーミッションレス性、チューリング完全性(ステートマシン)、一貫性、ライブネス、検閲耐性を相当に高い水準で満たしている。また、上記から自然に導かれるBFTという性質も備えている。しかしプライバシーについては依然として課題が残っている。これまでにもプライバシー強化を目指すプロジェクトは存在するものの、いずれも広範囲かつ汎用的に機能する段階には至っていない。
2.2 Ethereumが抱えるプライバシー課題
Ethereumは透明性やトレーサビリティを重視する設計思想のため、ブロックチェーン上の情報が基本的に公開される。検証性やオープンなコミュニティ形成といった利点は大きいが、個人や組織の機微情報を完全に秘匿する用途には向いていない。一例を挙げると、あるウォレットアドレスがどのDeFiプロトコルでどれだけ資産運用してきたか、他にどのアドレスとの取引履歴があるかといった情報が、誰でも簡単に閲覧できてしまう。
さらに、コントラクトのコードや実行ロジックが公開されるため、用途によっては悪意ある解析を受けるリスクも考えられる。プライバシー特化のLayer2などが提案されてはいるが、汎用性の面で課題が残っている。その壁を突破する可能性のある最新暗号技術が、Indistinguishability Obfuscation(iO)である。
3. Indistinguishability Obfuscation (iO)
Indistinguishability Obfuscation(iO, 識別不能難読化)とは、「同一の入出力である複数の回路(プログラム)を難読化した際、外部からそれらの難読化結果を区別できない」ことを目指す暗号技術である [16, 17]。入出力が同じ2つのプログラム と があった際に、難読化を施すと判別不可能となる。言い換えると、そのような2つの回路があったときに攻撃者は多項式時間以内に判別することができない。
この難読化前後におけるプログラムは、任意の入力に対して同じ出力を返す。
この性質が満たされた時に、我々はプログラムに秘密鍵などの秘匿情報をハードコーディングすることが可能となる。なぜならば、秘匿情報を含んだプログラムでもiOによる難読化によってその値が流出することがないからである。プログラムの内部実装が全て隠された状態で、任意の計算を実行する「暗号化プログラム」を構築可能となる。
単純な例として、 がハードコードされた秘密鍵と同じ値を入力した際に1を、そうでない時に0を返すプログラム、 が常に0を返すプログラムを考える。この例はiOの安全性定義を満たさない。なぜなら、秘密鍵を入力としたときの出力が と で異なるからである。これを満たすには、任意の入力に対して全て同じ出力を返さなければならない。iOの安全性定義を満たしながらプログラムを実装する際はこの点を留意する必要がある。
それまでにも暗号学的難読化のアイデアはあったが、2001年Barakらによって初めてiOが定義された [16]。iOは、プログラムの入出力仕様は保持されつつその内部構造を秘匿するという点で、理想とされるブラックボックス難読化に最も近い性質を持つとされる。理想的なブラックボックス難読化よりも条件を緩和したものとして提案された。
この理想的ブラックボックス難読化をIdeal obfuscationという。2001年Barakらによって、Ideal obfuscationが存在しないことも示された。しかし2023年、ハッシュ関数を擬似乱数オラクルモデルであるという仮定を置くとIdeal obfuscationを構成可能であることが証明された [18]。
iOの具体的な構成として、2013年に提案されたものは多重線形写像を用いたものであったが、これは後にベースとなる安全性の仮定が破られてしまった [19]。2020年Jainらによって、初めて標準的な暗号学的仮定を元にした構成が提案され、iOの構成が現実的なものに一歩近づいた [17]。
ここで特筆すべきは、iOが「ほぼあらゆる暗号プリミティブを実現可能である」と期待されている点である。たとえば、公開鍵暗号、署名はもちろん、zkSNARKsやFully Homomorphic Encryption(FHE, 完全準同型暗号)などの高度な暗号技術もiOによって理論的に構築できることが知られている [20,21]。これは、難読化の性質を利用して任意の機能を安全にプログラム内部へ組み込み、外部からは秘匿された形で実行できるようになるためである。こうした汎用性の高さから、iOはしばしば「現代暗号の聖杯」と呼ばれ、その安全性と実装可能性に関する研究がいくつか進められている。
4. God Protocolsの観点からみるEthereum with iO
4.1. Ethereum with iO
前章で述べたとおり、EthereumはGod Protocolsが満たすべき特性の多くを高水準で備えている。具体的には、パーミッションレス性、チューリング完全性(ステートマシン)、一貫性、ライブネス、検閲耐性である。BFTも同様に満たす。しかしプライバシーだけは非常に限定的であることも述べた。一方、iOはプログラム自体を難読化し、内部の秘匿情報やロジックを外部から判別不能にする強力な暗号プリミティブである。
もしEthereumにiOを搭載した仕組みを構築できれば、現在公然と公開されるスマートコントラクトの内部ロジックや機密情報を秘匿化しつつ、必要な入出力の検証性は保持するという、「トラストレスかつプライバシーが保証された計算基盤」に大幅に近づく可能性がある。
たとえば、ある利用者が友人に送金するときに、送金量やウォレット残高などの機微情報を第三者に知られずに処理することが実現されるかもしれない。これは既存の銀行システムでは中央エンティティにより保証されているが、ブロックチェーン上で同様の機能を「第三者を信頼せずにあらゆる取引や契約を実行できる理想のプロトコル」で実現するのは非常に難易度が高い。しかし、iOによって秘密鍵がハードコーディングされたプログラムを、秘匿された状態で安全にオンチェーンにデプロイできる道などが開ければ、プライバシー特性を大きく前進させることになるだろう。
4.2. 更なる応用と課題
EthereumにiOを搭載することで実現可能となる特性の一つとして、シビル攻撃耐性が挙げられる。これはGod Protocolsに求められる特性には含まれていないものの、既存ブロックチェーンにおいては非常に重要な観点となっている。一般的に、一人につき一つのアカウントしか保有できず、同一人物が複数アカウントを操作しないという保証を得るのは困難であるが、もしiOを利用して生体情報や個人と密接に関連する情報を秘匿しつつ、本人確認が可能な仕組みを構築できれば、Proof of Personhoodのような概念が実現できるかもしれない。
なお、PoWの原論文は1992年に発表されたスパムメール対策を目的としたものであり、シビル攻撃は古典的かつ根深い問題とされている [22]。DIDを実現するプロジェクトなど、シビル攻撃に対抗するためのさまざまなアプローチが試みられているが、未だ十分な解決には至っていない。iOを導入したEthereumはこの問題を根本的に解決できる可能性がある。
しかし、現時点ではiOの実現可能性は程遠く、いくつかの新たな構成方法の論文が提案され、実装も進められているものの、その成熟度や安全性には疑問が残る。iOにおいてセキュリティの仮定は重要なトレードオフの一つであり、エキゾチックな仮定を用いた構成も存在するが仮定が破られる可能性もある [23]。これらの点から、iO技術をEthereumに組み込む試みは、将来的な分散型計算基盤の発展に大きな可能性をもたらす一方で、技術的なハードルや実用化までの検証が依然として重要な課題であるといえる。今後この領域における更なる研究が期待される。
5. 今後の展望
本投稿では、God Protocolsの特性が6つに集約できること、そしてEthereumにiOを組み合わせることでGod Protocolsが実現可能になるという2点を提示した。現状、iOは現時点で実用レベルには程遠いが、プライバシー特性を担保する上で極めて重要な暗号プリミティブであり、今後さらなる研究が期待される。
こうした応用の鍵となるiOや関連する暗号技術は、現時点ではまだ未成熟であり、実用化に向けては多くの技術的問題が残されている。だからこそ、このような技術がどのような社会問題に接続されているかを特定し、その影響を言語化しておくことが実用化に向けて重要である。そのため、我々はEthereum with iOが実現した際に解決可能となる問題を明確化、体系化することを目指して研究を進めていきたい。
その軸となるのは、Nick Szaboが目指した、より公正で自由な社会的基盤を築くという意思である。
参考文献
- Ethereum: A Secure Decentralised Generalised Transaction Ledger. Gabin Wood. (2014)
- The God Protocols. Nick Szabo. (1997) https://nakamotoinstitute.org/library/the-god-protocols/
- Foundations of Blockchains. Tim Roughgarden. (2022)
- Towards Robust Distributed Systems. Eric Brewer. (2000)
- Consistency Tradeoffs in Modern Distributed Database System Design. Daniel Abadi. (2010)
- Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services. Seth Gilbert, Nancy Lynch. (2002)
- Impossibility of distributed consensus with one faulty process. Michael Fischer, Nancy Lynch, Mike Paterson. (1985)
- Proving PACELC. Wojciech Golab. (2018)
- Vitalik’s blockchain trilemma
- A Formulation of the Trilemma in Proof of Work Blockchain. Taishi Nakai, Akira Sakurai, Shiori Hironaka, Kazuyuki Shudo. (2024)
- The Byzantine Generals Problem. Leslie Lamport, Robert Shostak, Marshall Pease. (1982)
- Defining Liveness. Bowen Alpern, Fred Schneider. (1985)
- Ethereum proof-of-stake attack and defense. Ethereum.org. (2025) https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/attack-and-defense
- Combining GHOST and Casper. Vitalik Buterin, Diego Hernandez, Thor Kamphefner, Khiem Pham, Zhi Qiao, Danny Ryan, Juhyeok Sin, Ying Wang, Yan X Zhang. (2020)
- EIP-7805: Fork-choice enforced Inclusion Lists (FOCIL). Thomas Thiery, Francesco D'Amato, Julian Ma, Barnabé Monnot, Terence Tsao, Jacob Kaufmann, Jihoon Song. (2024) https://eips.ethereum.org/EIPS/eip-7805
- On the (Im)possibility of Obfuscating Programs. Boaz Barak, Oded Goldreich, Rusell Impagliazzo, Steven Rudich, Amit Sahai, Salil Vadhan, Ke Yang. (2001)
- Indistinguishability Obfuscation from Well-Founded Assumptions. Aayush Jain, Huijia Lin, Amit Sahai. (2020)
- The Pseudorandom Oracle Model and Ideal Obfuscation. Aayush Jain, Huijia Lin, Ji Luo, Daniel Wichs. (2023)
- Candidate Indistinguishability Obfuscation and Functional Encryption for all circuits. Sanjam Garg, Craig Gentry, Shai Halevi, Mariana Raykova, Amit Sahai, Brent Waters. (2013)
- Obfuqscation of Probabilistic Circuits and Applications. Ran Canetti, Huijia Lin, Stefano Tessaro, Vinod Vaikuntanathan. (2014)
- Possible futures of the Ethereum protocol, part 6: The Splurge. Vitalik Buterin. (2024) https://vitalik.eth.limo/general/2024/10/29/futures6.html
- Obfuscation from Lattice-Based Equivocal Assumption. Russell W. F. Lai. (2024)
- Pricing via Processing or Combatting Junk Mail. Cynthia Dwork, Moni Naor. (1992)