かとのぼのマイコード・マイライフ

ウェブサービス開発者のブログ

イーサリアム(ethereum)のスマートコントラクトとは?【学習入門者向けの5分でわかるスマートコントラクトの基礎知識】

smartContract

今回は、暗号通貨イーサリアムのスマートコントラクトについての記事です。

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

スマートコントラクトは「プログラムされた契約」という意味です。

そもそものスマートコントラクトの概念は、コンピューター科学者の「Nick Szabo(ニック・スザボ)」が発表した論文「The Idea of Smart Contracts」で提唱されました。この論文が発表されたのが1997年です。

その中で、スマートコントラクトの例として、自動販売機を用いて説明しています。

スマートコントラクトの例「自動販売機」

先ほど、スマートコントラクトは「プログラムされた契約」と説明しました。

自動販売機ではどんな契約がプログラムされているでしょうか?

自動販売機で商品を買う時を想像してください。

自動販売機では、販売しているジュースの値段はあらかじめ決められています。その金額以上お金を入れた後、買いたい商品のボタンを押すと私たちは商品を購入することができます。

f:id:katonobo:20190309085149p:plain

自動販売機にプログラムされている契約はこうです。

  1. もし、設定された金額以上のお金が入金された場合、商品の購入する権利が発生する。
  2. 設定以上にお金が入っている状態で商品のボタンを押すと、選択された商品が自動販売機から出てくる。購入した後の残りのお金はお釣りとして出す。

こういったプログラムが自動販売機に設定されているため、自動販売機は無人で商品を販売できます。

プログラムにより契約を自動的に執行する。これが、スマートコントラトの概念です。

ブロックチェーンとスマートコントラクトの関係

ここで、スマートコントラクトとブロックチェーン技術の関係について考えます。

ブロックチェーン技術の記事でも紹介しましたが、ブロックチェーンは中央管理者が存在せず、非中央集権です。

ブロックチェーン技術によりインターネット上でのやり取りは記録は改ざんできず、安全に情報を保持することができます。

取引の履歴は分散台帳によって、ネットワーク参加者のみんなで監視しています。

では、ブロックチェーンに、スマートコントラクトを組み込むと、どのようなことが可能になるのでしょうか?

スマートコントラクトと️ブロックチェーン技術により契約執行が自動行われる

ビットコインを例に出します。

ビットコインは、ビットコインを誰かに送ったり受け取ったりすることができます。

ビットコインの取引は、ビットコインのブロックチェーンに全て記録されています。

ビットコインはブロックチェーン上の取引で非中央集権なので、取引の仲介者は存在しません。

そのため、定められた条件さえ満たして入れば、その取引を止めることができるものは存在しません。

取引は全て公開されているので、相手がこの契約は無効だというような言い逃れもできず、透明性も高いものとなります。

つまり、ブロックチェーンを使ったスマートコントラクトにより、個人が仲介者なしで、安心して取引を行うことができるのです。

これは個人が、相手を信頼する必要がないまま安心して取引を行うことができることを意味します。このような仕組みは今までありそうでありませんでした。

イーサリアムのスマートコントラクト

ビットコインでは、ビットコインの送金がスマートコントラクトに当たります。 イーサリアムでは、さらにその利用範囲を拡大させています。その範囲は、少し語弊がありますが、言ってしまえばブロックチェーンにプログラムできること全てです。

イーサリアムはスマートコントラクトの範囲を拡大するために生まれた

イーサリアムは、ヴィタリク・ブテリン氏が提唱しました。

彼は、もともとビットコインの開発者でしたが、より柔軟にスマートコントラクトが組み込めるプロジェクトとして、イーサリアムを考案しました。

イーサリアムのブロックチェーンでは、様々なプログラムをブロックチェーン上に保存することができます。

プログラミングされたスマートコントラクトは、ブロックチェーン上に記録され、全ての人がその取引の情報を確認することができます。

記録された条件を満たした時には、自動でプログラムが執行されます。

第三者を挟まずに様々な取引が安全に行えるというのは、今までの社会を大きく変革させる可能性を秘めています。

例えば、ホテルの旅行サイトを使う時、どこかのサイトを使って予約します。

この時、予約サイトはホテル側から手数料を徴収します。これはホテル代に上乗せされています。

ところが、ブロックチェーンとスマートコントラクトを使って同じようなサービスが実現されれば、個人が仲介サイトを介さずにホテルと直接やりとりすることができます。ホテルならホテルが運営しているサイトがある場合がありますが、エアービーアンドビーだったら、個人がサイトを運営しているのは稀ですし、信頼できるかどうかはわかりません。 インターネットで買い物するときはクレジットカードを使いますが、これも取引を担保する第三者がいないと取引が安全に行えるかどうか怪しいためです。クレジット会社は信用を提供することで手数料を徴収しています。

このようないわば信用コストは、私たち利用者に回り回って負担となっていますが、ブロックチェーンとスマートコントラクトにより、コストを下げることができる可能性があります。

スマートコントラクトとブロックチェーンの相性は非常に良いのです。

まとめ

以上がスマートコントラクトの説明とその効果についてのまとめです。最後にこの記事の要約をして終わります。

  • スマートコントラクトは「プログラムされた契約」と訳され、設定した条件を満たす時に自動的に執行される仕組みのこと。
  • イーサリアムなど、暗号通貨のブロックチェーン上にスマートコントラクトを組み込むことで、第三者を介さずに安全に契約が執行させることができる。
  • イーサリアムのスマートコントラクトで様々なサービスが個人間で安全に直接やりとりすることができるようになる可能性がある。

 

 関連記事:

 

下のはてなブックマークをしていただけると、より多くのプログラミング初心者の方にこの記事が届けられます。私もとても励みになりますので「ブックマークしても別に良いよ」という方は是非よろしくお願いいたします。