Web3とそのDockerとの関連性に関する誤解を明確にする

これは、 StorjのプリンシパルソフトウェアエンジニアであるMarton Elekによって書かれたゲスト投稿です。

このブログは、2 部構成のシリーズの第 1 部です。 Web3を定義する際の課題と、Web3とDockerの間のいくつかの興味深い接続について説明します。

パート2では、技術的なソリューションに焦点を当て、DockerとWeb3を一緒に使用する方法を示します。

DockerCon 2022のJT Olio、Krista Spriggs、Marton Elekによるプレゼンテーション「Docker and Web 3.0 — Using Docker to Utilize Decentralized Infrastructure & Build Decentralized Apps」に基づいて構築します。 ただし、この投稿を読む前にそのセッションを表示する必要はありません。

結局のところ、Web3とは何ですか?

グループにWeb3とは何かを尋ねると、人ごとに異なる答えが得られる可能性があります。 Web3の定義は多くの混乱を引き起こしますが、この明確さの欠如は機会も提供します。 コンセンサスがないので、私たちは独自のビジョンを提供することができます。

1つの問題は、多くの定義が目標ではなく、特定のテクノロジーに基づいていることです。

  • 「Web3はアイデアです[...]分散化、ブロックチェーン技術、トークンベースの経済学などの概念が組み込まれています」(ウィキペディア)
  • 「Web3とは、ブロックチェーンに基づく分散型オンラインエコシステムを指します。」 (ゲビン・ウッド)

高レベルの目標やビジョン(またはそれらに加えて)ではなく、テクノロジーに基づいてWeb3を定義することには3つの問題があります。 一般に、これらの定義は残念ながら「何」と「どのように」を混同しています。 Web3の定義は「何」に焦点を当て、「方法」はテクノロジーを使用した実装に関する議論に任せます。 各問題についてさらに詳しく説明しましょう。

問題#1:「どのように」ではなく「どのような」問題を解決するべきか

まず、ほとんどの人は「トークンベースの経済学」にあまり興味がありません。 しかし、彼らは多くの一般的な質問を通じて現在のインターネット(「Web2」)を情熱的に批判することができます。

  • プラットフォーム間を移動してデータをエクスポートまたはインポートするのが難しいのはなぜですか? データを所有するのがなぜそんなに難しいのですか?
  • 他のソーシャルサービスやメッセージングサービスを使用している友人と通信するのがとても難しいのはなぜですか?
  • サービスプロバイダーが適切な説明や再審査請求の可能性なしにユーザーをシャットダウンできるのはなぜですか? 
  • ほとんどの利用規約は実用性に役立ちません。それらは長くて理解するのが難しいです。 誰もそれらを読んでいません(GDPR規制に起因する、Webサイトとユーザーデータの取り扱いに関する長い新しい用語を想像するだけです)。 サービスプロバイダーとの議論では、私たちは不利であり、勝つ可能性は低くなります。  
  • なぜ私たちはより良いプライバシーを持つことができないのですか? データの完全な暗号化? または、私たちの個人データ、投稿、およびアクティビティを誰が読んだり使用したりできるかを選択する自由はありますか?
  • なぜもっと柔軟な方法でコンテンツを販売できなかったのですか? 成功するために、中央市場からの高いマージンを受け入れることを本当に強制されていますか?
  • どうすれば一人の人や組織に依存することを避けることができますか?
  • データと機密情報のセキュリティを確保するにはどうすればよいですか?

これらはよく知られた問題です。 これらはユーザビリティの重要な質問でもあり、最終的には解決する必要のある「何」でもあります。 ブロックチェーンやNFTのような新しいテクノロジーを必ずしも必要としているわけではありません。 代わりに、セキュリティ、プライバシー、制御、主権、経済などが改善されたより良いサービスが必要です。 ブロックチェーンテクノロジー、NFT、フェデレーションなどは、これらの問題に対処し、より良いサービスを享受するのに役立つ場合にのみ役立ちます。 これらは、「何」を解決するための「方法」のための潜在的なツールです。

アーティストと常連客や寄付者をつなぎ、彼らの作品に資金を提供するための、より簡単で公平なシステムがあったとしたらどうでしょうか。 これは、Web3がどのように役立つかの一例にすぎません。

その結果、Web3は「セキュリティ、プライバシー、制御、主権、経済を含むがこれらに限定されない、インターネットのUXを改善する動き」と定義されるべきだと思います。

問題#2:ブロックチェーンですが、Web3ではありませんか?

テクノロジーはさまざまな方法で使用できます。 ブロックチェーンは、より多くの主権、管理、経済性を備えた通貨システムを作成できますが、不正なプロジェクトをサポートすることもできます。 私たちはそれをたくさん見てきたので、多くの人が非常に懐疑的であることは驚くべきことではありません。

ただし、これらのコメントは通常、Web3のコアテクノロジーを使用する不公平または不正なプロジェクトに対して重要です(例: ブロックチェーン)人々からお金を吸い上げる。 それらは通常、ユーザビリティに関連する大きな問題に向けられていません。

健全な懐疑論は私たちを救うことができますが、少なくとも慎重な楽観主義が必要です。 常に発明を続け、より良いソリューションを探しています。 たぶん、より良い技術が必要です。 または、現在のテクノロジーを異なる方法で使用することが、Web3の「方法」を実現するのに最も役立つ可能性があります。

問題#3:Web3ですが、ブロックチェーンではありませんか?

前の問題を反対の視点から見ることもできます 問題#1に関連するインターネットの現在の課題を解決するのに役立つのは、ブロックチェーンやNFTだけではありません。 一部のプロジェクトはブロックチェーンをまったく使用していませんが、解決するインターネットの課題により、Web3として認定されています。

良い例の1つは、地方分権化を達成するための最も古い方法の1つであるフェデレーションです。 私たちの電子メールシステムは、大手企業が電子メールアカウントのかなりの割合を処理している場合でも、依然としてかなり分散化されています。 そして、この分散化は、新しいプレーヤーがより優れたプライバシー、セキュリティ、または制御を提供するのに役立ちました。

ありがたいことに、ゼロからフェデレーション用に設計された数少ないチャットアプリの1つである Matrixのような、より新しく有望なプロジェクトがあります。 すべてのチャット アプリでプロバイダー間のフェデレーション メッセージ交換が許可されている場合、通信はどの程度簡単になりますか? 

ドッカーとWeb3

Dockerについて話すためにここにいるので、どうすればすべてをコンテナに接続できますか?

ソフトウェアを構築してデプロイする方法は複数ありますが、コンテナは通常、ある程度のレベルで関与します。 テクノロジーを使用する場所ならどこでも、コンテナはおそらく役立ちます。

しかし、DockerとWeb3の間には根本的な隠されたつながりがあると私は信じています。 これら3つの類似点は小さいですが、一緒になって非常に興味深い共通のリンクを形成します。

モチベーションとしてのユーザビリティ

まず、ユーザーエクスペリエンス(プライバシー、制御、セキュリティなど)を改善する必要性に基づいてWeb3ムーブメントを定義しました。 Dockerコンテナも同じ利点を提供できます。

コンテナは、実際のユーザーの問題を解決したため、すぐに人気が高まりました。 それらは開発者に再現可能な環境、簡単な配布、そして十分な分離を提供しました。

Dockerは設立当初から、名前空間の分離やLinuxカーネルのcgroupsなど、既存の実証済みのテクノロジーに基づいてきました。 最先端のテクノロジーに基づいて構築することで、Dockerは既存の多くの問題点を解消しました。

Web3も同様です。 目標を達成するには、適切なテクノロジーを選択する必要があります。 そして幸いなことに、ブロックチェーンのようなイノベーションは、必要なプロジェクトをサポートするのに十分成熟しています。

コンテンツ・アドレス可能な世界

完全に分散化されたシステムを構築する上での1つの障壁は、すべてのサービス項目に対してグローバルに一意の分散型識別子を作成することです。 誰かが新しい識別子を作成するとき、それが本当に他に類を見ないものであることを確認する必要があります。

簡単な修正はありませんが、ブロックチェーンが役立ちます。 結局のところ、チェーンは真実の中心的な情報源です(分散型の方法で何千人もの参加者によって合意されました)。 

この問題を解決する別の方法があります。 オプションが1つしかなく、選択が明らかな場合、一意の識別子を選択するのは非常に簡単です。 たとえば、コンテンツがそのハッシュで識別される場合、それは一意の識別子です。 コンテンツが同じ場合、一意の識別子 (ハッシュ自体) は常に同じになります。

1つの例は、配布用に作成されたGitです。 すべてのコミットは、そのハッシュ(メタデータ、親へのポインタ、ファイルツリーへのポインタ)によって識別されます。 これにより、Gitの分散化が使いやすくなりました。ほとんどのリポジトリは大企業によってホストされていますが、プロバイダー間でコンテンツを移動するのは非常に簡単です。 これは私たちが解決しようとしていた以前の問題でした。

分散型コンテンツルーティングプロトコルとしてのIPFSは、分散型ノード間の混乱を避けるために、ハッシュとピースをペアにします。 また、さまざまなハッシュタイプ(マルチハッシュ)またはさまざまなデータ構造(IPLD)の表記を定義するための完全なエコシステムも作成されました。

Dockerコンテナを見るとまったく同じことがわかります。 ダイジェスト はコンテンツベースのハッシュとして機能し、レイヤーとマニフェストを識別できます。これにより、それらを簡単に検証し、混乱することなくさまざまなソースから取得できます。 Dockerは、最初から分散化されるように設計されています。

フェデレーション

コンテナレイヤーとマニフェストのコンテンツベースのダイジェストは、Dockerがあらゆる種類のレジストリで使用できるため、役立ちます。

これはフェデレーションの一種です。 Docker Hubが利用可能な場合でも、新しいレジストリを開始するのは非常に簡単です。 ベンダーロックインはなく、1つの可能な市場に上場することの背後にある厳しいプロセスはありません。 新しい画像の公開と共有は、可能な限り簡単です。

上で議論したように、フェデレーションは地方分権化の一形態であり、地方分権化は私たちが必要とするもの、つまりより良い管理と所有権を得るための1つのアプローチであると私は信じています。 フェデレーション に反対するスタンスもありますが、フェデレーションはその複雑さにもかかわらず、より多くのメリットを提供すると思います。 多くのハードフォーク、ソフトフォーク、ブロックチェーンの再起動は、フェデレーションで制御(特に民主的な制御)が可能であることを証明しています。

しかし、他の方法でそれを呼び出すことができます。 さまざまなコンテナレジストリを自由に使用でき、コンテナをデプロイするプロセスは、Dockerコンテナの成功の重要な要素であると私は信じています。

概要

最終目標とユーザーからのフィードバック、または「何」を達成する必要があるかに基づいて、Web3を正常に定義しました。 そして、この定義は非常にうまく機能しているようです。 これらの目標を「どのように」達成するかを意識しています。 また、NFTやブロックチェーンを使用しなくても、既存の「Web2」テクノロジーや多くの将来のプロジェクトの使用も含まれます。 多くの懐疑論を集めている詐欺的なプロジェクトも除外されています。

また、Web3とDockerの間にいくつかの興味深い交差点が見つかりました!

私たちの仕事は、働き続け、革新し続けることです。 私たちは目の前の目標に焦点を当て、それらの目標に基づいて適切なテクノロジーを見つける必要があります。

次は、より技術的な分野について説明します。 完全分散ストレージ オプションを備えた Docker の使用について、ぜひご参加ください。