スマートコントラクトって何? 「競合との協業」という新たなビジネスの地平を開ける仕組みである理由とは:Ethereumではじめる“スマートコントラクト開発”(1)(2/2 ページ)
本連載では、「Ethereum」を使った契約の条件確認や履行などを自動で行う「スマートコントラクト」の開発方法を紹介していきます。第1回目は、スマートコントラクトとは、どのような仕組みで、どのような場面で使えるのかを紹介します。
企業とスマートコントラクト
これまでの説明は、主にパブリック型DAppsのスマートコントラクトでした。これは、さまざまな場所で、誰でも利用することができるものです。一方、企業におけるスマートコントラクトは、少し違います。パブリック型DAppsのスマートコントラクトを例えるなら公道に面して設置される自動販売機で、誰でも利用できるもの。対して企業のスマートコントラクトは、企業がビルの中に設置する自動販売機のようなものです。
ビルの中の自動販売機を利用する顧客は、主にビルの所有会社やテナント企業の社員です。このような自動販売機は、利益を得るためではなく、社員の福利厚生や満足度向上を目的として設置し、商品価格を市場価格よりも割り引きしていることが少なくありません。この場合、部外者が頻繁にこの自動販売機の商品を購入するようになっては困ります。
企業のスマートコントラクトは、アクセスコントロールを細かく設定し、特定の人にしか使えないようにすることが重要です。これが企業内のスマートコントラクトに求められる重要な要素で、一般に公開されるパブリック型DAppsのスマートコントラクトとの違いです。
では「さまざまな場所で、誰でも利用することができる」ことを良しとしない企業のシステムが、スマートコントラクトを活用する目的とは何でしょうか。
企業がスマートコントラクトを活用する最大の目的として考えられるのは、従前通りでは協力することができない自社以外のプレイヤー、いわば“競合”と協力し、新たなサービスの提供を実現するためです。もしくは自社以外のプレイヤーと協力することでサービスレベルを飛躍的に向上させるためです。
例えば次のようなケースが挙げられます。
システム会社は、慢性的なIT技術者不足により、クライアントの案件依頼に応えきれない状況が長らく続いているところも少なくありません。また多重下請け構造やオフショア化の進展などにより、技術者の役割の細分化が進み、人員の育成や人数の増強が難しくなっているという課題があります。
一方のユーザー企業は、社内SE(システムエンジニア)の主な役割がシステム会社の管理になったことで、社内のIT技術者の育成やシステム開発の内製化が困難になっているという課題を抱えています。
これらの課題は、産業構造に起因する問題なので、短期で解決することは難しいでしょう。IT技術者の不足によってユーザー企業の案件に応えきれないシステム業界の現状を改善するために、複数のシステム会社で協力して共同事業体(コンソーシアム)を形成。ユーザー企業の案件情報をコンソーシアムで共有し、あふれる需要に応えやすくすることが、有効な手だての1つになるかもしれません。この案件共有システムに、ブロックチェーンとスマートコントラクトを生かせられる可能性があります。
システム会社は、自社がユーザー企業の案件に応えきれない場合は、案件共有システムに案件の情報を登録し、他のシステム会社に案件を紹介。紹介した企業は、紹介先の企業から紹介手数料を受け取ります。この紹介手数料の受け渡しに関するロジックを、スマートコントラクトで実装することで、紹介手数料に関するやりとりを自動化できます。紹介を受ける企業は、技術力があれど営業に回る余裕がない企業などが想定されます。これらの両企業はWin-Winな関係にあるといえます。
一方で、ユーザー企業は、案件共有システムがあることで、1社に案件を依頼すれば、多くのシステム会社から自動的に引き受け先を探すことができるようになり、効率的に受注先を探せます。
このように、従来の枠組みを超えた形でブロックチェーンやスマートコントラクトが活用されるといいのではないかと考えています。
スマートコントラクトの開発プラットフォーム
2017年の執筆段階において、スマートコントラクトのコードを書くことができる主要なプラットフォームは3つあります。
どのプラットフォームも日進月歩の開発途上であり、決定的な優劣はつけにくい状況です。そのため「何から学ぶか」という選択で悩む人も多いでしょう。ブロックチェーンの本質的な構成要素は、どのプラットフォームにも共通するため、自分の環境でよく耳にするプラットフォームを選択するのを勧めます。本連載では、スマートコントラクトの開発が容易なEthereumを題材に扱っていきます。
Ethereum
特徴 | フレームワークにとらわれることなくあらゆるロジックを記述することができ、自由度が高い |
---|---|
開発言語 | Solidity(独自言語) |
開発推進者 | Ethereum Fundation |
チュートリアル | https://solidity.readthedocs.io/en/develop/index.html |
Hyperledger Fabric
特徴 | 一般的な開発言語を採用し、SQLに似たフレームワークでデータの読み書きをするなど、既存のシステム開発技術との親和性が高い |
---|---|
開発言語 | Java、Go |
開発推進者 | Linux Fundation |
チュートリアル | http://hyperledger-fabric.readthedocs.io/en/latest/index.html |
R3 Corda
特徴 | 金融当局によるモニタリング機能など、金融機関が共通で使用する機能をプラットフォームが標準装備 |
---|---|
開発言語 | Java |
開発推進者 | R3 Consortium |
チュートリアル | https://docs.corda.net/index.html |
次回
第1回ではスマートコントラクトとは何なのか、どういう使い方が考えられるのか紹介してきました。次回は、Ethereumをベースに、スマートコントラクトコードの書き方や一般公開の方法を紹介します
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
今の仕事が自動化されたとき、われわれはどう生き残るのか?――IBM Watson Summit Tokyo レポート
AIなどテクノロジーの急速な進展は、既存の業界構造を変えるだけではなく、われわれの生活や社会の仕組みそのものも大きく変えていくといわれている。では例えば、今ある仕事の多くが自動化されるという予測については、われわれは一体どのようなスタンスで受け止めれば良いのだろうか?ブロックチェーンは「取引コストゼロ」の世界を実現しようとしている
本特集では金融業界がFinTechでビジネスを拡大するために必要な技術要件を浮き彫りにし、一つ一つ解説していく。今回は、FinTechの潮流の中で、特に注目を浴びているキーワード「ブロックチェーン」についてのセミナーの模様を紹介する。その応用分野は狭義の「金融」にとどまらない。流通やヘルスケア、音楽、ゲーム、さらには「契約」全般など、幅広い可能性を秘めたブロックチェーンの可能性を探る。銀行員も知っておきたいブロックチェーンの仕組み、業務への応用事例と留意点
本連載では、銀行系システムについて、その要件や歴史を整理しつつ、スマートフォンを使う銀行取引やブロックチェーンなど、新しい技術が及ぼす影響を考察していきます。今回は、ブロックチェーンの仕組みを概説し、その特徴を踏まえて、FinTechや銀行業務での活用形態、システム化に向けた留意点について解説します。