DAppsに関する考え

昨日はDFINITY Tokyo Meetupに行った。

www.meetup.com

DFINITYはよく知らなかったんだけど、要するにEOSのようにdPoSに逃げずに非中央集権制を保ちつつもEthereumよりも高速にトランザクション処理ができるブロックチェーンということのようだ。 最近はEOSばっかり見ていたんだけど、まぁこっちもこっちで人気は出そうな気はする…。

f:id:k5trismegistus:20180919214005p:plain

で、問題はそのあとの懇親会。はじめに話しかけた人がビットコイン信者で、DAppsとか意味がない、アプリケーションが分散化しても何もうれしくないよねというスタンスだった。 自分もブロックチェーンを使う本質がないものにブロックチェーン使うのは無意味という考えをしていた時期はあったんだけど、その人と会話している中でその考えは完全になくなっていることに気がついた。

個人的には、ブロックチェーンどうこう関係なく、開発だけしてあとはデプロイしたら勝手に動いてくれるっていう点に未来があるんじゃないかと思う。AWS LambdaとかCloud Functionよりさらに進んだものとして考えればよいわけである。 デプロイしたらもうあとは一切関与せず、お金も払うことなく動き続けるプログラム…。非中央集権がどうとか、宗教的な話はおいておいてこれってすごい価値があると思いませんか?

もちろん、それで儲けようとかサービスを大きくしていこうというプログラムの置き先にはならないが、作ったっきりでお金払ってホスティングするほどじゃないけど無料ならどっかに公開したいレベルのプログラムって結構あると思うんですよね。今までだったらその受け口はherokuとかAWS, GCPの無料枠だったわけだけど、それらは1アカウントにつき1つまで、とかある程度使われたら課金が発生してしまうかもしれない、とか制約がある。

f:id:k5trismegistus:20180919214840j:plain

現実的にSolidityでそんな役に立つものはかけないんだが、Ethereum上にアプリケーションを置いておけば、あとは作成者はまったく関与することなくプログラムは動き続ける。(関与したくてもできない)プログラムの実行に必要なコストはgasコストとしてプログラム利用者が勝手に払ってくれる。 もしeWASMやらShardingやらで、「役に立つ」レベルのプログラムがEthereum上で動かせるようになったとしよう。(「役に立つ」とは、Etherとかトークンの移動関係なく実用的なユーティリティアプリケーションであるということ) そうなったら、とりあえずなんでもできるものはEthereum上にデプロイしておくっていう文化が生まれるかもしれない。

そういう小規模でしょうもないプログラムがたくさんプラットフォーム上にあれば、それをつなぎ合わせることでちょっと面白いことができる、さらにそれらをつなぎ合わせるとさらに面白いことができる…。っていう世界観は結構ありなんじゃないかと思っている。

それがブロックチェーンを使っている必要があるかといえば、なくても実現できる。でも、わざわざそこに計算資源を提供しようというインセンティブを起こすためにはブロックチェーンがあるととてもやりやすいのは事実。(とりあえずトークン配っておけばなんとかなる、的な。)

で、さらにブロックチェーンというパブリックなところにデータが集約されれば、プログラム同士が直接連携するわけじゃなくてもあるプログラムで生まれたデータを他のプログラムが使ってどうこう…といったこともできるだろう。

計算資源を提供する側にうまくインセンティブを提供できるかどうかとアプリ開発者がそこにプログラムを置きたくなるインセンティブを提供できるかどうか、直交する2つの次元でうまくいったプラットフォームが勝者になる。

ちょっと昔のAPIエコノミーみたいな話になってきてしまったが、DAppsでうれしいことってそういうところなのでは?と今は思っている。