イーサリアムのスマートコントラクトを応用して開発される事も多い“分散型アプリケーション”であるDappsは、従来の集中型アプリケーションにはないメリットで注目されています。
ただDappsは、課題に関しても度々注目される事があります。

まずイーサリアムのスマートコントラクトを応用されて開発されるDappsについて解説し、指摘されている課題も併せて解説します。

イーサリアムのスマートコントラクトを応用したDappsの概要

Dappsはイーサリアムに採用されているスマートコントラクトと、ブロックチェーン等の分散型台帳を応用したアプリケーションです。
これまでの集中型アプリケーションは、1つのサーバ、1つの管理主体によって管理が一元化されていました。
ただ集中型アプリケーションは、サーバや管理主体にトラブルが発生した場合のリスクが大きく、管理が一元化されている為、不透明性も指摘されています。

Dappsは管理主体を一元化せず、ネットワーク全体でコミュニティを生成し、管理していくという特徴を持っています。
管理主体が存在しないので、集中型アプリケーションで発生していた管理主体へのマージンも発生せず、コストの削減が出来ます。

またコミュニティで管理されている為、情報漏洩などのリスクも少ないです。
中でもスマートコントラクトを実装しているイーサリアムは、Dappsプラットフォームとしての地位を確立していますが、いくつかの課題もあります。

イーサリアムのスマートコントラクトを応用したDappsの課題は?

イーサリアムのスマートコントラクトを応用したDappsには、まず“スマートコントラクトの処理速度”における課題があります。
ブロックチェーンをベースにしたネットワークにおいて、スマートコントラクトの処理速度をスピーディーにするのは簡単なことではありません。

分散されたP2Pのノードは、それぞれ処理速度が違います。
集中型アプリケーションでは、特定の管理団体によって管理がされるため、処理速度が優れているノードだけを利用して管理が出来ます。
イーサリアムのスマートコントラクトを応用したDappsでは、このような対応が出来ません。
どうしても、処理速度が低いノードによって全体的な処理速度が落ちてしまうのです。

ただスマートコントラクトにおける処理速度を高める為に、シャーディングやプラズマといった解決策は少しずつ開発されています。

また、先ほど“管理主体へのマージンが必要ない為コストの削減が出来る”という話をしましたが、イーサリアムを応用したDappsではトランザクションの実行にマージンが必要です。
またユーザーが増加したり、複雑なスマートコントラクトを実行したりする場合には、ユーザーが負担するマージンがどんどん増えることになります。

細かい課題で言うと、Dappsにおけるプライバシーの保護や安全性も指摘されています。
イーサリアムのスマートコントラクトを応用したDappsでは、“zk-SNARK”というプライバシーを守る為の施術が導入されていますが、まだまだ改善の余地はあります。
zk-SNARKを利用した処理実行には、非常に多くのマージンが必要になる為、ユーザーが利用しやすい環境をさらに整えるべきでしょう。

そしてイーサリアムのスマートコントラクトを応用したDappsでは、Solidityというプログラミング言語が使用されていますが、コードにバグ等が発生すると大きな損害が発生する場合もあります。
イーサリアムのスマートコントラクトは利便性に優れていますが、設計ミスが見つかると修復が非常に難しいという特性を持っています。

まとめ

イーサリアムのスマートコントラクトを応用したDappsは、今後少しずつ課題を解決していく事が予想されています。
イーサリアムのロードマップを見れば、先ほど紹介したような課題を克服するためのアップデートが用意されている事が分かります。

ただ、これまでも何度かアップデートが延期になっているという状況の為、最終的に課題が全て解決出来るまでは、もう少し期間が必要になるでしょう。