なるほど!をお届けする仮想通貨情報メディア

  • BTCBTC

    873,303円

  • ETHETH

    27,436円

  • ETCETC

    788.49円

  • LTCLTC

    10,381円

  • BCHBCH

    45,115円

  • XRPXRP

    42.262円

  • LSKLSK

    0.0000円

  • XEMXEM

    9.409円

スマート契約の実際

導入

 スマート契約とは、

・契約を自動的に、無責任に、公平に実施する

・契約成立、契約執行における仲介者の排除

・含意による弁護士の撤去

などの特徴をもち、画期的であるとして注目を集めました。

 一方で、問題が生じはじめているのも事実です。

スマート契約とは?

通常の契約は、将来なにかに結び付ける二人以上の当事者間の契約です。

「スマート」な契約の違いは、条件がコンピューターコードによって評価され、実行され、それが信頼を必要としないことです。

重要な特徴として、様々な条件を実行するために第三者に頼る必要がなく、弁護士や法的制度を利用せずに、タイムリーかつ客観的に賢明な契約が実行できることです。

 

イーサリアムの盲点

イーサリアムによる集中型マーケッティングが多いため、スマートコントラクトはイーサリアムにしか存在しないと勘違いされがちですが、実はビットコインには2009年初頭からScriptというスマートな契約言語を実装しています。

イーサリアムとの違いは、イーサリアムがチューリング完全であり、Solidityにより、より複雑な契約を可能にすることです。

複雑さにはより複雑な契約を許容することができる一方で、安全を確保することが非常に困難になることが問題です。契約が複雑になればなるほど、不確実性と解釈の余地が増します。

チューリング完全なプログラムは、非常に扱いにくく、バグが存在してしまうでしょう。

契約書が意図する内容を確実にするための法律的な知識が必要になるということです。

 

DAO事件

DAOは、”自律型分散組織”の略で、ユーザーはDAOに資金を入金し、DAOが行った投資に基づいて収益を得ることができるようにプログラムされたプラットフォームでした。

意思決定そのものは、群衆の知恵と呼ばれる分散的なものになり、理論的には良いシステムであるとされていましたが、実際にはコードがうまく固まっておらず、誰かがDAOから上手くお金を流出させる方法を見出しました。

クリエイターが意図しない方法で契約から資金を取り出す方法を見つけ出したという意味ではハッカーと言えますが、より広義の意味では、スマート契約の有利な点をうまく利用しただけといえます。

 

スマートコントラクトに存在する問題点

一つ目の問題点として、スマート契約を記述する当事者を信じる必要があるということです。集中管理された契約に基づくスマート契約は、イーサリアムのSolitidyによって書かれる場合、複雑性が増し、トラストレスが意味を為さないものになるかもしれません。

二つ目の問題として、分散型の状況では、スマートコントラクトが、デジタルと物理のバージョンにおいて明確なリンクがある場合にのみ機能するということです

つまり、デジタルバージョンにおいて、家の所有権が変わる場合、物理バージョンにおいても所有権を変更する必要があるということです。

これはオラクル問題といって、外部の物理データとブロックチェーン上のデジタル資産とを結びつけることが困難であるということをいいます。

少なくとも、地方分権的な状況において、物理的資産はあなたの所属する管轄区域によって規制・管理されており、これはスマート契約に加えて、物理的資産の所有を証明する第三者を信頼することが必要になり、最終的にほかの権限によって決定されることになります。

このように、スマート契約は、マシンのみの単純化された自動執行と引き換えに、コードを書くことを非常に難しくしてしまいました。

 

オラクルとスマート契約について

オラクルとは、ブロックチェーン上の内部情報とは関係ない外部情報を引っ張ってくるために使用されます。

一方で、その外部データが本当に正しいかということを判断するのが難しいのが現状です。

 

オラクルには、あるひとつの主体により集中管理されるので効率的に外部データを参照できる一方で、その外部データの情報源とデータ自体の正しさを信頼する必要があります

一方で、分散型オラクルは、ネットワーク全体で、各ノードによる合意形成を行い、分散管理されます。

分散型オラクルは、ネットワーク維持のためのインセンティブ設計が難しくかったり、外部データを当事者の許可なく利用することの制限や、合意形成に時間がかかりタイムラグが生じるなど問題が生じます。

分散型オラクルの代表例として、「Oraclize」があります。

Oraclizeは、信ぴょう性の証明(Authenticity Proof)として、複数の暗号学的アルゴリズムに基づいて情報の改ざんなしを証明し、正しいデータを内部ネットワークに送信できる仕組みを実現しています。

以前は、分散型アプリケーションでこの証明プロセスをサポートするには複雑さや手数料の高騰んびより可能ではなかったが、Proof Shieldというシンプルな方法でオンチェーンでも処理できるように開発されています。

 

まとめ

実用性の高いユースケースを探す成長産業において、オラクルの必要性は高まります。一方で、ブロックチェーン内部のデジタル資産と外部の物理資産とを結びつけるオラクルの実装の困難さが指摘されています。

また、チューリング完全な言語を使用する上で、法律的に完全な契約を満たすようにコードを記述することが難しいことが一連の事件により証明されています。仲介者をなくしトラストレスな契約を実行するスマート契約が、コードの記述者を信頼する必要のある中央管理されたものになってしまっているのが現状です。

今後のスマート契約になにかしらの対策が必要なことがわかります。