スマートコントラクトとは
スマートコントラクトは「smart (賢い)cotract (契約) 」のことで、ブロックチェーン上での契約行為を指します。あらかじめ決められたルールに基づいたプラグラムを準備し、契約の成立条件が満たされた場合に自動的に契約が承認されます。
人の手を介さず、瞬時に契約の履行ができることから、今後の発展が期待されています。ちなみに、スマートコントラクトの仕組みは非常に合理的で、わかりやすく言えば、自動販売機の仕組みに似ています。
スマートコントラクトの歴史
スマートコントラクトを世に広めたのは、暗号化資産 (仮想通貨) のイーサリアムですが、スマートコントラクトのアイデアは暗号学者のNick Szabo氏で、既に1994年に確立していました。Szabo氏は当時Bit Gold(デジタル資産)を構想しましたが、実現には至りませんでした。
Szabo氏は自動販売機をスマートコントラクトの一例に挙げました。自動販売機では購入したい商品を選択し、代金を投入すれば、自動販売機は選択された商品を購入者に渡すというルールに従ってプログラムが自動的に実行されます。
この初歩的な動作がスマートコントラクトの原型であり、商品が様々な物品やサービスとなって広がっています。現在のスマートコントラクトはビットコインの開発者、Satoshi Nakamoto氏が2008年にデジタル暗号通貨に関するホワイトペーパーを公開したことに端を発しています。
その後2013年にVitalik Buterin氏がイーサリアムに関するホワイトペーパーを発行し、イーサリアムのブロックチェーンに実装が可能なスマートコントラクトが適用され、スマートコントラクトの構築が広がっていきました。
【参考】:Nick Szabo - Wikipedia 【参考】:Satoshi Nakamoto - Wikipedia 【参考】:Vitalik Buterin - Wikipedia
ブロックチェーンとは
「プロックチェーン」はもともと暗号通貨の代表的な存在で知られる「ビットコイン」の仕組みを実現するため、その基幹技術として開発をされています。ブロックチェーンとは、取引の履歴を暗号技術により、1本の鎖のようにつなぐことで取引データを正確に維持するためのデータベース技術のことです。
ブロックチェーンの参加者はネットワーク上で互いの取引履歴を共有し、全ての取引を正確に記録できます。 ブロックチェーンの分かりやすい例としては、Googleドキュメントが挙げられます。
Googleドキュメントは、誰かがドキュメントを作成し、グループでそれを共有すると、誰もがそれを共有し、ドキュメントにアクセスできます。また更新の履歴もすべて管理されています。
イーサリアムとは
イーサリアム(略式記号:ETH)は、契約を自動実行させることができるプラットフォームの名称です。インターネット上で決済や送金などができる暗号資産としての利用がよく知られています。も利用されています。
イーサリアムの特徴としては、以下の3つが挙げられます。
▪スマートコントラクトが実装されている ▪DApps(Decentralized Applications)と呼ばれる分散型アプリケーションからなる ▪マイニング方式(Proof of Work::PoW)の採用により取引データの処理を行った人に報酬が支払われる
【参考】:Home | ethereum.org
スマートコントラクトの特徴
スマートコントラクトの特徴には、どういったものがあるか整理しておきましょう。主な特徴として3つご紹介します。1つずつ詳しく解説します。
イーサリアムのプラットフォームに実装されている
スマートコントラクトは、暗号資産として知られるイーサリアム(ETH)のブロックチェーン上に実装される機能です。
イーサリアムはスマートコントラクトを利用したDApps(分散型アプリケーション)を採用し、アプリケーション内で取引や契約をスマートコントラクトによって自動化しています。スマートコントラクトは金融やゲームなど幅広い事例があります。
自動で契約や取引を履行する
スマートコントラクトは決められた条件に従って、自動的に契約や取引を実行します。契約行為には契約内容の確認から、契約書作成・契約締結・契約履行・決済まで様々なステップがあり、その手続きに時間を要します。
スマートコントラクトでは条件さえ満たせば契約が自動的に実行され、契約に類する行為が瞬時に成立させることが可能です。
ネットワーク上で情報を閲覧可能
ブロックチェーン上に構築されたスマートコントラクトは、承認済みの契約をネットワーク上で誰もが閲覧することができます。また、あらゆる契約や取引情報がネットワーク上に分散して保存され、データの改ざん対策もなされ、透明性が確保されています。
スマートコントラクトのメリット
次に、スマートコントラクトのメリットについて見ていきましょう。主なメリットとして3点ピックアップしてみました。
改ざんなどの不正を防止できる
スマートコントラクトは人の手を介さないため、第3者が介入する余地はなく、ブロックチェーン上に分散してデータを記録するなどして、改ざんなどの不正を防止できます。
ソースコードが公開され、透明性が高い
スマートコントラクトは、プログラムのソースコードが公開されていることで安心して利用できます。また契約情報はすべての人の閲覧が可能で、高い透明性を確保しています。
様々な取引や契約のコスト削減ができる
スマートコントラクトでは契約が自動化され、仲介業者などを介在させない直接契約・直接取引を行えることから、全体的なコスト削減を実現するとともに、短時間での契約や取引を可能としています。
スマートコントラクトのデメリット
以上、大きなメリットが期待されるスマートコントラクトですが、次のようなデメリット3点もあげられるので、1つずつ確認していきましょう。
契約の変更を遡って行えない
スマートコントラクトによって締結した契約を後から遡って変更することはできません。契約のミスや契約情報に個人情報が記録された場合などには、その取り消しや修正が困難ですので、契約には細心の注意が必要です。
スケーラビリティでの課題がある
スマートコントラクトはブロックチェーン上で利用されますが、その利用者が増加していくと、処理遅延などのリスクが想定されます。ネットワークや処理サーバーなどのスケーラビリティ、根本的な仕組みの見直しを迫られる可能性があります。
プログラムの不具合が大きな問題を引き起こす
スマートコントラクトは他の仕組みと同様に、プログラムによって構築されるため、人的なミスや不完全なテストによって不具合が発生する可能性を否定できません。欠陥のあるプログラムは重大事故を招く可能性があるため、開発体制や検証体制、テストに万全を期し、品質を高めることが求められます。
このバグへの対応として、DeFi (分散型金融) を代表するMakerDAOプロジェクトはバグ報奨金プログラムを導入し、バグ発見者に最高1,000万ドルの報奨金を与えると発表しています。
【参考】:MakerDAO Bug Bounties | Immunefi
スマートコントラクトの活用事例
スマートコントラクトは企業と顧客、参加者にとって様々なメリットがあることから、積極的に導入を進める業界が現れました。ここでは、保険業界・銀行業界・不動産業界におけるスマートコントラクトの活用事例について紹介します。
保険業界の事例
保険業界では、保険料の徴収や保険金の支払いなど、保険契約のプロセスをブロックチェーン技術を利用して構築を進めており、実証実験の結果を踏まえて様々な分野への適用が検討されています。以下、保険業界におけるスマートコントラクトの実証実験の事例です。
【参考】:ブロックチェーン技術による保険契約業務プロセス自動化実験 | マイナビニュース
銀行業界の事例
銀行では個人向けローン業務の合理化に、スマートコントラクトを構築する動きが見られます。個人ローンでは契約内容確認・取引執行・ローン残高管理などで人の手を介する業務が多々ありますが、スマートコントラクトを構築することで、銀行側と顧客の双方にとって大きなメリットが期待されています。
以下、個人向けローン業務のコントラクト導入実験の事例です。
【参考】:「スマートコントラクトシステム」の活用に向けた実証実験の開始について
不動産業界の事例
不動産の契約や取引におけるスマートコントラクトの事例です。急増する空き家問題、未登記の所有者が不明の不動産問題などの解決に向けた、ブロックチェーン技術による不動産権利移転記録の実証実験の事例です。
【参考】:ブロックチェーンを用いた権利移転記録の実証実験を開始
スマートコントラクトの可能性
ここまで、スマートコントラクトについて、スマートコントラクトの概要、メリット・デメリット、活用事例について紹介しました。スマートコントラクトは様々な業界で実証実験が行われ、大きな期待を集めています。
スマートコントラクトにはハッカーによる不正やプログラムバグによる損失などの課題が残っており、その解決が待たれます。しかし、スマートコントラクトが完成し、様々な分野に普及すれば、サービス向上、業務の効率化、取引の透明性向上、働き方の多様化、不正の減少など多くの成果が期待されます。
バグの撲滅、セキュリティの向上などに対するITエンジニアの役割は大変重要です。スマートコントラクトに関心を向け、ぜひ業務やスキルアップに生かしてください。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから