「コードが法律だ(Code is Law)」――この言葉は、Web3の統治思想の根幹をなす主張である。1999年にローレンス・レッシグが提唱し、その後ブロックチェーンの世界で独自に発展したこの考え方は、ソフトウェアの設計そのものが法律と同じくらい人の行動を縛るという洞察に端を発する。Web3ではこの発想がさらに先鋭化した。スマートコントラクトは、人の行動に「影響を与える」だけでなく、数学的な厳密さでルールを「強制する」。えこひいきも、手心も、遅延もない。その魅力は大きいが、リスクの検討はまだ十分とは言えない。
たとえ話から実装へ
レッシグがもともと述べたのは、あくまで「現状の描写」であって「あるべき姿」ではなかった。デジタルシステムのソフトウェアやハードウェアの設計が、法律や社会規範、市場の力と並んで、人の行動を事実上規制している――そう観察したにすぎない。Facebookのアルゴリズムがどの発言を広め、どれを埋もれさせるかを決める。AppleのApp Storeの方針が、ユーザーに届くソフトウェアを選別する。コードは、特定の行動を可能にしたり、不可能にしたり、コストのかかるものにしたりすることで、すでに規制の役割を果たしている。
ブロックチェーンの世界はこの観察を一歩進めて、「設計原則」に変えた。コードがすでに規制しているのなら、コードこそが「主たる規制者」であるべきだ、と。スマートコントラクトが法的契約に取って代わり、プロトコルのルールが制度的な方針に取って代わり、ブロックチェーン上の投票が議会に取って代わる。論理は明快だ。コードは誰に対しても同じように動く。贔屓も、腐敗も、待たされることもない。
このたとえ話から実装への転換は、現代で最も野心的な統治実験の一つである。法制度は何世紀にもわたる判例の蓄積、哲学的議論、試行錯誤を経て形作られてきた。「コードが法律」はそれと同等の統治を、ソフトウェアに書き込んで世界中に展開しようという試みにほかならない。
自動執行の何が魅力か
「コードが法律」の魅力は、既存の法制度に対するもっともな不満に根ざしている。法律の執行にはカネがかかり、弁護士を雇える者が有利になりがちだ。規制の適用はまちまちで、コネのある者が得をすることもある。裁判は遅く、スマートコントラクトなら数秒で片がつく紛争に何年もかかることがある。
スマートコントラクトは、こうした問題に正面から応える。たとえば、担保が不足したポジションを自動で清算するDeFiの貸し借りプロトコルには、取り立て業者も裁判所も要らない。決められたスケジュールでトークンを配布する権利確定の契約には、弁護士が条文を書く必要も、第三者が履行を監視する必要もない。
効率の向上は実際に数字で確認できる。DeFiのプロトコルは、法務部門も紛争処理チームもほぼ持たずに、何十億ドル規模の取引を日々処理している。ルールはコードに書かれ、コードが勝手に動く。定型的で条件が明確な取引においては、自動執行は法的な手続きよりも速く、安く、結果が読みやすい。
The DAOハック――「法律」が試されたとき
「コードが法律」の最も深刻な試練は、2016年6月に訪れた。攻撃者がThe DAOというファンドのスマートコントラクトに潜むバグを突き、約6,000万ドル相当のETHを引き抜いたのである。重要なのは、この攻撃がコードの記述通りに実行された点だ。攻撃者はスマートコントラクトのロジックが許す操作を忠実になぞった。「ルール違反」は一切していない。
哲学的な危機は即座に訪れた。もしコードが法律であるなら、攻撃者はルールを破っていないことになる。コードが引き出しを許可し、取引はプロトコルに従って正当に成立した。厳格な「コード至上主義」の立場からすれば、これを巻き戻すことは、ブロックチェーンのルールが不可侵であるという大原則を壊すことになる。
結局、Ethereumのコミュニティはブロックチェーンを分岐(フォーク)させ、盗まれた資金を元の預金者に返す道を選んだ。実務的には妥当な判断だったが、「コードが法律」という理念にとっては致命的な出来事だった。つまり、結果があまりにひどければ、人間の判断がコードの結果を覆す――そのことが実証されてしまったのだ。「コードが法律」であるのは、コミュニティが「そうであるべきでない」と判断するまでの間だけだった。
コードにできないこと
法制度にはコードが持ち得ない性質がある。そのひとつが「衡平」――つまり、杓子定規なルールでは不公平な結果になる場合に、状況に応じて調整する力だ。裁判官は当事者の意図や背景事情、結果の釣り合いを考慮できる。スマートコントラクトにはそれができない。価格データの一時的な異常でスマートコントラクトがポジションを強制清算しても、不服を申し立てる窓口はなく、その清算が妥当だったかを検討する仕組みもない。
法律における「あいまいさ」は、欠陥ではなく機能であることが多い。法律用語が「合理的な人ならどうするか」「誠実に行動する義務」「預かったものを大切にする責任」といった柔らかい表現を含むのは、硬直したルールではあらゆる状況をカバーできないからだ。スマートコントラクトはすべての条件を事前に明示しなければならず、書いた人が想定しなかった状況には対応できない。
責任の所在も問題になる。ひどい法律を作った議員は選挙で落とされる。不当な判決を下した裁判官は上級審で覆される。ところが「コードが法律」の世界では、責任が霧散する。プロトコルのバグで損害が出ても、特定の責任者がおらず、救済の手段もなく、賠償への道筋もないことが珍しくない。
さらに、法律には時代に合わせて変わる力がある。新しい技術や社会の価値観の変化に応じて、立法で改正し、判例で解釈を更新し、行政指導で微調整できる。一方、スマートコントラクトは一度配備すると基本的に変更できない。「アップグレード可能な契約」という技術的な解決策はあるが、それは「コードが法律」が排除しようとしていた中央集権的な管理を再び持ち込むことになる。
「コードだけ」でも「法律だけ」でもなく
この議論の現実的な着地点は、コードと従来の法律が補い合う「ハイブリッド型」として姿を現しつつある。定型的な取引、決済、明確なルールの執行はスマートコントラクトが担い、紛争やイレギュラー、コードが予測できない事態は従来の法制度が処理する。
この組み合わせは、現実資産のトークン化(ブロックチェーン上で株や債券などを扱う仕組み)の分野ですでに見られる。トークンの移転はスマートコントラクトが処理するが、トークンに紐づく法的な権利は従来の契約書で定められる。トークン化された債券はブロックチェーン上で決済されるが、その条件――債務不履行時の取り決め、不可抗力条項、管轄裁判所の指定――は従来の証券法に従う。
DeFiの世界でもハイブリッド化が進んでいる。保険プロトコルはスマートコントラクトの不具合に対する補償を提供し、硬直したシステムに「事情を汲む」仕組みを持ち込んでいる。Klerosのような紛争解決サービスは、スマートコントラクトの守備範囲外の申し立てを裁定する。DAOの法的な「包み紙」(法人格)は、ブロックチェーン上の意思決定を補完する法的な枠組みを提供する。
統治の設計はまだ始まったばかり
「コードが法律」が行き詰まるのは、考え方が間違っているからではなく、最初の実装が単純すぎるからだ。次世代の仕組みは、初期のスマートコントラクトに欠けていた繊細さを取り込もうとしている。「異議が出なければ有効とする」方式は、効率と監視のバランスを取る。多数決では変えられない根本ルールを憲法のように定める試みもある。予測市場を使って、投票者の好みではなく期待される結果に基づいて政策を選ぶ実験も行われている。
これらの試みに共通するのは、統治が本質的に人間の問題であり、コードが支援はできても置き換えることはできないという認識である。最も洗練された仕組みは、あらゆるルールを事前にコードに書き込もうとはしない。透明で、説明責任があり、特定の勢力に支配されにくい「人間の意思決定の枠組み」を作ること。人間の判断を代替するのではなく、より良い判断ができるよう補助すること。それが目指すところだ。
主要なポイント
- 「コードが法律」は、ソフトウェアが実質的に人の行動を規制しているというレッシグの観察を、ブロックチェーンの設計原則に発展させたものである
- 定型的で条件が明確な取引において、スマートコントラクトの自動執行は法的な手続きより速く、安く、結果が一貫する
- The DAOハック事件は、結果があまりにも不当な場合にコミュニティがコードの結論を覆すことを示し、純粋な自動統治の限界を明らかにした
- 法制度は「事情を汲む力」「あいまいさの許容」「責任の明確化」「時代への適応」という、コードが根本的に持ち得ない性質を備えている
- スマートコントラクトによる自動執行と従来の法律を組み合わせたハイブリッド型が、現実的な前進の道を示している
- 次世代の統治設計は、コードに人間的な繊細さを組み込むことを目指している
「コードが法律」は、条件が明確に限定された領域では強力な設計の型であり続ける。しかし、あらゆる場面に通用する統治の哲学としては不十分だ。未来はおそらく、自動執行が得意な取引にはその力を活かしつつ、紛争、例外、倫理的な判断といった統治の核心部分には人間の知恵を残すシステムに向かうだろう。