スマートコントラクトと弁護士 〜新しい攻防と危機〜

Akarat Phasura (shutterstock.com)

この記事では、「イーサリアムのアドレスを公開することはリスクになるか?」という問を追究する記事です。こう聞くと、「あるわけない」、「みんな公開している」と考えるのが自然ではありますが、個人的に将来リスクは存在する可能性が高く、提起しておくべきという考えに至りました。結論として、解決策は「秘匿コントラクトを使うこと」です。

なぜスマートコントラクトで使われるアドレスの公開にそういった議論の余地があるか、その時の弁護士の必要とはなにか、追っていきましょう。

2018年3月、訴えられていたリップル社CEOのラーセン氏がこのようなことを言っておりました。

ICOにおける真の’勝者’は弁護士となるだろう

現在、ICO事業者だけでなく、スマートコントラクト(Dapps)の開発者も法的問題に頭を抱えていて、開発にはトークンが通貨であること、あるいはトークンが証券であることに伴う様々な法的義務・リスクが存在しています。

国内では、金融庁との法的なやりとりを行った経験のある弁護士しかこの業務を行えない理由で、現在数名の弁護士にこのICO法務相談の圧倒的な需要が殺到しています。見まごうことなき市場の勝者でしょう。

そして、もうひとつ悩むべき3つめのリスクが存在します。
スマートコントラクトでの同意は電子署名があることと同義か?」という問題です。これは潜在的に上記2つよりも深刻な、法的パラドックスを生み出しかねません。そしてこれはサイバー攻撃に新しいレイヤーをもたらします。

まず、1つの問から始めましょう

他人の証券口座にワンクリックで送りつけれる株券を見たことがありますか?

株式は当然贈与することができますが、贈与契約書への双方向署名が必要です。当然贈与税もかかります。

しかしながら、これが可能なICOトークンを証券だと分類する際に、インサイダー取引回避などの義務を同じくする反面、機能が違うので問題が生まれます。

#まずICOトークンの仕組みを最短で説明

スマートコントラクトの世界には、個人口座であるEOAと法人口座のようなものであるコントラクト・アカウントが存在します。この法人口座に沢山コントラクトが定義づけられていて、‘法人’が業務をするのに「必要なデータ」が全参加者の合意のもとで変化していきます。

ICOの場合この「必要なデータ」の1つにICOトークンの全員分の残高データがあります。この数字をEtherと交換に増やすことがICOです。ほとんどの「仮想通貨」とはコントラクト・アカウント(法人口座)に書かれた数字です。

#さて、問題は?

Ethereum上のICOトークンで使われる規格ERC20では、法人口座のtransfer関数という機能で指定アドレスに送信することができ、これは受け取り側の署名は必要ありません。送りつけられます(仮想通貨としては当然ですが)。そして、トークンを知らない場合、受け取り側は送られたことに気づかないのです。

この場合、受け取り側がEtherを使用したタイミングでこのトークンを受け取れば、インサイダー取引の売買を行ったとされる可能性があります。はした金で罪を負わされる可能性です。もし、株式譲渡に関してもインサイダー違反が適用される厳しい国の場合は、任意のタイミングで送りつけることで達成できるでしょう。

ERC20にはapproval関数という送金方法もあり、これは双方向署名が必要で、受け取り側が署名して受け取るまで、送金側は任意のタイミングでキャンセルできます。もし、ICOトークンが証券であるならば、取引所はapproval関数で送金を実装するほうが余計なリーガルリスクは下がるでしょう。
(通貨であるならば、多くの国でインサイダー取引違反は適用されません)

さて、このような攻撃方法をとりあえず、「リーガルレイヤー」と呼ぶことにしましょう。
妄想じみた話に聞こえるのは承知ですし、筆者は法律や犯罪の専門では全くありません。しかし、1つ言えることは、これから述べる多くの場合に置いて、司法からもプログラマーからも、犯罪者と被害者の区別をつけることはかなり難しいのです。

もし、1988年のインターネット黎明期に20歳で、「2018年にはウェブで相手のシステムへの侵入・破壊がもっとも主要な犯罪になり、北朝鮮に各国が怯える」などと言えば充分な量のお薬を頂けたことでしょう。しかし、自由度が高く進歩の速いインターネットではそうなりました。コントラクトの空間でも、犯罪のバリエーションは想像を大きく超えることになると予想されます。

実は、先述の例はホンの一例に過ぎません。

#なぜ今まで金融リーガルレイヤー攻撃はなかったのか?

これは簡単に言えば、既存の金融システムでは金融犯罪をでっち上げるコストが高いからだと考えられます。
とりあえず、インサイダーによるリーガルリスクの押し付けを考えてみましょう。加害者は、とても重要なパイプを各界に持っていて、上場企業のインサイダー情報が入るとしましょう。この時点で難しいですね。ICOの場合は有象無象あるので、インサイダー情報は手に入ってもおかしくはないでしょう。

まず、ターゲットの証券口座をでっち上げるために、ターゲットの身分証明書や実印などを盗み開設します。この時点でかなりメンドウですね。個人的にマイナンバーを一時的な勤め先に教えたり、変な取引所にパスポートの写真を送りたくないのはこういった理由です。

次に、この証券口座に送金します。
どこから??
当然被害者本人は入金してくれませんし、この人は自分の銀行口座から送りたくないです。偉い人っぽい設定ですし、他の人に強制して送らせることにしますか?。ここはかなり難しいですね。銀行は基本身分証明・KYCをちゃんとしているので

で、以上の仮定が満たされれば、インサイダー情報を元に売買します。

なんだか、デキの悪い陰謀論やチャージマン研のジュラル星人のような回りくどいスキームです。
しかし、Ethereumに関しては、有象無象のICOの内部情報をキャッチして、Ether使用のタイミングで一方的に証券トークンを送りつけるという簡単な方法を使われてしまいます。

そもそも、既存金融システムでは犯罪の実行コストが高いので、でっち上げも難しいという点があります。
現状の金融での犯罪・ズルに関してよく、「オフショア」、「タックスヘイブン」、「ペーパーカンパニー」などの言葉を使って、簡単であるように煙に巻かれて話されますが、実際それらを使った、「計画倒産」、「知的財産オフショア移転」、「ダブルアイリッシュ・ダッチサンドウィッチ」、「虚偽特別損失計上」といった’ソリューション’はどれも現実社会での活動を必要とするもので、仮想通貨の世界よりはコストが高そうです。その上、スキーム側がコストを抑えた場合、悪意がある人間とそうでない人間が比較的簡単に区別がつきそうです。

仮想通貨で特別損失なんてすぐでっち上げられますよね。持ってる仮想通貨資産を、モネロあたりの匿名通貨で他のアドレスに移して、「盗まれた」って言えばいいのですから。

#署名=同意?

先ほどのICOトークン送金を双方向署名(approval関数)にすれば問題ないのでは?という話に行き着きそうですが、事態は簡単ではありません。次の例について考えてみて下さい。

この例だと、①の自分の知っている仮想通貨の取引が引き金となり、⑤のトークン受け取りが最終的に発生します。これは、この人がこの外部のコントラクト(ディリバティブ)の動作を知っているかいないかによって電子署名の意味が大きく異なります。法的意味が異なるかどうかは僕には分かりませんが、悪意のある人間とそうでない人間を区別するのは容易ではないでしょう

##ディリバティブとしてのBancor(バンコール)・プロトコル

BancorはICO(ERC20)トークンに流動性を提供するための交換プロトコルであり、分散取引所であるという扱いをされています。しかし、ここで使われるICOトークンであるBNTは色々なERC20トークンの価値と数式で結びついて交換されるものです。

これはICOが証券であるならディリバティブであり、BNTは既に多くの人から利用されている実用段階のものですから、スマートコントラクトによるディリバティブは既に利用されていると考えてよいでしょう。

コーネル大学のエミン・シラー博士Emin Gün Sirer)がこのプロトコル実装に使われる担保の500億円分のEtherが枯渇するリスクを指摘しており、このように当然ディリバティブらしいリスクも存在します。

#スマコン・ディリバティブ

もし、ICOトークンが証券であるなら、スマートコントラクト空間ではいくらでも金融派生商品(ディリバティブ)やオプションが組めるようになります。例を見ていきましょう。

##プット・オプション

プットはリスクが限られた空売り(ショート)のようなもので、期日までに売る権利を買うことができ、権利を行使しなくても買った分損するだけです。この前の年末年始に買っていれば泣いて喜ぶものでしょう。実はLedgerXで買えます。
下の図は、ERC20トークンに対するEther建てのプットオプションの作り方です。

個人的な経験・感覚で言えば、クラウドセール(ICO)のコードの倍程度なので、600行〜800行のSolidityコードで書けそうな印象です。

##クレジット・デフォルト・スワップ(CDS)

悪名高きCDSです。倒産リスクを肩代わりする金融商品であり、倒産の連鎖を起こす作用があり、金融危機の専門家のルービニやウォーレン・バフェットが最も非難してきたディリバティブです。(実はバフェット氏は保有していましたが)

仮想通貨では貸し倒れがない(マイナスの借金残高のアドレスは捨てればいいので借金がありえない)ため、今回はICOプロジェクトがEtherのデポジットを全部引き出してしまうリスクと取引所の出来高が0になるリスクをヘッジするものとしました。つまり、信用のないICOを「リスクをヘッジ」したことにして、違う形で販売します

これを見て共有して頂きたい感覚は、”証券化”と”トークン化”というのは背筋が冷たくなるほど似ているという印象です。リーマンショックの原因となったサブプライムローンは返済能力のない人への住宅ローンを証券化したものであったことは,たったの10年前の記憶です。

#弁護士の役割

こういったディリバティブ処理を使って、先ほどの例で言えば、ICOチームのインサイダー情報から離れて、それらのトークンを使った別の金融商品のインサイダー情報を作り出すことができるでしょう。
また、インサイダー取引だけでなく、ありとあらゆる不正に電子署名の帰結を知らない人たちを巻き込むスキームを組むことができると考えられます。
簡単に言えば、コントラクトは「混ぜるな危険」なわけです。

ここで、弁護士の役割とは何になるでしょう?個人的にはやはり、各電子署名・トランザクションの意味を法的な文脈で理解することだと考えています。電子署名・トランザクションは1つ1つに個性があるように思えます

#デジタル転び公妨と秘匿コントラクト

京都市左京区の大学でよく見る光景です。警察や公安と彼ら反体制派はよく争っていますが、どちらも手段を選ばない時があります。彼らを逮捕するためにワザと転んで公務執行妨害を発生させる「転び公妨」という手法があるそうです。

前述の犯罪のでっち上げ行為は、敵対ノードに対して当然誰でも行うインセンティブがあります。国によっては大いなる善のために、治安維持側が行うことも考えられます。デジタル転び公妨とも言えるでしょう。

提案したいのは、コントラクトの秘匿に多くの努力をすることです。
これは個人を今まで述べた色々な脅威から守るだけでなく、「わざわざ犯罪を公開コントラクトでする意味がない」といった状況を作ることで、個人が安心して公開コントラクトを使えることになります。

コントラクトの秘匿は今Enigma以外で難しい状況となっています。お時間あれば、上の記事をどうぞ。

#サトシの思想、サトシの呪い

スケーリングに関し、「Satoshi is dead」と言明したBTC・BCHの重要人物、エミン・シラー博士(前述)のTweet

19世紀のプロイセンでクラウゼヴィッツ少将の遺稿が『戦争論』という軍事思想書として世に出された後、弟子たちと軍関係者らにその思想は脈々と引き継がれ、実践に移されるうちに全くこの思想は変容していきました。
「戦争は軍の重心同士のぶつかり合い(会戦)に帰着される」、「戦略での相互作用は極限的にエスカレートし妥協の余地は理想的にはない」といった部分が切り取られ、’応用’されていき、第一次大戦ではフランス軍の要塞にドイツ軍がひたすら突撃を繰り返し、1つの場所で80万人が死亡する事態に至っています。

イギリスは大陸に比べて圧倒的に少ない被害で済みましたが、プロイセンから遠かったのでこの思想があまり流行っておらず、こういった妥協を考えない戦略が流行したことを後に「クラウゼヴィッツの呪い」と揶揄していました。シビリアン・コントロールの概念の創始者であるクラウゼヴィッツの思想は、なぜが軍の異常行動へと真逆の転換に至ったのです。

暗号通貨界では誰もがすくなかれサトシの思想の影響を受けています。僕が個人的にすごく強い印象を受けたのは、最初のブロックに銀行と政府のモラル・ハザードを示唆する記事が刻まれていたことです。

現状、銀行では貸し付ける際に通貨が勝手に生み出され(信用創造)、その通貨(預金通貨)は中央銀行が発行した現金と銀行の通帳システムの中で混合されます。ご存知の通り、貸付で増やされたお金とATMから入金された現金は足されて残高として表示されます。銀行間送金によってこの混同はさらに進みます。

よって銀行が変な貸付や運用をしすぎて倒産しても、影響が大きすぎるため、公的資金(税金)で救済されます。これがサトシが批判したものです。

暗号通貨ではチェーン内の発行は決まっているので、この混同は起きません。僕が暗号通貨の世界を知った時には、多くのアルトコインが生まれていたので、「通貨1つ1つが問題を起こしても、そのホルダーの自己責任に帰着する」というシステムが異様に健全に思えました。「価値の保存」は「価値の分離」につながるわけです。そして、「トラストレス(Without Trusted Third Party)」の概念は、ある種プロトコルを自然法則のように自己責任で付き合うものにしているわけです。

しかし、ここでディリバティブが大量に組まれたらどうなるでしょう?
「ブロックチェーンを使っている=価値が保存・分離されている」という印象が先行してしまい、スマコンを使っていたらディリバティブ・トークンの価値も分離されると思ってしまいそうです。しかし、実際今はICOトークンが勝手にバグを起こせば、本来関係のないイーサリアムやその他の価格は暴落したりしますし、「価値の分離」は全くされていません。簡単に言えばイーサリアムが複雑すぎるからでしょう。

同意や合意が勝手に一人歩きするディリバティブ型の’トラストレス’では法的にも経済的にも、誰が何の責任を持っているのか分かりづらく、2008年の金融犯罪だらけのアメリカと似たようなものになるのでしょうか?結局モラルハザードだらけだったディリバティブ経済崩壊の責任、誰が取ったのか僕は全く知りません。そもそも、サトシが批判したシステムそのものである気もします。

いつのまにか、「トラストレス」が頭の中でマジカル・バナナのように言葉の意味が変わっていて、現実と乖離したことに気が付きます。「分散」・「トラストレス」・「価値の保存」、これらを本来の意味のまま考えているのは、どのコミュニティでしょう?

最後にこれを貼っておきます。エミン・シラー博士の「Code is not Law」

EthereumTech Lab.|イーサリア研究所ではブロックチェーン、特にイーサリアムに対して強い興味を持った学生または社会人のメンバーを募集しています。
発信はMedium上で行い、本格的な開発状況に関する分析、または開発者それぞれの思想をリサーチし、日本語にて発信するなど様々な方向性の記事を作成しています。

EthereumTech Lab.はイーサリアムのモバイルウォレットを開発している”Wei Wallet Team”(*https://github.com/popshootjapan/WeiWallet-iOS) が中心となり、活動を行っています。オフラインでのイベント/ミートアップ実施の機会も多く開催していく予定です。

ご興味のある方は、こちら

EthereumTech Lab | イーサリアム研究所

今後の記事更新のお知らせ・イベント情報・最新ニュースはFacebookグループへの参加がおすすめです。

--

--