スマートコントラクトについて知っておくべきこと

業界の人々は、ビットコインを「第一世代のブロックチェーン」、イーサリアムを「第二世代のブロックチェーン」と呼ぶことに慣れています。イーサリアムとビットコインブロックチェーンの一番多きな違いは、イーサリアムが「スマートコントラクト」というパートナーがあることです。

では、①スマートコントラクトとは何ですか。②またブロックチェーンにおけるその役割は何ですか。それらの問題について、以下はスマートコントラクトの概念・メカニズム・およびメリットなどを紹介します。


スマートコントラクトとは何ですか。

スマートコントラクトの概念は、最初的に1993年に暗号学者とコンピューター科学者のNick Szabo(2017年の万向ブロックチェーングローバルサミットでの講演者)から提案されました。ブロックチェーン分野での応用により、それがますます多くの人々に知られるようになっています。

スマートコントラクトは、ブロックチェーン上で実行されるプログラムコードとして簡単に定義されます。これには、関連の当事者がどのように相互作用を行うかを決定する一連のルールが含まれています。事前に設定されたルールが満たされている限り、コントラクトは自動的に実行されます。

実際に、スマートコントラクトはスマートでもないし、現実世界に法的コントラクトと同じでもありません。スマートコントラクトは、「それをコーディングした人と同じくらいスマート」だけです。つまり、スマートコントラクトは単なるソフトウェアプログラムであり、他のプログラムと同様に、プログラマーが意図したとおりに実行されます。スマートコントラクトはプログラミングアプリケーションのようなものです:「トリガーされたら、実行します」。

また、条件によってはスマートコントラクトが合法的なコントラクトとなる場合がありますが、実際の法律上のコントラクトと混同することはできません。ただし、ブロックチェーンの急速な発展に伴い、スマートコントラクトと法律上のコントラクトは融合する可能性があります。




スマートコントラクトはどのように機能しますか。

例を挙げると理解するのは簡単になります。

AさんはBさんに1,000円を借りる時、二人は一週後にローンを返済することに合意しました。その時点では、彼らはいかなる書類にも署名せず、監査する第三者を指名していませんでした。合意された返済時期が来るとき、Bさんは債権を回収したくても、Aさんは返済しませんでした。この状況について、過去の経験に基づくと、Aさんはその時点でBさんに領収書を書いたとしても、期限が切れて返済しない可能性があります。

この借金の過程がスマートコントラクトに置かれると、どうなるでしょうか。例えば、Aさんがお金を借りるとき、二人は借金条件を設定します:条件によって、今日中でBさんはAさんのアカウントに1,000円を送金する必要があり、Aさんは一週後に1,000円を返済する必要があります。そして、一週後、Bさんが催促しなくても、コントラクトは自動的に1,000円をAさんのアカウントからBさんのアカウントに振り替えます。

すべてのスマートコントラクトは基本的に同じのルールに従います:プログラムを事前に作られたコードにより、ルールが作成されます。そしてルールに従って自動的に実行します。

この場合、スマートコントラクトを利用する参加者には、①手動決済よりも速い、②信頼の問題が解消される、③実行費用がかからないなどのメリットがあります。


スマートコントラクトワークフロー

1. コントラクトの事前定義:

ここで、支払いに使用される通貨、実行条件、実行日など、すべてのルールは当事者によってコントラクトに定義されます。

2. 事件:

これは、コントラクトの実行をトリガーする「事件」を指します。受信した情報でも取引の開始でも、「事件」の役割を担うことができます。上記の例と同様に、返済期限になると返済します。

3. 実行と価値移転:

コントラクトは、条件を満たす価値移転を実行します。上記の例をとると、AさんのアカウントからBさんのアカウントに1,000円を送金することは価値の移転です。

4. 決済:

これが二つの方法で実現されます。一つはオンチェーンの資産(デジタル資産)を暗号資産としてアカウントで自動的に決済されることで。もう一つは、オフチェーン資産を株式や法定通貨などの実際の資産として決済されることです。アカウントの変更は、オフチェーン決済の指示と一致します。


ここまで、スマートコントラクトとは何かがわかったのでしょうか。そして、それはどのように機能するのか、なぜスマートコントラクトが必要なのかを後述で検討します。


スマートコントラクトのメリットと特徴

・透明性:スマートコントラクトがブロックチェーンに実装されることにより、コントラクトで規定された条件を表示して、すべての関係者が確認・利用できるようにします。一旦コントラクトが確立されると、変更できません。


・正確性:スマートコントラクトはプログラムコードと事前定義されたコンテンツであるため、主観的な誤りがありません。すべての結果は正確であり、人的なミスがありません。

セキュリティ:スマートコントラクトは現在の利用可能な最高レベルのデータ暗号方式を利用しているため、そのセキュリティレベルはインターネット上での最高レベルです。


・迅速:スマートコントラクトはコード上で実行されるため、取引を非常に迅速に実行できます。従来のビジネスプロセスと比較して、多くの時間を節約できます。

高効率:従来のコントラクトに関しては、コントラクト条件の理解が異なるために異なる意見があり、紛争を引き起こすことが多いため、従来のコントラクトと比較して、スマートコントラクトは計算言語でその違いを回避できます。このように、紛争はほとんどなくなり、合意に達するためのコストは非常に低くなります。そこで、コミュニケーションの問題による非効率性を減らすことができます。


・永続的なストレージとバックアップ:ブロックチェーンで実行されているスマートコントラクトは、ブロックチェーン上のネットワークノードによって共同で維持されます。ブロックチェーンが存在する限り、スマートコントラクトは永続に実行できます。同様に、スマートコントラクトによって記録されたデータも、将来の参照のために永続的に保存されます。


・信頼:スマートコントラクトはコード上で実行されます(Code is law)。取引者はコードの信頼に基づいて、サードパーティの仲介業者がそれのセキュリティ・自動化・透明性を保証する必要がなくなり、信頼できない環境でも安全かつ確実に取引を実行できます。このようにして、操作上の悪意やミスなどのことが出る可能性が排除されます。


・確実な結果:これは、スマートコントラクトのもう一つの魅力的な特徴です。自動的に実行されるコントラクトを通じて、各パーティの当事者は、基礎となるコードのルールに従うことを承認します。これにより、法廷に行く必要性がある程度に減少または排除されます。


・コストの削減:スマートコントラクトのもう一つの特徴は、サードパーティの仲介機関が不要になることです。これは、弁護士・銀行・証人・その他の仲介者が必要ないことを意味します。


もちろん、これはスマートコントラクトにデメリットがないということではありません。現在の法的枠組みは全面的なスマートコントラクト社会をサポートすることはできません。またブロックチェーンテクノロジーはまだ初期段階にあるため、セキュリティとパフォーマンスの面でまだ開発の余地がたくさんあります。