メインコンテンツへスキップ

DAppsを成功に導く5つの鍵

冒志鸿
ArcBlockBlockchainDappsDecentralization

著者: 冒志鴻

編集: 潘宇波

DAppsはブロックチェーン業界の重要な領域の一つです。DAppsが従来のAppを大規模に置き換え、一般ユーザーに利用されて初めて、ブロックチェーン技術は真に実用化されます。

鏈捕手(ID:iqklbs)の依頼を受け、ArcBlock創業者兼CEOの冒志鴻が本稿を執筆し、従来型APPの5つの強み、6つの弱み、そしてDAppsを成功に導く5つの鍵を解説しました。内容は充実しており、読者の皆さんがDApps業界への理解を深めるうえで大いに役立つでしょう。

なお、ArcBlockはDAppsの開発とデプロイをより容易にするブロックチェーンサービスネットワークを目指しています。ABT Networkのパブリックベータ版は、米国太平洋時間29日午後3時に正式公開されます。

私は「多くの人は分散化という言葉を知っているだけで、DAppsを本当には理解していない」という記事で、分散化の正確な意味とコンピューターソフトウェア・アプリケーションの発展過程という観点から、真の分散型アプリケーションとは何かを論じました。では、分散型アプリケーションにはどのような基本的特徴が必要なのでしょうか。言い換えれば、どのような要素があれば分散型アプリケーションを構成できるのでしょうか。

少し前に「区塊律動」が掲載した「DAppの競争相手はAppである」という記事はよく書かれていました。現在DAppsを名乗るアプリケーションの多くは、ブロックチェーンを少し利用しただけのアプリケーションにすぎず、本当の意味での「分散型アプリケーション」には程遠いものです。現在のブロックチェーン自体の限界、あるいは粗雑な作りのため、全体的なユーザー体験は非常に悪く、多くは賭博的なだけで実用的価値がありません。そのため、最近の偽DAppsでユーザーの活動度が下がり、成長傾向が低迷し続けていることは驚くに値しません。

DAppsにはAppのどのような強みが必要か?

DAppsが広く受け入れられるためには、まず現在よく使われているアプリケーションが持つ、以下の明確な強みを数多く備えなければなりません。

無料

誰もが無料を好みます。特に新しいアプリケーションを初めて試すときはそうです。現在のブロックチェーンベースのDAppsでは、ユーザーが最初に求められるのはトークンの準備であることが多く、たとえばEthereumのGas feeはほぼすべての操作に少額の費用がかかり、EOSアカウントの申請にもお金が必要です。金額は小さくても、ユーザーの参入を妨げる最大の障害となり、最悪のユーザー体験の一つになり得ます。無料でアプリケーションの価値を体験してもらい、自然に有料ユーザーへ転換する方法は、従来のソフトウェアおよびインターネット業界で過去数十年にわたり有効性が実証されています。

高速

「天下の武芸は、速さに勝るものなし」。コンピューターとソフトウェアの誕生以来、「より速く」「より便利に」は常にユーザーが当然のように期待する第一の体験でした。ところが、現在のブロックチェーンがユーザーにもたらすものは「遅さ」と「果てしない待ち時間」です。したがってDAppsが主流になるには、性能を高め、より滑らかな体験を提供しなければなりません。少し前のブロックチェーン業界における「TPS大躍進」は性能問題を解決するかに見えましたが、実際には問題の一部を解決しようとしただけです。アプリケーション全体を高速化するには、複数の側面を同時に改善する必要があります。

ユーザー体験

初期のソフトウェアやウェブサイトは、設計面でも使用体験でも非常に「人間に優しくない」ものでした。しかしこの10年、特にモバイルインターネットの普及により、ソフトウェア開発ではユーザー体験がますます重視され、ユーザーは直感的な反応や動作で操作できるようになっています。一方、現在のDAppsは技術的制約と業界の初期段階にあることから、そのユーザー体験は従来型アプリケーションに及ばないことがほとんどです。

クライアント側で簡単にインストールできる

ソフトウェアのアプリストアが登場してからまだ長い時間は経っていませんが、ソフトウェアの普及を大きく促進しました。現在ではソフトウェアの購入やインストールに専門家の助けは必要なく、誰でも簡単に行えます。これに対して、現在のブロックチェーンとDAppsは専門知識や技能なしにはインストールして利用できず、DAppsの普及を阻む障害となっています。

サーバー側で簡単にデプロイできる

この10年のクラウドコンピューティングサービスの発展に伴い、SaaS(Software as a Service)やPaaS(Platform as a Service)によってサービスのデプロイはかつてないほど簡単になりました。サーバー側を容易にデプロイできることは、企業ユーザーや大規模アプリケーションの普及に非常に重要です。ブロックチェーンアプリケーションが大規模に普及するには、現在のクラウドコンピューティングサービスと緊密に連携し、サーバー側のデプロイを極めて容易にする必要があります。現在、大手クラウド事業者の「Managed Blockchain」や「Blockchain as a Service(BaaS)」は、基本的にこの問題を解決しようとしています。

以上の中央集権型アプリケーションが持つ強みは、DAppsが追いつくための最低条件です。しかし、これらの条件を備えるだけでは、DAppsが従来型Appに勝つには不十分です。

現在のAppにはどのようなユーザーの悩みがあるか?

まず理解すべきなのは、「分散型アプリケーション」は「分散化」そのものを目的として分散型に設計するのではなく、分散化によって中央集権型にはない価値をユーザーにもたらすためのものだということです。現在の技術アーキテクチャで分散型アプリケーションを開発することは、中央集権型で実装するより困難です。したがって、投資を始める前に、分散化がもたらす価値と勝利の要素を明確に検討しなければなりません。

アカウントが多すぎ、多数のパスワードを覚える必要がある

「ユーザーこそ王様」はインターネット思考の第一原則です。サービス提供者はユーザー数の多さで勝負し、徐々に可能な限り多くのユーザー情報を得ることを価値とみなすようになりました。インターネット業界の投資や買収では、保有するユーザーアカウント数とユーザー情報量が企業価値評価の重要な根拠として用いられることが多くあります。このため各インターネット企業は、ユーザーアカウントを可能な限り支配し、できるだけ多くの情報を取得するような製品設計と運用を追求しています。

この設計がユーザーにもたらす最も直接的な問題は、さまざまなアプリケーションサービスへログインするために無数のアカウントが必要となり、各アカウントについて個別のユーザー名とパスワードを記憶・保存しなければならないことです。

大量のデータ流出

成熟したデータ暗号化手法が、なぜこれらのインターネットアプリケーションサービスでは有効に機能しないのでしょうか。理由は、こうした中央集権型プラットフォームの従来設計では、ユーザーデータがユーザーに属していないからです。そのため、システムのセキュリティ脆弱性が攻撃者に破られると、大量のデータがほぼそのままハッカーに取得されます。

ユーザーデータが真にユーザーに属するなら、現在の暗号アルゴリズムでユーザーキーを生成し、データを暗号化できます。そうすれば、システムのデータが攻撃によって漏洩しても、ハッカーが得るのは暗号化されたデータだけです。たとえハッカーがシステム自体のデータを傍受しても、それらはユーザーのデータやユーザーの身元から分離されています。

プライバシー危機

各アプリケーションがアプリケーション内のデータをユーザーと対応付け、可能な限り詳細なユーザー情報を収集すると、ユーザーのプライバシーはかつてないほど深刻な問題になります。

本来は大きなプライバシー問題のないサービスデータでも、現在のインターネット業界におけるユーザー獲得の慣行によってユーザーデータと関連付けられ、プライバシー問題が生じます。たとえば検索エンジンがユーザーの検索習慣を分析する場合でも、ユーザー情報が完全に匿名であれば、検索がプライバシー問題を引き起こすことはないかもしれません。

検閲と遮断

これは現在のインターネットユーザーの不満がますます高まっている問題でしょう。さらに恐ろしいことに、現在のインターネット上の遮断は権力機関だけでなく、独占化が進むインターネットサービス事業者が競争上の私利のために行う遮断や、行き過ぎた検閲からも生じます。たとえばFacebookはかつてAIアルゴリズムを使ってユーザーのさまざまな写真やコンテンツを検閲・削除し、第二次世界大戦中の有名な報道写真さえ「誤って削除」しました。

運営者によるサービス終了

ユーザーを悲しませるのは、気に入っていたサービスが、提供者の事業継続が困難になったというだけで終了し、さまざまなサービスが日々消えていくのを目の当たりにすることです。一部のサービスでは、ユーザーのデータ(写真、日記、生活の思い出など)が一夜にして消えてしまいます。終了前にデータを保存できる期間が設けられていても、ユーザーが得られるのは生のバックアップだけで、元のサービスを利用し続けることはできません。

同質的で相互接続されない同種アプリケーション

モバイル端末は、こうした同質的なアプリケーションの問題をある程度緩和しました。主な理由は、統一された通知(Push Notification)という形でユーザー体験を整え、App間の切り替えを十分に軽く高速にしたことです。News standやTVなど一連のiOS内蔵Appのコンセプトから、Appleが相互接続されていない同種アプリケーション間を切り替えるユーザー体験を改善しようとしていることが分かります。

DAppsを成功に導く5つの要点

DAppsが分散化の特性と手法を十分に活用して、前述した中央集権型アプリケーションのユーザーの悩みを解決できれば、ユーザーから支持を得られる可能性があります。分散型アプリケーションが以下の特徴を備えれば、将来の競争においてユーザー体験、プライバシー、安全性などの面で勝利し、従来の中央集権型アプリケーションを超える機会が生まれます。

分散型アプリケーションは、まず分散型ユーザーIDをサポートすべきである

分散型IDはデジタル世界における自己主権型の身元であり、現実世界の「生まれながらの人権」に対応します。私たち一人ひとりの存在と権利には、いかなる中央集権的機関の裏書きや証明も必要ありません。W3Cが提案するDID(分散型ID)標準は、まさにこのような個人の自己主権型デジタルIDです。

中央集権化と独占が進むインターネット世界では、本来ユーザー自身に属するIDとデータが、時代に逆行するかのようにFacebookなどの大企業によって独占・乱用されています。これら巨大独占プラットフォームによるユーザーデータの流出・乱用スキャンダルは、デジタルプライバシーと個人の身元を見直すきっかけにもなりました。したがってDIDをサポートする分散型アプリケーションは、個人のプライバシーや自己主権型IDという面で、多くのユーザーから共感され受け入れられるでしょう。

現在、「分散型ID」を採用していると主張するプラットフォームもあります。しかし利用時にそのプラットフォームへ「申請」する必要があるなら、それは真の分散型IDではない可能性があります。最初にユーザーIDを登録したり、何らかのPassportを登録したりしなければDAppsを利用できないのであれば、それも真に分散化された自己主権型IDではない可能性があります。

分散型アプリケーションが個人の自己主権型IDを十分にサポートすれば、それはユーザーにとって価値となるだけでなく、より多くの他のDAppsを結びつけて連合を形成できます。インターネット思考の下では、各アプリケーションがユーザーを「奪い合おう」とするため、本当の意味での協力は困難です。一方、DIDをサポートする各DAppsが「ユーザーIDはユーザーに属する」という基本原則を尊重すれば、ユーザーを奪い合う問題はなくなり、連携と協力が容易になります。

分散型アプリケーションは、ユーザーデータの移行可能性を十分にサポートすべきである

いかなる分散型アプリケーションでも、ユーザーデータは完全にユーザー自身に属し、ユーザーが自由に移転できるべきです。ユーザーデータの移行可能性を実現する前提は、分散型ユーザーIDの普及です。ユーザーが自分のデータに対するプラットフォームアプリケーションのアクセスと利用を自ら許可または取り消せれば、どのサービス事業者にも縛られません。

また、ユーザーが望むどのサービスにも自分のデータを自由に許諾できれば、新しいサービスの発展を促すことができます。革新的なサービスは、ユーザーの許諾の下で完全なデータを取得できるため、ゼロから始める必要がなく、後発でも優位に立てます。この場合、競争は誰がより多くのユーザーを囲い込むかではなく、サービス能力と品質の競争になります。

データ移行可能性(Data Portability)は長い間ユーザーが期待してきた機能ですが、過去には技術、法律、ユーザーの一般的な認識水準など多くの理由から、大きな進展を遂げられませんでした。DAppsは、大企業によるユーザーデータ権利の侵害に対して世論が広く批判し警戒している現在の状況を利用して勢いを得て、データ移行可能性を基盤に質の高いサービスを提供し、理念からサービス品質まで従来型アプリケーションを上回ることができます。

分散型アプリケーションはデジタル資産の強みを十分に活用する

ブロックチェーンと密接に発展してきたDAppsがデジタル資産の強みを十分に活用すべきことは、ほとんど自明です。しかし「デジタル資産の強みを十分に活用する」とは何でしょうか。デジタル通貨を発行すれば十分というわけではありません。現在、多くのブロックチェーンアプリケーションがコイン発行のためにコインを発行し、まったく不要なトークンやコインを大量に発行しています。それは強みを活用していないばかりか、ユーザー体験を損なっています。

デジタル通貨には、決済手段以外にもDAppsが活用できる多くの用途があります。たとえばEコマースサービスでは、支払いに加えて、デジタル通貨でユーザーポイント体系を構築したり、デジタル資産によってユーザーランクや信用などを確立したり、商品そのものをデジタル資産で直接表現したりできます。商品をデジタル資産で表現すると、第三者物流システムとより効率的に統合できるなど、一連の強みが生まれます。

分散型アプリケーションはオープンプロトコルを基盤としなければならない

分散型アプリケーションに最も必要なのはオープンプロトコルであり、必ずしもオープンソースコードではありません。オープンソースはビジネスモデルの一つである場合があり、ソースコードの公開はオープンなプロトコルや標準と同じではありません。特にオープンソースがエンドユーザーに直接価値を提供するとは限らず、悪意あるフォークや攻撃の余地を残すことさえあります。

オープンプロトコルとは、誰もが同じプロトコルに従えば相互接続できるということです。インターネットの成功は一連のオープンな標準プロトコルの上に築かれています。オープンソース運動は技術発展を大きく加速させましたが、突き詰めればインターネット成功の根源はオープンプロトコルにあります。それにより、さまざまな機器、ネットワーク、サービス、アプリケーションが互いにシームレスに接続できるのです。

オープンプロトコルを確立して遵守することは、ビジネス上の分業も容易にします。DAppsでは、多数のAppが互いに分業・協力する状況が生まれるべきであり、従来型Appのように、どれも巨大で何でもそろったアプリケーションでありながら、その大部分が互いに似通っている状態であるべきではありません。

Wallet、Home、TV、そして新たに登場したNews+などAppleの一連のiOS製品から、このトレンドを見ることができます。似たようなappが大量に必要なのではなく、複数のサービスをサポートする最良の分散型アプリケーションを一つ選べればよいのです。将来のDAppsには必ず一連の垂直分野が生まれ、各分野でいくつかの選択肢が提供され、どの選択肢も大部分、さらにはすべてのサービスをサポートできるようになると考える十分な理由があります。

分散型アプリケーションはインストールとデプロイが非常に簡単でなければならない

分散型アプリケーションのインストールとデプロイが簡単かどうかの重要性は、しばしば見過ごされます。しかしこれは、過去十数年にわたり従来の中央集権型アプリケーションが勝利してきた重要な理由でもあります。簡単で素早いものがユーザーに選ばれることは少なくありません。たとえば分散型ソーシャルネットワークMastodon(マストドン)は、現在の分散型ソーシャルアプリケーションの中で最もユーザー数が多いものかもしれません。しかしユーザーが自分のノードをインストールしようとすると、それが非常に複雑な手順であり、ネットワークやシステム管理、さらには開発の基本経験がなければ正常にインストールできないことにすぐ気づくでしょう。

分散型アプリケーションは中央集権型サービスと異なり、多くの場合、多数のユーザーがネットワークとノードの構築に参加する必要があります。そのため、分散型アプリケーションを普及させるには、インストールとデプロイを非常に迅速で簡単にしなければなりません。通常、優れた分散型アプリケーションプラットフォームは、開発者がこうしたことを実現できるよう支援し、開発者自身がこれらの問題を考えなくてもよいようにすべきです。

要するに、分散型アプリケーション(DApps)は競争相手のいないブルーオーシャンを切り開くものではなく、まず「旧世界」の中央集権型アプリケーションと同じ舞台で競い、勝たなければなりません。ユーザーは「分散化」されているかどうかを理由にアプリケーションを使うのではなく、そのアプリケーションが自分にとって価値を持つから使うのです。分散化はDAppsの手段であり、目的ではありません。

原文リンク: DAppsの5つの勝因 |鏈捕手

このページに関わるもの

用語

  • Dapp

    重要な状態が単一の運営者のデータベースだけに存在しないアプリケーション。何をもって分散とするかはプロジェクトごとに大きく異なるため、有用な問いは「どの部分が外部の人に検証できるか」です。

  • Decentralization

    単一の性質ではなく、部分ごとに問うべき問いです。誰がこれを変更できるか、誰が差し止められるか、そして後から誰が検証できるか。多くのシステムは一部の要素だけが分散的です。

  • ブロックチェーン

    記録を暗号学的に結び付け、共通の検証・合意形成ルールに従って取引履歴を確定する分散台帳。