ブロックチェーンを使用した分散型アプリケーション(DApps)の特徴とヤフーでの可能性を考えてみた

  • このエントリーをはてなブックマークに追加
Yahoo! JAPAN Tech Advent Calendar 2018の12日目の記事です。一覧はこちら

こんにちは! 大阪開発本部の太郎良です。
普段は社内プラットフォームの開発をしていますが、副業制度を利用してブロックチェーン関係の仕事もしています。
今回はブロックチェーンを使用した分散型アプリケーション(DApps)について情報を整理しつつ、所属しているヤフーでの可能性を考えてみました。

※投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。

DAppsについて

DAppsって何?

DApps(Decentralized Applications)とは、分散型アプリケーションのことです。
DAppsに投資するVCのDavid Johnstonらによって次のように定義されています。

  1. アプリケーションはオープンソースとなっており、大部分のトークンを所有する人物/団体が存在せず、自律分散型で運営されていること。アプリケーションのプロトコルの全ての変更は、ユーザーの合意を取らなければならない。
  2. アプリケーションのデータや操作記録は、公開されたブロックチェーン上に暗号化して記録すること。
  3. アプリケーションはトークンを使用しなければならず、採掘者(マイナー)に対して報酬(アプリケーションのトークン)が支払われること
  4. アプリケーションのトークンは、標準的な暗号アルゴリズムによって生成されなければならない。

https://github.com/DavidJohnstonCEO/DecentralizedApplications

定義については上記のようにあるものの、完全な自律分散型のシステムで動いているものはまだ多くないのが現状です。一般にブロックチェーンを使用したアプリケーションがDAppsとして呼ばれているため、この記事でもそちらの定義を使用します。

DAppsの強み

DAppsの強みは大きく3つあると言われています。

  • 単一障害点(Single Point of Failure)がない
  • Trustless(信用する必要がない)
  • Transparency(透明性)

まず、「単一障害点がない」についてです。従来のクライアント・サーバ型ではなく、P2P型でネットワークが構成されるため、ネットワークの中のいくつかのノードが正常に動作しなくなっても、システムを稼働させ続けることができます。
次に、「信用する必要がない」についてです。中央集権型のシステムでは、中央にある仲介機関に信用を預けてユーザー同士のやり取りを行なっていました。非中央集権、自律分散型のシステムでは、仲介者に介入されることなく、ユーザー同士で直接やり取りを行うことが可能です。このことにより、今までのシステムで発生していたマージンの費用を抑えることができます。
最後に、「透明性」についてです。アプリケーションのデータは公開されたブロックチェーン上に保管されるため、改ざんや不正なシステムでないか検証することができ、公平性を保つことができます。

DAppsの課題

DAppsの課題として、まずスケーラビリティ問題が挙げられます。DAppsの処理速度は、DAppsを構築しているプラットフォームに依存しています。そのプラットフォームが混雑している場合、DAppsの処理速度が下がってしまったり、取引を行うための手数料がかさんでしまうという問題が発生します。この問題に対しては、そもそもブロックチェーンに記録するデータを限定すること、ブロックチェーンの外で取引を行うオフチェーンや、メインのブロックチェーンから分岐してサポートを行うサイドチェーンを使用するといった対応を取ることができます。

また、ユーザビリティの問題があります。一般的にEthereumベースのDAppsを利用するために必要なステップは大まかに次の通りです。

  1. Ethereumなどの仮想通貨を購入
  2. MetaMask(Chromeブラウザの拡張機能)を導入
  3. EthereumをMetaMaskのウォレットに向けて送金
    普段、仮想通貨の取引を行わない人たちにとってはなかなかハードルが高いので、スマートフォン上で動かせるようにすることや、仮想通貨の購入なしに動かせることが必要となります。(Ethlessなどこの問題を解消するためのプロダクトも出てきています。)

DAppsを作ろう

DAppsの開発には情報が揃っており、実例も豊富にあるEthereumが利用されることが多いです。EthereumではSolidityという言語を使用して実装します。
チュートリアルとしてCryptoZombiesをやってみるのもオススメです! (日本語訳が秀逸でとても楽しく学べます)

CryptoZombies
https://cryptozombies.io/jp/

そのほかに、NEOを使用するとPythonやJavaScriptなどのポピュラーな言語で実装することができます。

ヤフーでのDAppsの可能性は?

この1年ですっかりブロックチェーンの面白さに目覚めてしまった私ですが、所属企業であるヤフーのサービスをDAppsにするならどういうものができそうなのかを考えてみました。

※繰り返しますが、投稿内容は私個人の意見であり、所属企業・部門見解を代表するものではありません。

ヤフー知恵袋をDAppsにしてみた場合

Q&Aサービスを提供しているDAppsは数多くありますが、ヤフー知恵袋に当てはめてみるとどのようになるか考えてみました。
まず、ベストアンサーに選ばれると、トークン(通貨)が送られる仕組みが挙げられます。トークンが付与されるというインセンティブにより、今までより質の良い回答が集まることが期待できます。
また、回答だけでなく専門家や企業公式、その他ユーザーが質問を集めたい場合に、インセンティブを付与できる仕組みを持たせる場合も考えられます。あるテーマを設定し、そのテーマに沿った質問を募集して、その中の質問を選定してトークンを付与します。

Yahoo!ゲームでDAppsゲームを扱う

Yahoo!ゲームでは、100種類以上の様々なジャンルのゲームを扱っており、ランキング機能が備わっています。もしYahoo!ウォレットからトークンを購入し、そのままMetaMaskのインストールなしにDAppsゲームを遊ぶことができたら、これまでのDAppsへのハードルが高いという問題が解消できます。また、ゲームのガチャの結果や、ランキングの正当性へブロックチェーンを使うこともできます。

Tポイントへの変換

ヤフーでは、現状でもTポイントによってYahoo! JAPANサービス、提携先インターネットサービス、実店舗でTポイントを貯め、使う場が用意されています。

https://points.yahoo.co.jp/

もしDAppsのトークンをTポイントと同じように様々なサービス・店舗で連携させることができたら、さらに利便性をあげることができ、キャッシュレス化を推し進めることになるでしょう。

最後に

2017年は仮想通貨元年とも言われ、仮想通貨やブロックチェーンについてのニュースが急激に増えました。しかしながら、去年は投資や投機的な話題がほとんどだったように思います。

今年は、日本企業からブロックチェーンを利用したアプリケーションDAppsがいくつもリリースされたこともあり、DAppsの話題が増えました。DAppsの事例としても、DEX(分散型取引所)やウォレットアプリだけでなく、ゲームやソーシャルアプリなど幅が広がった年となりました。11月にはハッシュウォーやビットコインの価格暴落により再びネガティブな印象が広まっていますが、ブロックチェーンの技術自体は社会を変革するポテンシャルを持っているので、今後もDAppsをはじめとしたブロックチェーンの創り出す未来に期待していきたいです!

最後に、副業を許可していただいた会社やチームのメンバーに感謝します。これからも世間の新しい技術を取り入れながらヤフーの社内プラットフォーム開発に生かしていきたいと思います。
(参考書籍も社内の制度を利用して買ってもらいました。ありがとうございました。)

参考

加嵜 長門, 篠原 航 (著) 『ブロックチェーンアプリケーション開発の教科書』 マイナビ出版, 2018

10分で理解した気になるDApps入門 〜 Web3.0時代の次世代アプリケーション 〜
http://ykubot.com/2018/03/05/about-dapps-in-ten-minute/

仮想通貨の技術を活かした新たな形のアプリケーション~DAppsとは~
https://coin-girls.com/2018/07/27/application/

DAppsが流行るために必要なこと
https://makionaire.com/dapps-trend/#i

オフチェーンとは?意味や仕組み、実装例、問題点を初心者向けに解説!
https://coinotaku.com/?p=16310

Yahoo! JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。

  • このエントリーをはてなブックマークに追加