その他

WebAPIとDappsを繋ぐOraclize(オラクライズ)のソリューション

shoto です。

現在複数のブロックチェーンが開発され、そのブロックチェーン上には多くのDApps(分散型アプリケーション)が開発されています。

特にイーサリアムブロックチェーン上にはAugurやIDEXなどのDappsや企業の独自トークンが多く開発・発行されています。

その要因としてスマートコントラクト(契約自動執行機能)がありますが、実はこのスマートコントラクトには実装に不便な点が複数存在します。

その1つにブロックチェーン外部のデータ不足です。

「どういうこと?」と思う方も多いかと思います。

そこで今回はスマートコントラクトの課題とそれを解決するOraclize(オラクライズ)についてお届けしたいと思います。

要点
  • 多様な分野でブロックチェーンを活用するには、スマートコントラクトの執行要素として信頼できる外部データが必要。
  • Oraclize(オラクライズ)は外部データをDAppsへ提供するサードパーティ。
  • Oraclize(オラクライズ)は独自の暗号化技術でデータの信憑性を証明できる。

スマートコントラクトの課題

それではさっそくスマートコントラクトの課題について紹介します。

スマートコントラクトって?

スマートコントラクト

まずスマートコントラクトについてですが、スマートコントラクトとは契約がプログラムで自動認証・実行されるものをいいます。

スマートコントラクトのメリットとして、ブロックチェーンと組み合わせることで契約取引の履歴がブロックチェーンネットワーク内に公開・記録され、これにより改ざんや不正ができないことでエスクロー(信用を担保する第三者預託)を必要としません。

そのため、トラストレスにユーザー同士が取引を行うことが可能となります。

また、契約取引に第三者が介入しないため、低コストで取引することが可能となります。

外部データを持ち込めないブロックチェーン

ブロックチェーン

スマートコントラクトの欠点はブロックチェーン外部のデータ不足にあると前述しましたが、実は多くのDappsはブロックチェーン内部のデータを利用して運用されています。

そして、様々な分野にブロックチェーンやスマートコントラクトを活用するには、ブロックチェーン外部のデータが必要になります。

しかし、今までインターネットに蓄積してきた様々なデータをスマートコントラクトを実行する要素として利用するためのソリューションが確立されていません。

その要因としてブロックチェーンはその非可逆性から正しい情報のみを記録するための認証設計がなされており、不用意にブロックチェーン外部のデータをブロックチェーン内に持ち込めないのです。

ここでブロックチェーン外部のデータが必要なYouTuberとスポンサーを繋ぐ自動化したエスクローを簡単な例で説明します。

1.YouTuberに対して広告を掲載するスポンサーが動画1回の再生×1円を報酬として月に1度ビットコインで支払うスマートコントラクトを設定します。

2.お互いスマートコントラクトに合意し、契約が自動で執行・認証されブロックチェーンに記録されます。

3.このスマートコントラクトはブロックチェーンネットワークに存在するノードへブロードキャストされ改ざんが不可能となります。

4.YouTuberの動画は5万再生され、5万分のビットコインがスポンサーのウォレットから自動でYouTuberのウォレットに送金されます。

このスマートコントラクトの問題はスマートコントラクトを実行するためにYoutubeから動画の再生回数を取得してこなければならない点にあります。

このような例は一例で、今後ブロックチェーンを様々な分野で活用していくにはブロックチェーン外部のデータ利用が必要になっていきます。

次にブロックチェーン外部のデータ利用にアプローチするOraclize(オラクライズ)が結構イケてるので紹介します。

WebAPIとDappsを繋ぐOraclize(オラクライズ)

オラクライズは前述したスマートコントラクトの問題に対して、ブロックチェーン上に開発されたDAppsに様々なWebAPI(Application Programming Interface)を提供します。

APIとはアプリケーションプログラミングインタフェースのことで、共有可能なプログラムやソフトウェアをWebに公開して共有することができます。

これによって様々なWebサービスのデータを取得することが可能になります。

オラクライズはDappsとWebAPIのハブみたいなものですね。

オラクライズ

ここで正しい情報のみを記録するブロックチェーンに対して、WebAPIから取得したデータが信頼できるソースである認証と証明が必要となります。

オラクライズではWebサーバーとクライアント間で独自の暗号化チャネルを開設し通信し、改ざんを防ぎます。

さらにデータに関しては信憑性証明(authenticity proof)と呼ばれる独自の暗号化アルゴリズムを用いて認証し、信頼できるデータであることを証明します。

オラクライズ

これらによってスマートコントラクトの課題を解決できるのです。

以上、スマートコントラクトの課題とOraclize(オラクライズ)についてお届けしました。

この外部データ取得についてはいくつかプロジェクトがはしっているのですが、実はどれも有能なんです。

今回は個人的に好きなOraclize(オラクライズ)について紹介しました!

興味のある方はぜひ他のプロジェクトも調べてみるとおもしろいと思います。

Bitcoinを投げ銭する