法律とコードの衝突は、哲学者の机上の空論ではない。法廷で、運営フォーラムで、スマートコントラクトのやり取りの中で、日々現実に起きている衝突である。スマートコントラクトがプログラム通りに動いたが、その結果が法律に違反していたら、どちらが優先されるのか。裁判所がブロックチェーン上で「確定済み」の取引の取り消しを命じたら、いったい誰がそれを実行するのか。この問いの根底には、まったく異なる前提に立つ二つの権威の体系がぶつかり合う構図がある。
二つの異なるルールの体系
法制度とブロックチェーンは、どちらも「人間のふるまいを律する」と主張するが、そのやり方はまるで違う。
法律は人間の解釈、制度による執行、そして裁量の余地で成り立っている。裁判官は紛争を裁く際に、文脈、意図、公平さ、バランスを考慮できる。判決は控訴や法改正によって覆すこともできる。つまり法は「やり直しが効く」世界である。
一方、ブロックチェーンのプロトコルは確定的なコード実行と数学的検証で動き、裁量の入る余地がない。スマートコントラクトは文脈も意図も考慮しない。条件が満たされれば、結果が公正かどうか、合法かどうかに関係なく、機械的に実行される。しかも、その結果は原則として巻き戻せない。取引が確定したら、それで終わりだ。
この二つの体系が緊張関係にあるのは、どちらも「自分こそが最終的な権威だ」と考えているからである。法制度は国境内のあらゆる活動に対する管轄権を主張する。スマートコントラクトを介した活動も例外ではない。プロトコル側は、ルール通りに実行された取引はそれ自体が最終結論であり、外部の法的判断は関係ないと主張する。両者がぶつかったとき、実際にどちらが力を発揮できるかは、ケースバイケースで決まる。
「コードは法律だ」の限界
初期の暗号資産コミュニティは「Code is Law(コードこそが法律だ)」という思想を受け入れた。スマートコントラクトの実行結果こそが、参加者の権利と義務に関する最終的な答えであるべき、という考え方である。
この思想が最も劇的に試されたのは、2016年のDAO事件だった。攻撃者がスマートコントラクトの設計上の隙をつき、約6,000万ドル相当のETHを引き出した。厳密に言えば、攻撃者の行為はコントラクトのコードに反していなかった。再帰的な呼び出し機能はデプロイされたコードの一部であり、開発者が想定しなかった使い方をしただけだ。「Code is Law」の論理に従えば、攻撃者は何も悪いことをしていないことになる。
しかしEthereumコミュニティは、攻撃者の取引を無効にするハードフォーク(ブロックチェーンの分岐による巻き戻し)を実施した。この判断は事実上「Code is Law」を否定し、「コードが意図していたこと」についての社会的な合意を、コードの実行結果よりも上位に置いた。この決定はいまなお議論の的であり、「社会的な合意さえあればプロトコルの結果を覆せる」という前例を作った。
DAO事件以降も、「Code is Law」の立場はたびたび揺らいでいる。コードのバグや設計上の穴が悪用される事件が後を絶たないからだ。「コードが法律だ」と言い切るなら、あらゆる脆弱性の悪用は「合法的な資金移動」になってしまう。理屈としては一貫しているが、道義的にも実務的にも受け入れがたい。今日、この主張をそのまま支持する関係者はほとんどいない。
法とコードがせめぎ合う現場
法制度は、ブロックチェーン上の活動に対して権威を及ぼすための手段を着々と整えてきた。たとえば、米商品先物取引委員会(CFTC)がOoki DAOに対して行った執行措置のように、特定可能なプロトコル開発者や財団の代表に命令を出す方法がある。Tornado Cash(暗号資産の匿名化ツール)に対する米財務省の制裁のように、インフラ事業者にアクセス制限を強制する方法もある。法定通貨と暗号資産の間の出入口を規制することで、重要なボトルネックを押さえる方法もある。さらに、利用規約という従来型の契約を通じて、裁判所に紛争の管轄権を与えるやり方もある。
一方で、プロトコル側にも法的な権威に対抗する力がある。管理者鍵なしでデプロイされた変更不可能なコントラクトは、どんな法的命令でも止められない。匿名での参加は、執行対象者の特定を困難にする。複数の国にまたがって運営を構造化すれば、特定の法域の規制をかわすこともできる。そして十分に分散されたプロトコルは、特定のノードやサービスが法的措置を受けても存続する。
生まれつつある「混合」の現実
法律とコードの衝突は、どちらか一方の勝利には向かっていない。代わりに、法的権威とプロトコルの権威が重なり合い、時に矛盾する「混合」の現実が生まれつつある。
実態として、ブロックチェーン上の活動は「法の手が届く度合い」のグラデーション上にある。許可不要のネットワーク上で完全に匿名で行われる活動は、法の手がほぼ及ばない。規制された仲介者、身元の判明した参加者、あるいは物理世界に影響が及ぶ活動は、法の管轄内に入る。そしてその間には広大な灰色地帯がある。部分的に身元が判明した参加者が、部分的に規制されたインターフェースを通じて、部分的に分散されたプロトコルとやり取りする世界だ。この灰色地帯は、法とコード双方の権威がその場しのぎで組み合わさることで統治されている。
スマートコントラクトの開発者たちも、設計段階から法的な現実を意識するようになっている。Kleros(クレロス)やAragon Court(アラゴンコート)のような紛争解決の仕組みは、プロトコルの枠組み内で紛争を裁定する「分散型の裁判所」を目指している。DAO向けの法的なラッパー――たとえばワイオミング州のDAO LLC法に基づく法人格の取得――は、プロトコルの運営を既存の法体系に接続する試みだ。
こうした混合的なアプローチは、法とコードの緊張関係に対する原理的な解決ではない。あくまで実用的な適応である。法的な構造をプロトコルの運営と両立させ、プロトコル側にも法的な要件を考慮する仕組みを組み込むことで、衝突の発生する面積を小さくしている。
プロトコル設計への示唆
法律とコードの継続的な衝突は、分散型システムの設計に具体的な影響を及ぼす。法的な現実を無視するプロトコルは、運営が行き詰まったり、関係者が法的責任を問われたりするリスクを負う。逆に、法的な枠組みに完全に従うプロトコルは、許可不要の革新性――分散型であることの存在意義そのもの――を犠牲にしてしまう。
つまり設計上の課題は、不当な検閲には十分に抵抗できる分散性を保ちつつ、ユーザーに害を及ぼすような法的対抗措置を招かない程度には正当な法的要件を受け入れる、というバランスを取ることにある。このバランスはプロトコルごと、法域ごとに異なり、多くの開発チームがまだ十分に向き合えていない難題である。
プロトコルの運営ルールには、裁判所の命令、規制当局の措置、制裁への対応など、法的な事態を想定した明確な手順を設けておくべきだ。そうした手順がなければ、法的当局の求めにもコミュニティの期待にも応えられない、場当たり的な対応を繰り返すことになる。
まとめ
- 法律とコードの衝突は、最終性、裁量、執行に関する根本的に異なる前提に立つ二つの権威の体系がぶつかり合う、現在進行形の問題である
- 「Code is Law」という立場は、バグの悪用に対するコミュニティの対応や、プロトコル関係者への法的措置によって、事実上否定されてきた
- 法制度は、特定可能な関係者への命令、インフラ事業者への制限、資金の出入口の規制などを通じて権威を及ぼす
- プロトコル側は、変更不可能なコード、匿名性、複数法域にまたがる運営、ネットワークの耐障害性を通じて法的権威に対抗する
- 法とコードの権威が重なり合い、時に矛盾する「混合」の現実が生まれつつある
- プロトコル設計者は、分散型であることの価値を守りつつ、設計の中に法的な現実を織り込まなければならない
法律とコードの緊張は、分散型システムが経済的に重要性を増し、既存の金融機関と直接競合するようになるにつれて、ますます激しくなる。もし解決が訪れるとすれば、それはどちらか一方の完全勝利からではなく、双方の体系が受け入れ可能な制度的取り決めの地道な積み重ねから生まれるだろう。この過程は混乱を伴い、対立的で、長期にわたる。そしてその結末が、分散型の技術が主権国家の法秩序の中で何を実現できるかの境界を決めることになる。