今回はサイバー空間における秩序を考える上でしばしば取り上げられる言葉「Code is Law」について、議論を整理しようと思います。
Code is Lawという概念は、米国においてサイバー空間上の法秩序・憲法学との関係を整理したことで有名なローレンス・レッシグ氏が繰り返しその概念を提唱しており、サイバー空間における秩序を考える上では必須のコンポーネントです。特にブロックチェーン、その中でもEthereumとEthereumを適用したWeb3.0の実現に向けた議論ではCode is Lawは頻繁に取り沙汰される非常に重要な概念ですが、日本語の文献はほぼゼロで「巨人の肩に乗」りづらい状況にあります。そこで今回の記事では
- Code is Lawとは何か
- EthereumのスマートコントラクトとCode is Law
にスコープを当てて、議論を整理していきたいと思います。
Code is Lawとは何か
Code is Lawの言葉自体はブロックチェーンの文脈で語られることが多いですが、概念自体は2006年にレッシグ氏により公開された書籍「Code 2.0」において提唱されたものであり、生まれはビットコインよりも前です。
Code is the most significant form of law that humans have ever been exposed to.
レッシグ氏によれば、人類が直面してきた「Law」の中でも、これまでの法規範と異なり物理的に破ることのできないルールである点でCodeは非常に重要な形式であると言います。
これまでの法律というのは違反することに対するペナルティを課すことによって人々の行動を制限する行為規範であり、その法律に反した行動を取ろうと思えば取ることができてしまう。しかしインターネット上のサイバー空間においては、コードに記述されていることがそのまま実行されるため、コードによって特定の行動が取れないようにプロトコルレベルで設定することで、物理的にその行動を取れなくする、いわば物理法則として機能させることが可能です。
サイバー空間の無秩序性
そもそもレッシグ氏がCode is Lawを提唱した理由はサイバー空間の無秩序性に起因します。
従来サイバー空間においてはあらゆる言論、思想などが規制不可能なもの(unregulability)であることこそが美徳であり、あらゆる規制から解放されているべきとする考えがあります。特にサイファーパンクのような人々にとっては政府や当局に対する言論の自由が保証されていることは大変魅力的でしょう。
一方で規制できない無秩序の状態が続くことは、ネオナチのような過激思想、暴力的発言の跋扈や児童ポルノの蔓延を招くばかりでなく、安全な商取引すらも妨げることになってしまいます。
この点でレッシグ氏はプログラマブルな形で秩序をサイバー空間に形成することで、これらの問題を解決できるのではないかと考えました。それがCode is Lawです。
レッシグの議論について暗号学の大家、松尾先生は自身のMediumの投稿でこう言及しています。
秩序は小さいところではコミュニティの同意であり、大きなところでは議会が作る法律によって形作られていたが、After the Internetでは、数学に基づくコードが法律に先行して社会の秩序を作るケースが出てきた。…欧州におけるGDPRをはじめとするデータの取り扱いにせよ、ネット中立性の問題にせよ、議会による法律は秩序の全体を形作れないし、一方で数学とプログラムコードのエキスパートが、かつての議員や政治家の役割の一部をすでに果たしはじめていることを意味している。(Shin’ichiro Matsuo,数学とグローバルな秩序の時代へのメッセージ)
レッシグ氏本人は例として、アダルトサイトを閲覧する際に認証を求め、成人年齢に達していない場合には閲覧できないようにすること、ネットサーフィンの結果をトラッキングしないよう設定するなどをあげています。つまり現実世界において法律が秩序を形成しているように、アーキテクチャ部分から設計されたCodeが無秩序なインターネット上においてはいわば物理法則として機能することで秩序を生み出すことができる、というわけです。
EthereumのスマートコントラクトとCode is Law
EthereumおよびWeb3.0を語るときのCode is Lawもレッシグ氏の提案同様に物理法則として機能しているものであり、そこにdecentralizationの概念が加味されたことでより開発者がCodeへの信用を強めていると考えるのが穏当であると思います。
The DAO事件
そもそもブロックチェーンのコンテクストでCode is Lawが叫ばれるようになったのはThe DAO事件がきっかけです。
これはEthereum上で動いていたプロジェクト、DAOのスマートコントラクトの脆弱性をハッカーに突かれたことで360万ETHが失われた事件で、このDAO事件を機にEthereumはEthereumとEthereum Classicに分裂したことは仮想通貨クラスタであればよくご存知の事件かと思います。
この際にスマートコントラクトを巻き戻し、DAO事件をなかったことにしたのがVitalik率いる現在のEthereum(ETH)、あったものはそのままにしておくべきと主張したのがEthereum Classic(ETC)です。
この際ETCは「スマートコントラクト上で動いているプログラムは物理法則であり、ハッカーは物理法則に従っただけであり、法律を破ったわけではない」こと、すなわちCode is Lawを根拠にコードに書いてあるルールを人為的に覆したETHを批判し、Proof of WorkではなくProof of Vitalikではないかと揶揄しました。本来スマートコントラクトがCode is Lawの具現化であろうとしたことを鑑みればこの点に関してのETCの主張は個人的には筋が通っていると思いますし、だからこそ今のETCの状況が残念でもあります。
本サイトではスマートコントラクトとは何か、初心者向けの解説記事を公開しておりますので、ぜひご覧ください。
関連記事:仮想通貨・ブロックチェーンにおける「スマートコントラクト」の単語の本質とは?
現在decentralizedなウェブ「Web3.0」の実現に向け、Ethereumのコア開発者Gavinらが開発を着々と進めています。その中でCode is Lawに基づいた秩序がスマートコントラクト上で形成されていくことになると思いますが、The DAO事件のように人為的に物理法則をいじることが可能である以上、どこまでdecentralizationが貫徹されるのかは注視したいところです。
この点日本ではCode is Lawを語るとき「既存の成文法を代替するもの」と捉えられがちですが、これはEthereumのスマートコントラクトが当初中央集権、中央の機関、政府を避け「Decentralization」を志向していたことから法規制の概念と混同されているように思います。レッシグ氏の議論を抑えた場合Code is Lawとは法規制の文脈ではなく、あくまでもサイバー空間における物理法則によって秩序を作り上げている、と言う理解の方が正しいのではないかな、と思います(Lawという言葉遣いが紛らわしいですが)。
まとめるとCode is Lawとはインターネット上でコードをいわば物理法則のように捉え、無秩序なサイバー空間に秩序をもたらす概念である、というのが本来の趣旨でした。それがEthereumのスマートコントラクト上ではDecentralizationと結びつきました。一方でDecentralizationを志向する建前と裏腹に現実にはThe DAO事件のようにCode is Lawが破られたこともあり、今後のEthereumのガバナンスを考える上では教訓にせねばならない事件であるということができます。
Bitcoinは、Lessigがいうところの4要素のうちの3要素である法律、規範、そして現実の市場とは独立に、その論文に記された通りの数学とコードに閉じた中で信頼できる第三者が不要な、二重支払を防止する支払いスキームであるので、100% “Code is Law(プログラムコードが法律)”としてデザインされている。その意味では、Bitcoinのプロトコルを規定するコードは、Bitcoin国の憲法と考えても良い。一方で、Bitcoin国では憲法改正の手段が不完全なので、その秩序に不満があっても簡単に憲法は変えられない。2017年に発生した、Bitcoinの分裂は憲法改正ができないので、新しい憲法で国を独立させたのに近い。どの暗号通貨が良い、という瑣末な話ではなく、After Bitcoinにおけるあるべき秩序の構成の問題として、より真剣に考えるべきなのだ。(Shin’ichiro Matsuo,数学とグローバルな秩序の時代へのメッセージ)
いずれにせよ「Code is Law」は今後もWeb3.0の文脈では頻繁に登場する概念ですので、この文章がキャッチアップのための参考になれば嬉しいです。
この記事が良かったと思ってくださった方は下のボタンからシェアしてくださると嬉しいです!