Web 3.0の第一印象

image

こんにちは、medibaのエンジニアカルロスです!

昔、暗号(crypto)に強い関心があったにもかかわらず、暗号通貨にはあまり興味が持てません。Bitcoinは始まったころに少し採掘していましたが、大した量は稼げずウォレットのログイン方法も覚えていません。 尚、生活側面の全てを計装化された経済に移行することに対する現代の興奮には共感できません。 厳密に言えば、技術的なレベルだと、私はまだ信者になれていません。

そこで、現在web3について注目すべき点をふまえた上で、いくつかの点を徹底的に勉強して、見逃していることがあるか確認することにしました。

Web 1.0と2.0についての意見

web3はやや曖昧な用語であり、web3の野心を厳密に評価することは困難ですが、一般的な理論では、以下になります。 web1:分散化 web2:すべてをプラットフォームに集中化 web3:すべてを再び分散化

web3はweb2の豊かさを提供しつつ、分散化されています。 まずは、集中型プラットフォームが何故登場した理由をある程度明確にするほうがいいでしょう。私の考えでは、説明は非常に簡単です!

誰も自分のサーバーを管理したくないし、決してしません

web1の前提は、ネット上の全ての人がコンテンツの発行者であると同時に消費者であり、インフラストラクチャの発行者と消費者でもあるということでした。 皆が、個人サーバーの上に個人ウェブページをホストし、個人のメアドのための個人のメールサーバーを用意し、個人のステータスメッセージ用の個人のフィンガーサーバーがあるようにします。 しかし、強調してもしすぎることはないだろうと思いますが、一般ユーザーがこれを望んでいることではないでしょう。一般ユーザーは自分のサーバーを管理したくないし、それはオタクでもしたくないことです。ソフトウェアを開発している組織でさえ、現時点ではサーバーを管理したくないです。私たちがこの世界について学んだことを1つ挙げるとしたら、それは人間がサーバーを管理したくないということです。 だから、代わりにそのサービスを提供してくれる会社は成功しました。そして、それらのネットワークの上の可能であることを拡張して新しい機能をイテレーション(※1)した会社はさらに成功しました。

プロトコルはプラットフォームよりもはるかにゆっくりと移動します

30年以上経っても、電子メールはまだ暗号化されていません。一方、WhatsAppは1年で暗号化されていない状態から完全なe2eeに移行しました。 未だにIRCを介してビデオを確実に共有することを標準化しようとしていますが、一方、Slackでは、ユーザーの表情に基づいてカスタムのリアクション絵文字を作成できます。 これは資金調達の問題ではなく、何かが完全に分散化されていると、変更が非常に難しくなり、時の流れの中で取り残されたままになることがよくあります。これはテクノロジーの問題であり、エコシステムの動きが非常に速くて常に並走していなければ置いていかれます。膨大な数の人々のグループを編成して早く移動できるようにする方法を見つけることが非常に重要であるため、アジャイルのような方法論の定義と改善に焦点を当てた並行業界全体が存在するのでしょう。

テクノロジー自体が動きよりも停滞を助長するとなると大問題です。成功の確実な秘訣は、時間に追われていた90年代のプロトコルを採用し、それを集中化して、迅速に反復することだと考えられます。

しかし、web3の意図は違うところにあるので、そのことを確認してみましょう。技術の感じをつかんで将来がどうなるかをよりよく理解するためにいくつかのdAppを利用してNFTを作成することにしました。(今後自分で作成したいみたいと思いますが…)

分散型アプリケーション(dApp)を使ってみました

web3を感じ取るためにAutonomousArtというdAppを使ってみました。これにより、NFTに視覚的な貢献することで、誰でもNFTのトークンを発行できます。視覚的な貢献をするためのコストは時間の経過とともに増加し、貢献者がミントのために支払う資金は以前のすべての貢献者に分配されます(この財務構造はピラミッド型に似たものになります)。

そして、原資産を追跡する金融デリバティブのように、原資産を追跡するNFTデリバティブを作成、発見、交換させてくれるFirstDerivativeというdAppも使ってみました。

どちらもdAppの仕組みを感じさせてくれました。正直にいうと、アプリ自体について特に「分散」されているものはありませんでした。アプリは通常のReactのウェブサイト… その「分散性」とは、ステートとそのステートを更新するためのロジック/権限が存在する場所になります。その場所は「集中型」データベースではなく、ブロックチェーンの上です。

私がいつもおかしいと思っているのは、クライアント/サーバーのインターフェイスへの注意の欠如です。誰かがブロックチェーンについて話すときには、信頼の分散、指導者のない総意、そして仕組みがどのように動いているかについて話しますが、多くの場合最終的にクライアントができないことは何であるかがうやむやになっているように思えます。 どんなネットワーク図にも載っているものはサーバーばかりで、信頼モデルもサーバー間のものであり、すべてはサーバーに関するものです。ブロックチェーンはピアのネットワークとして設計されていますが、モバイルデバイスまたはブラウザがピアになれるようには設計されていません。

たとえば、モバイルでもPCでも、AutonomousArtやFirstDerivativeのようなdAppは、ステートの変更またはレンダリングするため何らかの方法でブロックチェーンとやり取りする必要があります。ただし、ブロックチェーンはモバイルデバイス(もしくはPCブラウザー)上で動作できないため、クライアント側からこれを行うことは実際には不可能でしょう。したがって、唯一の代替手段はどこかのサーバー上でリモートで実行されているノードを介してブロックチェーンと対話することです。

やっぱりサーバーだ!でも、すでに書いたように、人はサーバーを管理したくありません。偶然にも、サービスとしてetheriumノードへのAPIアクセスを販売する企業が出現し、分析、拡張API、および履歴トランザクションへのアクセスを提供しています。なんか聞いたことありますよね…現時点で、ほとんどすべてのdAppは、ブロックチェーンと対話するために2つの会社を使っています。InfuraまたはAlchemy。実際、MetaMaskのようなウォレットをdAppに接続し、dAppがウォレットを介してブロックチェーンと対話する場合でも、MetaMaskはInfuraを呼び出しているだけです。

これらのクライアントAPIは、ブロックチェーンの状態や応答の信頼性を承認しようとしていません。結果は署名すらされていません。AutonomousArtのようなアプリは、「このスマートコントラクトでのこのビュー機能の出力は何ですか」と訊いて、AlchemyまたはInfuraは、「これは出力だよ」というJSON BLOBで応答し、アプリがそれをレンダリングします。

これは驚きでした。信用不要(※2)の分散型コンセンサスメカニズム(※3)の構築には多大な労力、エネルギー、時間が費やされてきたのに、それにアクセスしたいほとんどのクライアントは、検証なしに、この2つのサービスからの出力を単に信頼しています。また、プライバシーの面からも最善ではないでしょう。すべてのwriteトラフィックは、もちろんブロックチェーン上ですでに公開されていますが、この2つのサービスはほぼすべてのdAppのユーザーからの読み取り要求を可視化することが可能となっています。

NFTを作る

それから、もう少し一般的なNFTを作成してみたいと思いました。ほとんどの人は、NFTについて考えるときに画像やデジタルアートについて考えますが、普段はNFTがそのデータをチェーン上に保存しているわけではありません。ほとんどの画像のNFTの場合、これは非常に費用のかかるものです。画像のデータをチェーンに保存する代わりに、データを指すURLになっています。この標準について私が驚いたのは、URLにあるデータにハッシュコミットメントがないことです。数十ドル、数百ドル、または数百万ドルで販売されている人気のある市場のNFTを見ると、そのURLは、Apacheを実行しているVPSを指していることがよくあるようです。そのマシンにアクセスできる人、将来そのドメイン名を購入する人、またはそのマシンを侵害する人は、NFTの画像、タイトル、説明などをいつでも好きなように変更できます(そのトークンを「所有」していないにもかかわらず)。NFT仕様には、画像が「こうであるべき」や、「正しい」かどうか確認させてくれるものは何もありません。

インターネットを再現する

web1がweb2になった理由を考えると、web3の奇妙なところは、ethereumのような技術がweb1で既に明らかになっているはず多く罠で構築されていることです。これらの技術を使用可能にするために、プラットフォームを中心に統合されています。また同じことが起こっています。あなたの代わりにサーバーを運営し、出現する新しい機能をイテレーションするサービス。それはInfura、OpenSea、Coinbase、Etherscan、などです。

同様に、web3プロトコルの進化は遅いです。 例えば、 First Derivativeは原資産の価値のパーセンテージとしてミントの価格を設定することもできたけれど、そのデータはチェーン上にありません。OpenSeaが提供するAPI内にあります。多くの人がクリエイターに利益をもたらす方法でNFTの特許権使用料に期待していますが、使用料はERC-721で指定されておらず、変更するには遅すぎます。そのため、OpenSeaには、web2スペースにその使用料を構成する独自の方法があります。集中型プラットフォームでの迅速な反復は、すでに分散プロトコルを上回り、制御をプラットフォームに統合しています。この方法だと暗号通貨ウォレットでのNFTのビューがOpenSeaのNFTのビューになっているとしても驚きはないでしょう。OpenSeaは、標準を変更することが不可能/困難で、可能な範囲を超えてプラットフォームを反復することに忙しいため、置き換え可能な純粋な「ビュー」ではないことに驚くことではありません。

これはメールの状況と非常に似ていると思います。自分のメールサーバーを運用することはできますが、プライバシー、検閲への抵抗、または制御に関しては、私が送受信するすべてのメールの裏にGMailがいるから、結局意味がありません。分散型エコシステムが利便性のためにプラットフォームを中心に集中すると、両方の世界の悪い部分だけを抽出した形になってしまいます。集中管理されていますが、時間内に混乱するほど十分に分散されています。自分のNFTマーケットプレイスを構築することはできますが、OpenSeaがユーザーが使用するウォレット内のすべてのNFT(およびエコシステム内の他のすべてのアプリ)のビューを仲介するため特別な制御は何も提供できません。

創造性は十分ではないかもしれません

web3を試しに少しやってみただけですが、この小さな試しの視点から見てみると、なぜこれほど多くの人たちがweb3エコシステムをとてもきれいだと思うのかが簡単にわかります。集中化されたプラットフォームから離せてくれる軌道になっていることやテクノロジーとの関係が根本的に変わるとは思いませんし、プライバシーのところもすでにインターネットの水準を下回っていると思いますが、私のような開発者がここで何かを構築することに興奮している理由もわかります。少なくとも新しいものであり、初期のインターネット時代を思い出させる創造性/探索出来るようなスペースになっているからです。皮肉なことに、その創造性の一部は、おそらくweb3を非常に不格好にする制約から生じています。今目にしている創造性と探求が前向きな結果をもたらすことを願っていますが、過去のインターネットと同じ帰結を防ぐために十分かどうかはわかりません。

テクノロジーとの関係を改善したいのなら、意図的にやらなければならないと思うのは:

  • インフラストラクチャを分散させずに信頼を分散できるシステムを設計することで、皆が自分のサーバーを管理しないという前提を受け入れる必要があります。
  • ソフトウェア構築の負担を軽減するよう努めるべきです。

しかし、正直いうとGameStopとLoopRingが作ろうとしているマーケットプレイスには少し期待があります!!

私からは以上です。最後まで読んでいただきありがとうございました。

参考

※1 https://it-trend.jp/development_tools/article/32-0022
※2 https://komugi.jp/?p=859
※3 https://support.okcoin.jp/hc/ja/articles/4403552067865