事例も紹介しながら解説!スマートコントラクトとは【初心者向け】

初心者向けにブロックチェーン技術を使って開発するスマートコントラクトとは何かについて解説しています。Ethereumによるスマートコントラクト開発をしたい方は欠かせない知識でしょう。どんな仕組みで動作しているのか事例とともに紹介しています。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、スマートコントラクトについて解説します。

Ethereum(イーサリアム)によるスマートコントラクト開発を行いたい人は必ず理解しておきたい用語でしょう。スマートコントラクトとは何なのか、どんな仕組みで機能しているのか説明しています。

どういったシーンに活用できるのかもぜひ読んでみてください。

 

なお本記事は、TechAcademyのブロックチェーンオンライン講座の内容をもとに作成しています。

 

田島悠介

ここではスマートコントラクトという概念について解説していくよ。

大石ゆかり

田島メンター!スマートコントラクトというのはどういった技術なんですか〜?

田島悠介

契約に関する処理のひとまとまりを自動化させるものなんだ。具体的にどういう形になるのか見ていこう。

大石ゆかり

分かりました!

目次

 

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

スマートコントラクトとは、ブロックチェーン上で動くアプリケーションでありアルトコインの一つである、Ethereumに実装されている技術です。

Ethereumについては、アルトコインの一つとして解説しています。

それまでのビットコインでは、ブロックチェーンという技術を利用して、取引内容の信憑性を担保していました。

Ethereumのスマートコントラクトでは、取引するにあたって契約も担保するプロトコルです。プロトコルとは、コンピューター同士が行う処理の約束事の事です。

 

[PR]ブロックチェーンで挫折しない学習方法を動画で公開中

スマートコントラクトの仕組み

スマートコントラクトの考え方は、ブロックチェーンより古く、1990年代にNick Szaboという暗号学者により提唱されました。

自動販売機を例に説明すると、「購入者がお金を投入→商品ボタンを押す」という契約条件が満たされた場合、商品を提供するという一連の流れ自体をスマートコントラクトで確実に取引できるよう担保しています。

Ethereumではスマートコントラクトを実現することで、仮想通貨の取引だけでなく、通貨を通じ契約を行い、商品や役務の提供まで自動的に処理する事を目指しています。

 

田島悠介

スマートコントラクトがどういう仕組みなのかという解説だよ。

大石ゆかり

自動販売機の例で考えるとよく分かりますね。

田島悠介

最後に、今後スマートコントラクトが活躍しそうであると言われているモデルについても見ていこう。

 

ブロックチェーンとの関わり

ブロックチェーンにおけるスマートコントラクトとは、主にEthereum(イーサリアム)上で実行可能なプログラムです。

同様に、ブロックチェーンを利用しているビットコインでも、 Locking Script や Unlocking Scriptに対してプログラムを書く事は可能が、容量の制限もあり現実的ではありません。

Ethereumでは、スマートコントラクト技術を利用して、自由なプログラム実行を可能にしています。

そして、スマートコントラクトの自由度が、セキュリティの脆弱性を生み出し、結果的に、ブロックチェーンのセキュリティリスクの原因にもなります。

実際、2016年6月17日にThe DAO 事件と呼ばれるEthereum(イーサリアム)盗難事件が発生しました。この結果、Ethereum(イーサリアム)はハードフォークを行い、Ethereum Classicへと分裂する原因にもなりました。

 

スマートコントラクトを学習できる本

堅牢なスマートコントラクト開発のためのブロックチェーン[技術]入門

特徴

紙面の許す限り、スマートコントラクトに関する個々の技術を詳細に解説してあります。

対象ユーザー

スマートコントラクトのセキュリティ対策初心者

学べる事

スマートコントラクトにはセキュリティの脆弱性が存在し、その対策方法に踏み込んだ学習をすることができます。

 

ブロックチェーンアプリケーション開発の教科書

特徴

スマートコントラクトの開発をチュートリアル形式で解説してあります。

対象ユーザー

スマートコントラクト開発の初心者

学べる事

Ethereumのスマートコントラクト開発用フレームワークである、Truffleを利用したアプリケーション開発を学習できます。

 

スマートコントラクトの活用可能性

カーシェアリング

カーシェアリングでは、対価を支払うことで、一定条件で車を利用することができます。

カーシェアリング企業としては、会員登録をから始めることなく、いつでもユーザーカーシェアリングをしてもらうことができます。

それだけでなく、瞬時に代金回収することができるため、事業スピードを加速することができ、代金回収手数料をゼロにすることができます。

ユーザーは、新たに会員登録することなく、アルトコインを利用できるサービスを使いたいときに使いたい分だけ、自動販売機で商品購入するようにすぐに利用できます。

 

不動産取引

不動産取引では、一定金額を支払うことで、対象物件を購入することができます。

しかし、仲介業者へ支払う手数料や、取引完了までの時間が必要です。

スマートコントラクトを不動産取引で利用できれば、短時間で、所有者と購入者同士が、仮想通貨を利用して瞬時に取引が可能になります。

もちろん、ブロックチェーン技術を利用することで、その不動産物件の所有者であることを担保させることが可能です。

 

田島悠介

これらはまだ可能性であって、実際の例ではないんだ。

大石ゆかり

まだまだこれから実装していこうという段階にあるんですね。

田島悠介

全体としてスマートコントラクトは第三者を介さない、自動での取り引きができるものという風に捉えておこう。

大石ゆかり

了解です。ありがとうございました!

 

今回は、スマートコントラクトについて解説しました。

あまり聞きなれない言葉かもしれませんが、知っておくとブロックチェーンの理解も深まるでしょう。

 

また、オンラインのプログラミングスクールTechAcademyでは、ブロックチェーンオンライン講座を開催しています。

ブロックチェーン技術の仕組みを理解し、実際に分散型アプリケーションを開発することができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

その他にも地域の職業プログラマー育成活動を行い、2018年には小学生がUnityで開発したオリジナルAndroidアプリをGooglePlayでリリース。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。