著者: Gavin Wood
日本語訳: yomoyomo
以下の文章は、Gavin Wood による ĐApps: What Web 3.0 Looks Like の日本語訳である。
原文は、2014年4月17日に公開されたものである。
未来に向かって進むにつれ、ゼロトラストな交流システムの高まるニーズに気づく。スノーデン以前でさえ、インターネットで独裁的な存在に我々の情報をゆだねるのは、危険をはらむのに我々は気づいていた。しかし、スノーデン後では、その議論は明らかに、大組織や政府は当たり前のようにその権力を拡大し、一線を越えようとしていると信じる人達の手に渡っている。その結果、我々の情報を組織一般にゆだねるのは、根本的に壊れたモデルだと感じている。我々のデータに干渉しない組織の可能性は、必要な努力から期待される利益を差し引いたものに過ぎない。それらの組織は人々についてできるだけ多くを知ろうとする収益モデルを持つ傾向があると考えると、悪用の可能性はどれだけ強調してもし過ぎることはないと現実主義者は気づくだろう。
ウェブ並びにインターネット全般においても、そのプロトコルや技術は、優れたテクノロジープレビューとしての役割を果たした。SMTP、FTP、HTTP(S)、PHP、HTML、Javascript といった主力技術は、ゲーム、買い物、銀行取引、デートにわたる無数のアプリケーションは言うまでもなく、今日我々が Google Drive、Facebook、Twitter で目にするリッチなクラウドベースのアプリケーションにどれも寄与している。しかし、未来に向かって進むにあたり、これらのプロトコルや技術の多くは、社会とテクノロジーの相互作用を新たに理解した上で再設計されなくはならないだろう。
Web 3.0、あるいは「スノーデン後」のウェブと呼ばれるかもしれないが、我々が既にウェブを使っているものを、グループ間でやりとりをするために根本的に異なるモデルで改めて想像するものになる。公開を前提とする情報は公開する。同意を前提とする情報は、合意の台帳に載せることになる。非公開を前提とする情報は、秘匿して決して公開しない。コミュニケーションは常に暗号化されたチャンネルを介し、エンドポイントは、決して(IPアドレスなど)追跡可能なものでなく、仮のアイデンティティーでのみ行う。要するに、政府や組織はまず信頼できないので、我々は事前の前提を数学的に強制するシステムを設計するのだ。
スノーデン後のウェブには四つの構成要素が存在する。静的なコンテンツ公開、動的メッセージ、管理者の存在しないトランザクション、そして統合されたユーザインタフェースだ。
その一つ目は、我々は既に多くを手にしている。非中央集権的で暗号化された情報公開システムである。これは特定の情報の短い固有アドレス(技術的に言うならハッシュ)を取得し、一定時間後にその情報自体を返せばよい。新しい情報がそのシステムに投稿可能である。一度ダウンロードしたら、そのアドレスは情報に固有なので、それが正しい情報だと保証されうる。この静的公開システムは、HTTP(S) の多くと FTP のすべての仕事からなる。このテクノロジーには既に多くの実装が存在するが、もっとも引き合いに出しやすいのは BitTorrent の仕組みになる。BitTorrent のマグネットリンクをクリックすると、実際にやっているのは、クライアントに固有のアドレス(ハッシュ)が紐づいたデータをダウンロードするよう指示することになる。
Web 3.0 では、この部分のテクノロジーが、我々が喜んで共有する(潜在的に大きな)静的な情報を公開したりダウンロードするのに利用される。BitTorrent がまさにそうであるように、他の人がこの情報を維持共有するインセンティブを与えられるが、Web 3.0 の他の部分と組み合わせることで、これをより効率的で正確なものにできる。このインセンティブのフレームワークはそのプロトコルに備わっているので、(とにかくこのレベルでは)設計上 DDoS に耐えるものになる。おまけにしては良くないか?
Web 3.0 の二つ目の構成要素は、仮名ベースの低レベルのメッセージングシステムである。これはネットワーク上の人たちの間のやりとりに使用される。このシステムは、メッセージに保証を与えるべく強力な暗号を採用する。それにより、ある人の公開鍵で暗号化すれば、その本人だけが復号化できる。送信者の秘密鍵で署名すれば、本当に送信者からのメッセージなのを保証し、受信者に通信を安全に受信できるようにする。共有秘密鍵なら、グループ間を含め、受信を証明を必要としない安全な通信を行う機会を提供できる。
これらそれぞれが最高なメッセージのロジスティクスを提供するので、伝送プロトコルレベルでアドレスを使用する必要がなくなり、ひとたびユーザなりポートが IP アドレスと紐づけば、それは単なるハッシュになる。
メッセージには有効期限があり、多くの人が見れるよう保証すべくできるだけ長く「生きて」いたい公開メッセージと、ネットワーク上をできるだけ急いで送信したい即時的な信号メッセージをはっきり区別できる。こんなふうに、レイテンシーと寿命はトレードオフなのだ。
実際の物理的なルーティングは、ゲーム理論の適応ネットワークシステムを通じて実行される。各ピアは、入力情報に関して他のピアが自分にとって価値があるという主張のもと、他のピアにその価値を最大化しようとする。情報が価値のないピアは切断され、その地位は、他の何かしらのピアへの接続にとって代わられるが、それはおそらく未知の(あるいはおそらく二次)ピアだろう。あるピアをより有用にすべく、特定の属性を持つメッセージが要求されることになる(例えば、送信元のアドレスやトピック――いずれも暗号化されていない――が特定のビット列で始まる)。
Web 3.0 では、この部分によりピアは、リアルタイムに通信、更新、自己管理を行い、その優先順位を基から信頼したり、後で参照する必要のない情報を発信できるようになる。従来のウェブでは、これは Ajax スタイルの実装で HTTP 上を移動する情報が多分にそうである。
Web 3.0 の三つ目の部分は、コンセンサスエンジンである。Bitcoin は、合意ベースのアプリケーションのアイデアを我々の多くに広めた。しかし、これは手始めの暫定措置に過ぎなかった。コンセンサスエンジンは、将来のやりとり(またその欠如)が、自動的かつ不可逆的に正確に規定した通りの実行されると分かった上で、やりとりの一部のルールを合意する手段である。それは事実上、包括的な社会契約であり、合意のネットワーク効果から強さを引き出す。
ある契約を破ると、その影響が他のすべての契約に及ぶかもしれないという事実は、強固な社会契約を作り、その結果約束破りや故意の無視という変化を少なくする鍵となる。例えば、評判システムが個人の社会的交流システムから分離されるほど、その評判システムは効果的でなくなる。ユーザはその友達、パートナー、同僚が自分のことをどう思っているかに存在価値を求めるので、機能性など Facebook や Twitter と結合された評判システムは、そうでない評判システムよりもうまく機能するだろう。雇い主や交際相手と Facebook でフレンドになるかどうか、またそれはいつかという難しい問題は、その特に痛切な例である。
コンセンサスエンジンは、あらゆる信頼できる情報の公開や改変に使用される。これは完全に汎用の世界的なトランザクション処理システムを通じて実現するもので、その最初の実用例が Ethereum プロジェクトである。
従来のウェブは基本的に合意に対処せず、ICANN、Verisign、Facebook といった権威の中央集権的な信頼に頼っており、民間ないし政府のウェブサイトとそれらを構築するソフトウェアに帰着している。
Web 3.0 体験の四つ目で最後の構成要素は、すべてをまとめるテクノロジーであり、それはつまり「ブラウザ」とユーザインタフェースになる。おかしな話だが、これは我々が既に知っており、好きなブラウザのインタフェースに実によく似ている。URI のバーや戻るボタンがあり、そしてもちろん ĐApps(né ウェブページ/ウェブサイト)の表示に主要な部分が割かれることになる。
この合意ベースの名前解決システム(アプリケーションの NameCoin と大して違わない)を用いれば、URI はそのアプリケーションのフロントエンドの一意のアドレス(つまり、ハッシュ)まで短縮できる。情報公開システムを通じて、これはフロントエンドに必要なファイル群(例えば、.html、.js、.css、.jpg ファイルを含むアーカイブ)に展開可能だ。これはĐApps(レット)の静的な部分になる。
それは動的コンテンツは含まず、他の通信路を通じて提供される。評判や残高など、その出所が間違いなく決められ、(「石に刻まれたごとく」)永久に不変でなければならない動的だが公開されるコンテンツを集めて投稿するに、コンセンサスエンジンとやりとりする Javascript ベースの API が存在する。必然的に短命で、消滅したり可用性に欠けがちな、動的で潜在的にプライベートなコンテンツを集めて投稿するには、P2P のメッセージングエンジンが利用される。
いくつか表面的な違いはあるだろう。「https://address/path」のような従来のクライアント-サーバ型の URL モデルのアドレスからは離れ、その代わりに「goldcoin」や「uk.gov」といった新しい形式のアドレスが見られるようになろう。名前解決はコンセンサスエンジンベースのコントラクトにより実施され、ユーザによって容易にリダイレクトや拡張も可能である。ピリオドにより複数レベルの名前解決が可能になる。例えば、「uk.gov」は、「gov」というサブネームを、「uk」により与えられたネームリゾルバに渡してもよい。
コンセンサス・バックエンドの更新やピアネットワークの維持を通じてブラウザに自動的かつ偶然に提供される情報は常に一時的な性質があるので、バックグラウンドの ĐApps や ĐAppslet が我々の Web 3.0 体験において重要な役割を果たすのが見えている。常に目に見える Mac OS のドックみたいなアイコンのインフォグラフィックであれ、ダッシュボードスタイルの動的 ĐAppslet であれ、気になることについての最新情報を意図せず届けることになる。
静的データは予めダウンロードされており、最新なのが保証されており、また(コンセンサスエンジンなり P2P メッセージングエンジンを通じて届けられる)動的データもまた最新状態が維持されるので、最初の同期処理の後、ページのロード時間はゼロまで低減される。同期中に表示される実際の情報が古くなるかもしれないが(簡単にそうはならないかもしれないし、その旨注釈をつけるのも可能)、ユーザ体験は完璧に安定している。
Web 3.0 のユーザとして、あらゆるやりとりは仮名のもとで、安全に、しかも多くのサービスでは管理者なしで実行されることになる。(複数の)サードパーティを必要とする場合、ツールがユーザと ĐApps の開発者に複数の異なる、ことによると競合するエンティティ間で信頼を広める能力を提供し、いかなる単一のエンティティであれ、その手にゆだねなければならない信頼の量を大幅に減らすことになる。
フロントエンドやバックエンドからの API の分離により、上質のユーザ体験を提供できる異なるフロントエンドのソリューションをさらに活用できるようになる。Qt の QtQuick や QML テクノロジーは、例えば、従来のウェブ技術である HTML/CSS の組み合わせにとって代わり、ネイティブのインタフェースやリッチな高速グラフィックを、最小限の構文的オーバーヘッドで、また極めて効率の良いリアクティブプログラミングのパラダイムで提供するだろう。 Web 2.0 において転換はゆるやかだが、Bitcoin、BitTorrent、NameCoin といった Web 3.0 的な構成要素をバックエンドが活用するサイトをますます目にすることになろう。このトレンドは続き、真の Web 3.0 プラットフォームである Ethereum は、投票サイトや交換所などコンテンツの取引の証拠を提供したいサイトによって利用されそうだ。もちろん、あるシステムはその最も弱いリンクと同じくらいしか安全にならないので、いずれそうしたサイトは、エンド・ツー・エンドのセキュリティや管理者のいない意思疎通を提供可能な Web 3.0 ブラウザ上で動くよう移行するだろう。安全なソーシャルオペレーティングシステムである Web 3.0 に「こんにちは」と言おう。