Web5構想を解説
先月、Jack Dorsey率いるTBDが”Web5”という構想をスライドにまとめ、物議を醸しました。その挑発的なネーミングやWeb3に批判的なJack Dorseyのスタンスからイーサリアム周辺の反発を招いたり、あるいは逆に「何のことかさっぱりわからん」という反応も少なくありませんでした。
本稿では”Web5”がどのような目的をもった構想で、どのような仕組みなのかを具体例を交えて解説します。
現在のWEBの問題
Web3にしろWeb5にしろ、ウェブを変えるという主張は「現在のWebに問題がある」という批判でもあります。
Web3の定義があまりはっきりしない問題はありますが、Gavin WoodがWeb3.0を提唱した2014年当時はスノーデン氏によって米諜報機関NSAの世界的な大規模盗聴が暴露された直後ということもあり、データを1箇所に集めないこと、仮名的なIDを使ってプライバシーを守れること、分散的なネットワーク構造によって簡単に検閲できないことなど、中央集権的なウェブの有様が監視や検閲につながっていることに対する反発という側面が強いものでした。
このようなWebではアプリケーションやWebサイトは静的なコンテンツはBitTorrent、今で言えばIPFSのようなもので配信され、動的なコンテンツはP2Pで取得・配信されるという形が考えられていました。実際にウェブの構造を変えるためWeb3.0という壮大な名前がついたのです。
しかしその名称が主にメタマスクを呼び出すためのJavascriptライブラリ”web3.js”として普及してしまったせいで今では形骸化しており、「スマートコントラクトでなにかする」「ウォレットでなにかする」「メタバースでNFTをDeFiする…」みたいなふわふわした感じのバズワードに成り下がっています。
さて、Web5も現在のウェブに対する大きな問題意識に根ざしています。現代のウェブの一番大きな問題はプラットフォーマーの台頭、特にGoogleやAppleの影響力ではないでしょうか。モバイル向けにアプリケーションを普及させたい場合、この2つの大きな門番が立ちはだかります。そして彼らやAWS(Amazon)が中央集権的な障害点となってウェブの自由を脅かしており、ウェブ上の言論の自由にも影響を与えていることは、過去ビットコイン研究所内のコラムでも取り上げた通りです。
おまけにユーザーデータの収集や流出はGavin WoodがWeb3.0を提案したときからむしろ悪化しており、おびただしい量のデータが犯罪者や政府機関などに虎視眈々と狙われています。Web5はこれらの問題を解決する方法として提案されているものです。
ここまでを読むと、Web5に取り組むJack Dorseyがツイッター社を去った理由を想像してしまいます。(プラットフォーマーの中でツイッターは比較的マシな印象はありますが、今のビットコインやWeb5への没頭には罪滅ぼしという意識もあるのでしょうか?)
WEB5のイメージをつかむ
さて、ここまでWeb5の背景を知ったなら、技術的詳細の理解もしやすくなるはずです。まずはわかりやすいアプリケーション層から見ていきましょう。
Decentralized Web Applications
問題とされているアプリストアの門番を迂回する方法は実はすでに存在します。Progressive Web Appと呼ばれるもので、ブラウザからアクセスしてスマホに直接インストールでき、データもローカルに保持することができるというものです。例えば実際に株式会社ミクシィが運営する競輪アプリもギャンブルなのでアプリストアに乗せることができず、このような形態で少なくないユーザーを獲得しています。
ちなみにライトニングネットワークのような支払手段はここで効いてきます。せっかくアプリストアの番人を迂回できたのに、決済業者の番人に生殺与奪権を握られるのは同様に良くないでしょう。
Web5ではProgressive Web Appを使いますが、通常のようにデータをすべてサーバー側に登録して保管するのではなく、ユーザー自身に関するデータはユーザー側、サービスに関するデータはサーバー側に保管し、必要に応じて互いに取得したり書き換える許可を与え合います。これをDecentralized Web Applicationsと呼んでおり、ここにWeb5のネットワーク層が絡んできます。
Decentralized Web Nodes(DWN)
Web5ではアプリケーションや参加者がDecentralized Web Nodesと呼ばれるP2Pネットワークによって繋がれたプロセスを稼働させることで、ユーザー自身についての情報はアプリケーションごとに許可を与えることで読み取り・書き込みをさせ、アプリケーション固有の情報についてはユーザーが読み取り・書き込みの権限を取得するという形で互いに情報を更新し合います。
この操作を行う際、各ノードにはDIDと呼ばれる公開鍵暗号に基づく識別子があるので、これを使って通信相手のノードを発見します。イメージとしてはライトニングのIdentity Pubkeyですが、DIDにはちゃんと専用の規格があります。
もちろん作成するのに誰の許可も必要ありませんが、Web5を利用する際にはドメイン名をIPアドレスに変換するDNSのようにDIDリゾルバという役割のノードに問い合わせる必要があります。DIDの作成や削除などの操作がビットコイン等のブロックチェーンに大量に(マークルルートの形で)コミットされているため、誰でもDIDリゾルバになれ、どのリゾルバを使ってもいいという形でDID Lookupを非中央集権的に実現しました。
ちなみにユーザーが自身のDWNを操作したりDIDを作成・更新・破棄する際にはIdentity Walletという種類のアプリで操作する想定のようです。
同じくJack Dorseyが立ち上げたSpiral(旧Square Crypto)はLDKというライトニングウォレットを簡単に作成するためのライブラリを作っているので、おそらくライトニングが統合されたIdentity Walletが複数生まれることに期待しているのでしょう。
Verifiable Credentials
さて、各ノードにDIDがあるため、もう1つ便利なことが行なえます。Verifiable Credentialsによる認証です。
例えばWeb5でレンタカーを予約する際に運転免許証を提示する必要があるとします。従来なら写真を撮って送信し、レンタカー会社が確認しますが、Web5では免許証は免許センターのDIDで発行・署名されたVerifiable Credentialsになっており、これを提出するとレンタカー会社は自動的にその真正性を検証することができます。また免許証には個人情報がたくさん載っていますが、用途によって必要な部分だけを提示することも考えられます。
免許センターがWeb5に対応するという少し非現実的な例になってしまいましたが、このような認証・確認に共通のインターフェースが存在することでウェブのComposabilityが高まると期待できます。
上記のすべてをまとめると、Web5はユーザーが自身に関するデータや証明書を保有し、各サービスに対しては必要最小限の権限を渡すことで個人情報の際限ない複製や流出を防ぎ、特定のプラットフォームが影響力を持ちすぎることを防ぐ意図があります。Web2.0ではOAuthのように「特定のアカウントを使って他のサービスにログイン」できるようになりましたが、Web5ではそのアカウントが自分だけのDecentralized Web Nodeになったようなイメージでしょうか。
所感&まとめ
Web5の各技術はウェブの仕様策定を行うW3Cの仕様に基づいているなど、あくまでウェブの問題点を改善するために生まれてきたウェブの技術であり、スケール面で難があるブロックチェーンはほぼ登場しません。一方でパーソナルサーバーを用いることを想定したP2Pネットワークの構成やDIDの仕組み、Decentralized Web Appsの決済手段としてなどライトニングネットワークとの親和性が非常に高いことにも注目できます。
ただ、様々なアプリケーションにDecentralized Web Nodesの仕組みが組み込まれ、さらにデータ共有のための共通規格がまとまるかは全く別問題のようにも思えます。具体例としてSpotifyやApple Musicで作ったプレイリスト(ユーザーが所有するデータ)をTidalに移行するというものが挙げられていましたが、そのような共通規格への対応は他社からのユーザー獲得を簡単にすると同時に他社への流出も楽になる諸刃の剣なので、シェアで優位にある会社が対応するインセンティブがあるかは不明です。
名称がWeb3をなじっているため、「イーサリアムのパクリだ」「利益誘導かよ」という反発が一部から聞こえましたが、分野が根本的に異なるのでこれは全くの見当違いだということが理解できたでしょうか。GoogleやApple、あるいは政府機関による支配を免れるためのアプリケーションプラットフォームとしてのWeb5のこれからに期待大です。