Archive for 8月 3rd, 2022

スマートコントラクトの私法的性質

水曜日, 8月 3rd, 2022

ブロックチェーンが大きく飛躍するきっかけとなると言われるのがスマートコントラクトです。
ビットコインでは通貨の送金がメインでした。イーサリアムではスマートコントラクトといってコンピュータ・プログラムを利用できるため様々なことができます。様々なことといってもピンとこないので,まずモデル的な説明をします(日本法では違法!と言われそうですが)。
・プログラムなので乱数を発生させて,サイコロを振らせることができます(※)。
・同時に,ブロックチェーンなので仮想通貨のやりとりができます。
→スマートコントラクトに対してお金を預け入れた結果,サイコロの目にあわせて,ハズレだったり,お金が何倍かになって戻ってきたりする,スロットマシーン的な仕組みを実現できる。



より現実的に,現在スマートコントラクトによって実現しているのは次のようなものです。
・別の仮想通貨の作成(ステーブルコイン,ガバナンストークン等)
・NFT(ノンファンジブルトークン→通貨のように量的でないトークン)の作成
・仮想通貨同士の交換→DEX(分散型取引所 uniswap pancakeswap)
・仮想通貨の貸し借り(Defiの一種。compoundが有名)
・DAO(分散型自立組織)



スマートコントラクトの存在は,ビットコインの法的性質以上に,複雑怪奇で面白い法的議論を導きます。
ビットコインの法的性質は,法的な権利の客体の話でしたが,スマートコントラクトは法的な権利の主体の話になってきます。



※実際には,ブロックチェーン上の乱数の発生には様々な問題があります。



スマートコントラクトの構造



イーサリアム上,スマートコントラクトとアドレス,人間(自然人と法人等)との関係は次のようになります。
・仮想通貨の保持,NFTの保持,送金の主体等のイーサリアム利用の単位はアドレスである。
・アドレスは人間が持っている場合と,スマートコントラクトが持っている場合がある。
アドレスを持っているのが人間だけであれば,ビットコイン同様,法的主体についてはあまり問題になることはありません。しかし,どの人間にも帰属していないアドレス,つまりスマートコントラクトのアドレスに仮想通貨が帰属したり,スマートコントラクトのアドレスにお金を送金したり,そこからお金を借りたりできるということにより,法的にどう考えるべきか複雑な問題が発生します。



もう少しスマートコントラクトを説明します。
通常の送金等の指示はブロックチェーン上に「AからBに○送金する」という内容で登録されます。ブロックチェーンを構成する何万・何千のコンピュータに同じ内容が永久保存されます。その集計結果があるアドレスの残高になります。
スマートコントラクトの場合,特定のプログラムがブロックチェーン上に登録(デプロイという)されます。ブロックチェーンを構成する何万・何千のコンピュータに同じ内容のプログラムが永久保存されます。登録(デプロイ)されたときにアドレスが発行されます。そのアドレスを利用して誰でもそのプログラムを呼び出すことができます。



永久保存される→つまり変更ができないということです。はじめに変更できるパラメータを作っておくことはできます。でも,それ以外はできません。仮にバグがあっても修正できないとされています。



プログラムを登録する際には人間がもっているアドレスから行うのが通常なので,その登録をした人間を想定することはできます。しかし,
・ブロックチェーンのプログラムの大半はコピペによるものでありプログラムに個性がないことが多い
・登録した本人も修正はできず,特に権限を設定しなければ,登録した本人はそのスマートコントラクトに対して特別関係があるとは限らない。
ということからすると,常に登録した人がプログラムの管理者とは言い切れないことになりそうです。ビットコインの運営者がサトシナカモトであるとは言えないのと同様な感じと思われます。



スマートコントラクトの管理者とスマートコントラクトとの契約



現状、多くのスマートコントラクトについては、ある程度、発行者・管理者を想定できることが多いです。
ステーブルコインの発行にしても企業体が発行主体であったり、分散化したDAOが運営しているといっても、(法人格の有無はともあれ)人間の集まりを想定することができます。



しかし、例えば、「お金を預けることができ、預けたアドレスが引き出し司令を出すと引き出すことができる」というシンプルで無個性なプログラムを、何らかのボットが自動的にどからかコピーして、ブロックチェーン上に登録(デプロイ)したとします。で、意外にこのスマートコントラクトが重宝されて使う人が出てきたとします。そしてプログラムの変更はできないとします。
このような場合に、スマートコントラクトの管理者を想定することは、かなり無理やりな感じがでてきます。さらに、常にスマートコントラクトの管理者の特定を必要とする法的構成を前提とすると、管理者を特定できない場合は、それ以上は前に進めないということになりかねません。むしろ、スマートコントラクト自体に何らかの法的主体性を認める(「特定のスマートコントラクトに対して仮想通貨を寄託した」という事実主張を法的に意味があるものと扱う)ほうがより有効なのではないかと思われます。
「管理者がいない場合は管理者が運営するものとし、いない場合はスマートコントラクトに主体性を認める」ということも考えられますが、管理者がいないかどうかの把握が困難なことを考えれば、管理者がいる場合も「スマートコントラクトと契約した。そのスマートコントラクトの管理者は〇〇である」という構成を認めたほうがよいのかも、という気もします。



onlyowner



小ネタ的ですが、イーサリアムのスマートコントラクトでよく使われるSolidityという言語の勉強をすると、OnlyOwnerという修飾子の話が比較的はじめのほうに出てきます。これは、指定したアドレスを当該スマートコントラクトのownerに指定して、そのownerアドレスからでないと実行できない関数を指定したりできます。このonlyownerがあるとスマートコントラクトを現在管理していると思われる人間アドレスの存在を追うことができるといえます。
なお、ブロックチェーンのデータは公開されているので、スマートコントラクトのプログラムも公開されています。
とはいえ、一部のプログラムはsolidityのプログラムを公表していますが、それ以外はプログラムの内容を確認するのはそれなりに面倒そうです。



全体像への再考



このように、スマートコントラクトは、法的な主体について再検討を要請する可能性が強いといえます。
ビットコインの法的性質についての議論もこの観点から再検討する必要があるかもしれません。というのも権利客体だけの問題であれば、何らかの法的財産権を認めても良いのではないか、という議論に親近感があります。しかし権利主体まで認めるという話になってくると、全体として法的な権利主体・権利客体とは認めない、という方向にしておいたほうがよいのではないか、ということもありそうだからです。
ブロックチェーンの優れた特徴は国境をまたいだやりとりが容易だということです。インド人が作ったプログラムをブラジル人がブロックチェーン上に登録(デプロイ)し、フランス人と日本人がそこに預けられている仮想通貨(この仮想通貨の発行はフィリピン人)の帰属を争っている。なんて場合に、日本法での位置づけを議論することに意味があるのかは、かなり怪しいといえます。
さらに、ビットコイン上での法的性質の議論がひそかに前提にしているように、どのように日本の法律家が議論したところで、ビットコインのネットワークに対して日本の司法の強制力は無力だということです。判決で、特定の人の権利だと確定したところで、ブロックチェーン上にその内容を強制登録することはできず、ブロックチェーン外で精算するのが精一杯です。これは、日本に限らず、どこの国の司法でも同様です。
では、どうするのだ、というのがブロックチェーンの私法的性質論の本質なのだろうと思います。