Blockchain
Ethereum
スマートコントラクト
暗号通貨

スマートコントラクトを理解してみた

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

目次

1,スマートコントラクトとは
2,Smart Contract Japanでの説明
3,今後の方針

1,スマートコントラクトとは

大学の研究で暗号通貨に関しての研究をすることになった際に調べて意味がわからなかったため調べて見ました。
調べた結果、スマートコントラクトとは端的にいうと「第三者を介さない自動契約履行システム」であると自分は理解しています。(あくまで自分の見解です)

「スマートコントラクトとは?」に関して詳しく説明する前に、「第三者を介さないで契約を行う仕組みがなぜ必要なのか?」を現在の契約を執行する仕組みがどのようになっているのかというところから説明したいと思います。
現代社会では、webサイトなど相手の見えない場面で取引を行う際には必ず信頼のある第三者(クレジットカード会社など)が介入し、そこが商品が配送されなかった場合や、入金がされなかった場合などの保証を行うというような仕組みになっています。
具体的に例を挙げて説明してみると
例1)現在のwebサイトで物をクレジットカードを利用して売買をする時
smart01.jpg

このような形です。本来であれば、このままで問題はないかと思われるかもしれませんが、この第三者を介して取引をする場合には以下のような問題点が挙げられます。

[問題]

1,やりとりのコスト(手数料)が高い
2,第三者機関の信頼の必要性
3,プライバシー
4,取引成立までにかかる時間
5,中央集権的

「こんな問題が発生するなら直接売り手と買い手が売買を行えばいいじゃないか!」という人もいるかもしれません。では、直接やりとりをした時のことを想定して見ましょう。自分が靴を買うために初めて見たwebサイトから購入したい靴を購入ボックスに入れて、購入手続きを行いました。購入手続きが完了した最後に、「以下の講座番号にお金をいついつまでに振り込んでください。」という文章が出てきました。この時、あなたははいわかりましたとお金を振り込むでしょうか。ある程度の人は、ここで素性のわからない、靴も確実に送ってもらえるかわからない相手に対してお金は振り込まないでしょう。むしろ先に靴を送れよ!となるかもしれません。これに対して、販売業者側は靴を送ったところでネットの向こう側のお客さんが確実にお金を振り込んでくれるかなんてわかりません。なので、「靴を送る前にまずはお金を払ってよ!」となります。お互いがこのような状況になっては一向に契約が履行されません。
例2)webサイトでクレジットカードなど第三者を介さず、物を売る側と買う側が直接売買をする時
smart012.jpg

このように相手が信頼できない関係同士での取引の場合は直接やりとりをするのはどちらも損はしたくないという心理が働けば自然とこのようになってしまうものです。なので、今までは仕方がないく信頼の置ける第三者機関を挟さむことで取引を行なっていたのですが、インターネット場でスマートコントラクトが実行可能になることで、信頼の置ける第三者機関がなく、かつ相手を信頼せずともネットを介して物の売買が行えるようになったのです。

ここからようやくスマートコントラクトの説明です。
スマートコントラクトとは最初の説明でもお話ししたように「第三者を介さない自動契約履行システム」のことです。ここで思い込みをしている方がたまにいるのですが、スマートコントラクトとは仕組みのことなので、ブロックチェーン上で実行されるもののみがスマートコントラクトという訳ではありません。実際にこの現実世界でブロックチェーン以外で稼働しているスマートコントラクトのシステムは存在します。それは自動販売機です。自動販売機は売りたい側の人が直接売るのではなく、間に決まったアルゴリズムにしたがって自動的に処理を行ってくれる機械を挟み、取引契約を行っています。ここでいう取引というのは飲み物を買うに値する十分なお金と購入対象の飲み物が存在することを確認して、飲み物を買い手に渡し、お金を売り手に渡すという取引のことです。最近話題になっているスマートコントラクトとはこの自動販売機のようなアルゴリズムにしたがって自動的に実行される仕組みをブロックチェーン技術を応用することでネットワーク上でも可能になったというお話です。

smatr04.jpg
(※↑のフリーイラストの男性を反転させればよかったことに後から気づいたのですが、作成中は気づかなかったため、消費者と販売側が自動販売機のイラストに限り左右反転しています。)

smart05.jpg

2,Smart Contract Japanでの説明

スマートコントラクトの定義は、2015年現在未だ曖昧ですが、
基本的には「オンライン上の効率的な合意システム」として、
様々なプラットフォーム上で実装が試行され始めています。
文字を分解すると、スマートとは、効率的であるという意味、
そして、コントラクトとは、法的な「契約」という意味ではなく、「合意」という意味です。
つまりスマートコントラクトとは、効率的な合意システムです。

3,今後の方針

実際にスマートコントラクトがBlockchain(特に分散処理アプリケーションのプラットフォームとしての幅を聞かせているイーサリアム上)でどのように実行されているのかを調べて見たいと思います。
指摘等ありましたらバシバシお願いいたします。