シェアする

仮想通貨だけじゃない!Dappが開拓するブロックチェーンの未来とは

シェアする

今回は実世界におけるブロックチェーン活用の本丸として注目を集めている『Dapp』について解説します。
ブロックチェーンと言えばビットコインやアルトコイン等、仮想通貨とセット、またはほぼ同義で語られることが多いのですが、厳密にはブロックチェーンの可能性は通貨に留まらないのです。

Dappとは

一言で言うと『分散型のアプリケーション』です。Decentrized Applicationの略語です。

既存のアプリケーションの課題

スマホアプリ等ライトなものから基幹システムで使われるようなものまで、アプリケーションという言葉自体は今日日珍しくもなんともありません。こうした既存のアプリケーションには管理者や、管理するサーバー、システムがセットで存在します。
例えばApple storeやgoogle Play storeでアプリを検索すると必ず製作者の名前が出てきます。法人か個人かの違いはありますが、その製作者がアプリを管理しています。さらにそのアプリを動かすためには、プログラムを置いておくためのサーバーが必要です。

上記のような既存のアプリケーションの特徴は、デメリットにも繋がります。
例えばアプリの運営者はみな善人とは限りません。登録した個人情報を突然持ち逃げされてしまう可能性は排除できません。
また人に問題がなかったとしてもサーバーが落ちたりするリスクはあります。アクセスが集中してアプリが動かなくなった、なんてことはザラにありますが、この可能性も究極的には0にできません。

Dappのアプローチ ~分散化~

上記のような既存のアプリケーションの課題を、『分散化』というアプローチで解決しにいくのがDappです。

Dappの場合、運営主体やサーバーは単一ではなく、ネットワーク上で分散されて管理されています。アプリケーションはオープンソースで作られているため、誰でも情報を参照したり、開発に参加することができます。

これだけだとただの無法地帯ですが、その信頼性を担保するのがブロックチェーンであり、スマートコントラクトの仕組みです。

Dappの仕組み

Dappの仕様はスマートコントラクト上で定義されています。そのDappが動くトリガーになるイベントと、イベントが発生したときの約束事(コントラクト、要は処理)がプログラムで記述されています

そしてそのDappの信頼性はブロックチェーンで担保されています。仮に悪意を持った形でスマートコントラクトの書き換えが起こったとしても、そのノードが承認されなければ自動的にその改変は排除されます。

これらの仕組みがあることで、Dappは単一の管理者やサーバーがなくても信頼できる形で作動できるのです。

プラットフォームとしてのイーサリアム

Dappはスマートコントラクトとブロックチェーンの仕組みがあれば作れますが、現在ではDappの多くはイーサリアムのプラットフォーム上で作られています。以前の記事でスマートコントラクトがイーサリアムの特徴であると書きましたが、最も柔軟にスマートコントラクトを設計できるのがイーサリアムなので開発が進んでいます。

イーサリアムではSolidityという言語を使ってスマートコントラクトを記述します。筆者も実際に開発したことがありますが、記述そのものはjavaやphp等一般的なプログラミング言語とさして変わらないので、開発のハードルはさほど高くありません。

Dappの課題

輝かしい未来しか見えないようにも見えるDappですが、課題もあります。大きくは以下の3点です。

スケーラビリティ

イーサリアムでも何でも、スマートコントラクトの実行にはノードが承認されることが必要です。Dappが増え、スマートコントラクトの実行頻度が増えれば増えるほど、1単位時間あたりに必要な承認のボリュームは加速度的に増えていきます。逆に言うと承認速度が遅い場合、アプリケーションの実行速度そのものが遅くなることが懸念されます。

一部には現状のブロックチェーンの承認速度では、既存アプリケーションに比べ遥かに利便性で劣るという意見もあります。ビットコインのブロックサイズの問題と本質的には似ていますが、こうした課題を解決する必要があります。

手数料(gas)

イーサリアムの場合、スマートコントラクトの実行にはgasという手数料が必要です。スケーラビリティの問題とも関連しますが、実行が増えれば増えるほど手数料の高騰や、それによる経済合理性の低下が懸念されます。

セキュリティ

スマートコントラクトの場合、バグや実装ミスが起きてしまうと大きな損失を招く恐れがあります。イーサリアムクラシック誕生も、スマートコントラクトのバグにより数百億の損失が出たことが発端でした。
分散化された仕組みの中でそのようなエラーを誰がどう検知するか、の課題です。

まとめ

いかがでしたか?
次回以降は実際に世の中にリリースされているDappの紹介を通じて、その可能性を探っていきます。

シェアする

フォローする

投げ銭

記事をいいねと思ったら投げ銭をお願いします