この連載「Dapps(自律分散型アプリケーション)の可能性」ではブロックチェーンによって活用できるようになった「Dapps(自律分散型アプリケーション)」について様々な可能性を解説してきます。第2回では「Dapps」についてと、そのメリット/デメリットを解説します。
中央管理者なしに提供されるアプリケーション、それが「Dapps」
ブロックチェーンはインターネット以来の発明だと言われています。その中でも特に「Dapps」が重要な役割を果たすと考えられています。
この「Dapps」という言葉、巷で聞かれるようになってきましたが、具体的にどういったものか、皆様はご存知でしょうか?
「Dapps」とは、「Decentralized Applications」=「中央管理者なしに提供されるアプリケーション」(自律分散型アプリケーション)のことで、特にブロックチェーンを用いて提供されるアプリケーションを指します。ビットコインをはじめとした仮想通貨も「中央銀行」という管理者なしにブロックチェーンを用いて提供されていることから、「Dapps」といえます。
今回の記事では、ブロックチェーンによって活用できるようになったこの「Dapps」の成立の背景やメリット/デメリットを説明しつつ、その計り知れない可能性を解説します。
できないと想定されていたP2P形式でのアプリケーションをビットコインが変革した
現在のWeb2.0の世界においては、クライアント・サーバ形式が主流となっています。これは、いわゆる少数のサーバーに対して、多数のクライアントが接続するモデルです。
クライアント・サーバ形式では、少数のサーバーが機能停止すればサービスは利用できなくなるため冗長にする必要があったり、運営者は、外部からの攻撃を遮断したり、事前にアクセスを確認する必要がある構成になっています。
運営は当然、相応のコストがかかるため、相応の体力が求められ提供者は企業などに限られてきました。
このクライアント=サーバの課題を解決できると、期待されていたのがP2P(ピア・トゥー・ピア)方式での構成です。P2Pでは、個々のPCを直接つなぎ、ノードを通じて個々のPCが対等に通信させながら情報共有を可能にする仕組みで、安価で障害耐性が高いことが特徴となっています。しかし、参加するノードの不正排除の難易度が高く、実現は不可能であると考えられていました。
そんな中、登場したのがまさに最初の「Dapps」、仮想通貨の「ビットコイン」です。
ビットコインは「公開鍵暗号」「ハッシュ関数」「P2P」のそれぞれの技術を組み合わせることで、ビザンチン将軍問題と言われる不正ノードを排除できない課題を、PoWと呼ばれるコンセンサスアルゴリズムという暗号的な仕組みを通じて解決し、不可能だと思われていたP2Pでのサービス提供の可能性を開きました。
「Dapps」の可能性を拡張した「ワールドコンピューター」イーサリアム
P2P構成によるブロックチェーンでのアプリケーション開発について、その可能性を大きく拡張したのが2015年に登場した”ワールドコンピューター”とも呼ばれるイーサリアムです。
イーサリアムによって、誰でもブロックチェーン上に、「スマートコントラクト」と呼ばれるプログラムコードをデプロイし、実行させることができるようになりました。
スマートコントラクトを使うと、あらかじめ設定した条件を自動的に執行させることができるため、結果的に中央管理者なしに、例えば送金や、融資、保険、投資などのやり取りをするアプリケーションを作成する事が可能になりました。
特に、「契約や取引が自動で執行される」部分については、これまでは中央管理者や仲介者なしには契約を結んだり、執行したりすることを複雑なものでは実施できていなかったので、大きな変革だと言えます。
「Dapps」の特徴とメリット/デメリット
ブロックチェーン、特にスマートコントラクトによって可能になった「Dapps」は、既存のアプリケーションとどういった点が異なるのでしょうか?
なにより一番の異なる点は「中央主体の有無」です。
中央主体の有無が個人(ユーザー)側とサービスの提供者側にそれぞれにメリット、デメリットをもたらしますのでそれらについて説明していきます。
「Dapps」の個人(ユーザー)側のメリット
−情報漏えいしない
中央集権のサーバーがないということは、攻撃されたとしてもそのサーバーからデータが漏洩することがなくなります。最近だとFacebookにおいての個人情報漏洩事件があり、巷を騒がせていましたが、「Dapps」を利用している上では中央を攻撃されて大規模に「情報漏えい」することはありません。
−個人情報を不当に利用されない
近頃はGAFAと呼ばれるジャイアント企業の市場の独占が進んだこともあり、GDPR(General Data Protect Regstration) といった法律が批准されたり、個人のプライバシーが再び重要視されたりしはじめました。「Dapps」においては、データは公開されるものの、アドレスは匿名のため、個人情報を不当に利用されるといったことは避けやすくなります。
−中抜きされない
これまでは「取引相手が信用できない」という観点もあり、間に信用のおける仲介者を立てて、手数料を賦課されていました。スマートコントラクトによってプログラムを自動執行させることができるので、いわゆる「仲介者の中抜き」を防ぐことができるようになります。
−取引にまつわる詐欺が起こらない(カウンターパーティーリスクが小さい)
取引に関しては、予め設定した契約が自動で実行されます。これまでは相手を信用出来ないとできなかった処理や取引(例えば事前に送金してあとで、代金を受けとる)などについても、信任なしに処理を実行することができるようになります。
−急にサービスを止められたり、制限されない(検閲耐性)
中央管理者がいないということは、例えばツイッターのアカウント凍結などといったことが中央管理者の恣意によってされることはなくなります。
−デジタル資産を自ら管理する事ができる(資源性)
ブロックチェーン上で管理されるということは、秘密鍵がなければ何もできません。
つまり、秘密鍵を持つあなたが自分の資産を完璧にコントロールすることができるようになります。たとえば、ゲームのキャラクターなどをブロックチェーン上で資産として持てば、それはあなただけが所有しているデジタルコンテンツになります。
−質の高いサービスを受けることができるようになる
トランザクションデータの公開は、サービス提供者間での競争を生み、結果的に消費者としてはより質の高いサービスを安価で受けることができるようになります。
「Dapps」の個人(ユーザー)側のデメリット
−基本的にサポートを受けられない。自己責任
中央管理者がいないということはすなわち、自己責任であることということです。これまではクレームを言えば対応してくれたかもしれないことも、自らで解決しなければならなくなります。例えば、秘密鍵を紛失した際に、銀行のキャッシュカードのように再発行するということは想定されていません。そのため、紛失リスクや盗難リスクという観点では「自己責任」の要素が強くなります。
−ユーザビリティが優れていない
ブロックチェーン自体が発展途上の技術でもあり、まだユーザーエクスペリエンスの部分で改善途中になります。例えば、イーサリアムの場合、ブロックチェーンの性質上あらゆる処理にGasと呼ばれる手数料がかかります。これは非常にユーザビリティが悪いです。
「Dapps」のサービス提供者側のメリット
−セキュリティや保守/冗長構成にかかっていたコストを抑制できる
サーバーの管理や保守を外部化してコストを抑制しながら、無制限の連続稼働や障害点の分散化など、今よりも頑健なシステムを簡単に構成できるようになります。
−大企業のみが保持していたトランザクションデータを利用できる
ブロックチェーンのトランザクションは公開されます。そのため、これまで特定の大手のみが享受し、競争優位を構築していた「データ」をサービスの改善に積極的に利用することができるようになります。
「Dapps」のサービス提供者側のデメリット
−管理することができない
デプロイした後は誰でもプログラムを作成しすることができるようになります。事前に悪意のある参加者を除く方法や、クレームが発生した際に対応する方法などを相当に熟慮しておかないと、あとからアカウントをBANしたり、急遽サービスを変更したりするといったような対策を講じることができません。
−デプロイした後は変更することが容易でない
スマートコントラクトの性質上、一度デプロイした場合変更することは容易でないため、事前に相当なテストが必要となります。ブロックチェーンにデプロイするスマートコントラクトは、宇宙衛星に乗せるプログラムと例えられることもあるくらいです。だから従来のウェブ開発よりも慎重さやテスト工数が要求され、それはサービスプロバイダーとしてはデメリットになります。
今回の記事でご紹介したように非常に魅力的である「Dapps」ですが、そのユーザーや管理者にとって多くのメリットとデメリットがあることを理解することは非常に重要です。そして次回の記事ではどのような領域で「Dapps」が活用できるか、その可能性を説明させていただきます、お楽しみに!
→次回の記事「Dappsが活用できる領域と社会に与える影響」はこちら
←前回の記事「ウォレット開発者が教える「仮想通貨の安全な管理方法」とは?」はこちら
(編集:設楽悠介/竹田匡宏)images:iStock /bee32