仮想通貨サテライト

素朴な疑問【スマートコントラクト】とは

どうも!こんにちは!

クリプトマッスルです!

仮想通貨について調べているとよく「スマートコントラクト」という言葉をよく目にすると思いますが、しっかりと理解している人は少ないのではないでしょうか?

今日は、その「スマートコントラクト」について分かり易く説明していきたいと思います。

スマートコントラクトとは?

スマートコントラクトとは名前の通りコントラクト(契約)をスマート(賢く)に実行する概念です。

執行条件契約内容を予め決めてプログラム化しておくことでその条件が満たされた際に自動的に契約が実行される仕組みです。

スマート・コントラクトSmart contract)とは、契約のスムーズな検証、執行、実行、交渉を意図したコンピュータプロトコルである。スマートコントラクトには第三者を介さずに信用が担保されたトランザクションを処理できるという特徴がある。1994年にNick Szaboにより提唱された。

引用元:ウィキペディア

もう少し詳しく見ていきましょう。

スマートコントラクトの起源

スマートコントラクトという言葉を仮想通貨を始めてから知った方も多く、最近出来た新しい言葉なのでは?と思っている方も多いかもしれませんが実はそうではありません。

スマートコントラクトの概念は、ずっと前からある概念で、1994年にNick Szabo(ニック・スザボ)氏というコンピューター科学者・法学者・暗号学者によって提唱されたものが最初のものになります。

初めにスマートコントラクトが導入されたものとして自動販売機を挙げています。

自動販売機はお金を入れると商品が自動で出て来ますが、この仕組みは人と人との間で売買の合意や、売買契約書があるわけではなく、機械によって自動で執行された契約という意味で、スマートコントラクトの最初の事例であります。

  1. 利用者が必要な金額を投入
  2. 特定の飲料のボタンを押す
  3. 特定の飲料を利用者に提供

この場合、コントラクト(契約)とは書面上で作成された契約のみをさすのではなく、取引行動全般をさします。

スマートコントラクトとブロックチェーン技術

そんなスマートコントラクトをブロックチェーン技術と組み合わせることで、当事者同士のプライベートな取引をプログラムとしてブロックチェーン上で記載し、契約の条件が満たされると自動で契約が実行されるという仕組みができ、ユーザー同士が直接取引を行う非中央集権型のサービスを実現できるようになります。

これにより、取引プロセスを自動化できるため、時間の短縮、仲介業を介さないことによるコスト削減、改ざんが出来ないなど今後の社会を大きく変える可能性があると言われています。

 

スマートコントラクトのメリット・デメリット

ブロックチェーン技術とスマートコントラクトを掛け合わせることで、以下のようなが生まれます。

メリット

従来の契約は相手への信頼が必要不可欠になります。

例えば、お金の貸し借りの時に、借りる側が契約を実行しなかったり、偽の情報を申請したり、貸した側が損失を被ってしまうことがあります。

そこで相手が信頼できないときの契約では、信頼出来る仲介者を通すことで安心して取引を行うことができますが、そうすると仲介手数料や余計な時間がかかってしまいます。

スマートコントラクトでは、契約が自動で実行されるために仲介者を通す必要がなくなり、結果的に時間の短縮とコストの削減につながります。

従来の契約では、契約書を作成して第三者に認証してもらわなくてはいけません。

しかし、安全なブロックチェーン上でやり取りを行うことで、自動的にそれまでのやり取りが全て記録に残り改ざんが出来なくなり、契約の実行履歴が公開もされるため、取引の透明性も高くなります

【初心者向け】3分でわかるブロックチェーン概要

デメリット

上記で述べた改ざんできないというメリットは同時にデメリットにもなりえます。

契約を結んでからの事情の変更が難しいということです。

契約をプログラムで組むのでバグが発生する可能性があり、バグや脆弱性があった場合に、不正な処理が行われブロックチェーンに誤った情報が書き込まれるというリスクがあり、その対応ができません。

スマートコントラクトにおける契約はプログラミング言語というもので組まれます。

そうなると一般の方が理解するにはハードルが高くなり、普通の言語をどうのようにしてプログラミング言語に変更するのかという問題が出てきます

また、契約がプログラミングで書かれるので、曖昧な内容や解釈を要する免責条項などは定義が難しいため、従来の契約をそっくりそのまま代替することは難しくなります。

例えば、電化製品を購入する際に一番安いところから購入するということは出来るが、その製品の出来に信頼が置けないので少し値段が高くても他の製品を購入するといった契約を結ぶことは難しくなります。

 

マッスルまとめ

スマートコントラクトは、ブロックチェーン上にプログラミングすることで実行するプログラムのことで、スマートコントラクトを使用することで人の手を介すことなく、自動で契約を実行させることが可能になります。

今後スマートコントラクトがさらに普及すれば、今まであったような仲介業者はなくなり、全てが自動で行われるようになる未来が来るかもしれません。

しかし、スマートコントラクトを使用する際は、プラットフォームやサービスの特性に応じて自由度と安全性のバランスを考慮することが必要もあるため、その辺りも含めて今後どのようになってくるのか目が離せません。