見出し画像

ブロックチェーンの能力を拡張するスマートコントラクトとは?

デジタル通貨のことや、デジタル決済やデジタルトランスフォーメーション(DX)など、お金のデジタル化にまつわる質問にお答えしていくコーナーです。

今回はプログラムを実装できる「スマートコントラクト」です。人類史における第4の革命とも言われるスマートコントラクト。何がいったいそれほど大きなイノベーションなのでしょうか?Q&Aでその革新性をまとめました。


Q.スマートコントラクトとは何ですか?

A.「スマート(賢い/高性能な/素早い)」「コントラクト(契約)」で、「契約の自動化」を意味します。法学者・暗号学者のニック・サボ(Nick Szabo)氏が1997年に「The Idea of Smart Contracts」という論文のなかで"プログラムできる契約”という概念で提唱したことが始まりです。

Q.契約の自動化とは?

A.自動販売機が買い手と売り手(飲料メーカー)とで合意した購入金額を入金し、商品選択すると飲み物が出てくるように、双方で定めたある諸条件が合意されると自動で契約が履行されるシステムです。

この仕組みを生活やビジネスの場面に転用させようという発想で生み出されたのがスマートコントラクトです。これは、人類史における農業、産業、情報革命に匹敵するとも言われています。

Q.スマートコントラクトとイーサリアムの関係は?

A.スマートコントラクトとよくセットで出てくるのがイーサリアムです。それは、初めてスマートコントラクトをブロックチェーン上で開発・提供したのがイーサリアムだからです。

Q.イーサリアムとビットコインの違いは?

A.イーサリアムもビットコインも暗号資産です。ただその性質は大きく異なります。ビットコインは送金を目的にした経済活動に特化している一方で、イーサリアムはスマートコントラクトを搭載することで、契約履行やさまざまなアプリ開発まで汎用的に使えることができます。

Q.イーサリアムは世界のコンピュータ?

イーサリアムは「ワールド(世界の)コンピュータ」と呼ばれています。それは、中央集権的にデータを管理するのではなく、ブロックチェーンで世界中の人々と同じデータのコピーを持つことでデータを分散管理する「一つのコンピュータ」を目指しているからです。

スマートコントラクトによって、仲介者を介さずに24時間365日自律的に稼働し続けることができます。そのためスマートコントラクトは、ワールドコンピュータを実装するためのコア装置の一つと言えます。

Q.スマートコントラクトと電子契約は何が違うの?

A.スマートコントラクトの最大の特徴は、仲介者を介さずに取引や手続きをデジタル上でできることです。似ているものに「電子契約」がありますが、契約成立までの手続きや、契約書をデジタル化して合意内容を保存するといった書面の契約を単純にデジタル化するにとどまっています。

一方でスマートコントラクトは、契約成立後の「実行」や「内容確認」までを全自動で執り行います。事前にプログラムで決められた契約条件と起きた事象とを照合し、内容が合致していれば契約をブロックチェーン上で履行します。そして最後に、契約の履行が正しく行われたかのチェックまで一気通貫で行います。

このようにスマートコントラクトは自己締結型の契約履行システムであるため、業務管理コストの大幅な削減が大きく期待されています。

Q.DAppsとスマートコントラクトの関係は?

A.DAppsとは、ブロックチェーンを活用した「分散型アプリケーション(Decentralized Applications)」のことです。一方でCAppsとは「中央集権型アプリケーション(Centralized Applications)」で、「TCP/IP」を基本としたインターネットの世界標準のプロトコルを通じて特定の企業の管理のもとでサービス提供しています。

しかし、CAppsでは人気のアプリケーションを扱う組織や企業にデータが集約されて巨大な力を持つようになりました。そこで、分散的なP2P(Peer to Peer)ネットワークで中央管理者なしで動くサービスとして志向されたのがDAppsです。

ビットコインとイーサリアムはともに、「独自のブロックチェーンを搭載しているアプリケーション」に分類されるDAppsの一種です。しかし、イーサリアムに搭載されているスマートコントラクトがより汎用的な機能提供を可能にしたことがDAppsの幅を大きく広げました。そういった意味で、スマートコントラクトがDAppsの一つの形態を成す根幹技術であるとも言えます。

Q.スマートコントラクトはどうやって動くの?

A.スマートコントラクトは、「イーサリアム仮想マシン(EVM:Ethereum Virtual Machine)」にアクセスし、プログラムをブロックチェーンにデプロイ(保存)することで実行・処理されます。

スマートコントラクトの実装には、表側のインターネットプロトコルと裏側のブロックチェーンプロトコルという異なるネットワークをつなぐ必要があります。読み込みには相互互換性を備えたJSON-PRCやJavaScriptライブラリ、書き込みには暗号鍵の管理やデジタル署名などのウォレットの技術が不可欠です。

Q.現実世界の情報(条件の実行)をスマートコントラクトに伝えるには?

A.スマートコントラクトでは、「〇〇したら☓☓する」といったような条件設定を最初に行います。しかし、この「〇〇したら」の条件部分に当たる情報は現実世界で実行されるケースも多々あり、その場合は実世界(オフチェーン)で行われる情報をブロックチェーン(オンチェーン)に取り込む必要があります。

オンチェーンとオフチェーンをつなぐシステムに「オラクル」があり、実世界のデータをAPI経由で取得します。その方法には「中央集権型」と「分散型」の2種類あり、前者は単独の主体が取得するため効率的で迅速な一方、単一障害点が生まれます。

分散型オラクルはリスク回避のためブロックチェーン上で分散管理されますが、中央集権型のように速やかな判断ができないため、外部情報の検証と合意の形成に時間を要します。以前は中央管理型のオラクルが選ばれる傾向がありましたが、現在は分散型のものが多くのプロジェクトに採用されてきています。

Q.スマートコントラクトの今後の課題と展望は?

A.スマートコントラクトは仲介コストが簡素になり、改ざんが困難であるため透明性も高く、事務作業などが手軽になるということが大きな利点です。一方で、トランザクションの数が増えると処理が間に合わなくなる「スケーラビリティ」の課題があります。

また「契約」は実社会での法律と密接に関わっているため、本格実装に向けた議論や法整備が必要です。しかし、これらの課題を乗り越えることで、スマートコントラクトは次の社会のシステムづくりを担い、人類史における第4次革命を起こす可能性を大いに秘めています。

この記事が参加している募集