Sending Network:TCP/IPを再構築し、Web3通信インフラを構築する
Web2のTCP/IPプロトコルスタックの概要
Web2時代において、通信、計算、ストレージはインターネットの基盤を形成しています。その中で、TCP/IPプロトコルスタックはネットワーク通信の最も基本的で広範な表現形式であり、物理層からアプリケーション層までの各レベルに統一された通信フレームワークと標準を提供しています。ほぼすべてのWeb2アプリケーションは、この体系に直接または間接的に依存しています。したがって、TCP/IPプロトコルスタックはインターネット通信の標準化された基盤となっています。
Web2時代のTCP/IPプロトコルの問題
インターネット技術の進化に伴い、TCP/IPプロトコルスタックはいくつかの構造的な問題を露呈し始めました。これらの欠陥は、私たちの日常的なネットワーク使用の中に潜んでいます。2人のユーザーがチャットアプリを通じて交流する例を挙げると、これらの問題の影響を具体的に示すことができます。仮にユーザーAがユーザーBにメッセージを送信すると、そのメッセージはまずいくつかのデータパケットに分割され、その後インターネット上の複数のサーバーを経由してユーザーBに送信されます。
- アプリケーション層では、ユーザーがアプリケーションのウェブサイトにアクセスする際、DNSに依存してサービスアドレスを解決する必要があります。もしDNSが汚染されたり攻撃を受けたりすると、ユーザーは悪意のあるサーバーに誤ってアクセスし、プライバシーの漏洩やデータの改ざんを引き起こす可能性があります。
- トランスポート層では、SSL/TLSプロトコルが依存する証明書認証機関(CA)が攻撃を受けたり信用を失ったりすると、ユーザー間の通信が第三者に傍受されたり改ざんされたりする可能性があります。例えば、ユーザーのメッセージが安全でないチャネルを通じて送信される場合、ハッカーがこれらのデータパケットを傍受したり、不正な情報を偽造したりする可能性があります。また、これらの中央集権的なCAへの依存は信頼リスクをもたらします。
- ネットワーク層では、アプリケーションサービスのIPアドレスが少数の機関によって制御されているため、IPアドレスの有限性とその集中化の配分問題が、リソースの制御権をほとんど少数の国や組織に集中させています。これにより、不公平な配分が生じるだけでなく、全体のネットワークアーキテクチャが中央集権的な制御の脅威にさらされやすくなります。
これらはすべてTCP/IPの中央集権的な属性から引き起こされる根本的な問題であり、部分的な修正だけでは解決できません。私たちは全面的な技術革新を通じて、プロトコルスタックの非中央集権化を実現し、これらの深層的な問題を解決する必要があります。Sending Labsは、TCP/IPモデルを再構築し、ウォレットアドレスを使用して直接ピアツーピア通信をサポートする非中央集権的な通信プロトコルスタックを開発しています。これにより、インターネットインフラストラクチャを再構築し、安全性、プライバシー、ユーザーの制御権を大幅に向上させることができます。
Web3時代の通信新基準の構築:TCP/IPプロトコルスタックの再構築
Web3時代において、現在のシステムの問題を解決するためにTCP/IPプロトコルスタックを再構築する必要があります。Web3バージョンのTCP/IPプロトコルスタックは以下の特徴を持つことになります。まず、IPアドレスの無限供給を確保し、リソースが少数の国や組織によって独占されるのを防ぎます。次に、トランスポート層の信頼認証をブロックチェーンに基づく非中央集権的なメカニズムに移行し、単一のCA認証機関に依存しないようにします。さらに、DNSなどの重要なプロトコルをブロックチェーンに移行し、従来のDNSサービスプロバイダーへの依存を排除します。また、大衆が自らルーターを設置することを奨励し、非中央集権的な物理層のインフラストラクチャを構築します。最後に、ネットワーク通信端末に金融属性を付与し、ブロックチェーンアカウントシステムと直接関連付けることで、自然に金融機能をサポートします。
この新しいプロトコルスタックを利用することで、将来のインターネットの利用方法は大きく変わります。ユーザーはブラウザを開き、ENSドメイン名を入力し、ブラウザがブロックチェーンを通じて対応するアドレスを解決し、接続要求を発起します。接続が確立される前に、システムは端末のデジタル署名とブロックチェーンに基づくDIDシステム認証を通じて、通信の両者の身元を確認してから接続を確立します。この過程で、すべてのデータは巨大な物理ルーティングシステムを通じて処理され、データが一方から他方に送信されることを保証します。支払いが関与する場合、通信端末が金融属性を持つため、ユーザーはENSに対応するウォレットアドレスに直接支払いを行うことができ、フィッシング詐欺のリスクを回避し、支払いの安全性を確保します。ソーシャル、Eコマース、その他のアプリケーションにおいても、ネットワーク層とトランスポート層の安全性と非中央集権的な特性が引き継がれます。
次に、ネットワーク層、トランスポート層、アプリケーション層、物理層でこれらの非中央集権的な特性をどのように実現するかを詳しく説明します。
ネットワーク層
ネットワーク層の設計は、4つの核心的な要求を満たす必要があります。第一に、IPアドレスは十分でなければならず、アドレスの地域コードは世界的に公平に配分される必要があります。第二に、IPアドレスは金融属性を持ち、ブロックチェーンアカウントと直接関連付けられる必要があります。第三に、完全にWeb3ネットワークに移行する前に、IPv4/IPv6との互換性を維持する必要があります。第四に、ドメイン名解決の非中央集権化を確保する必要があります。そのために、2つの主要なアドレスタイプを設定します:ユニキャストアドレスと任播アドレスです。その中で:
- ユニキャストアドレス: 一意に決定され、ネットワーク内の1つのネットワークカードデバイスを一意に特定できる、ネットワークセグメントID、サブネットID、ホストID、ネットワークカードIDなどのいくつかのIDで構成されます。ネットワークセグメントとサブネットのIDプレフィックスに基づいて迅速なルーティングを行い、ルーティングテーブルの複雑さを低減します。
- 任播アドレス: ウォレットアドレスに対応し、複数のユニキャストアドレスをバインドして効率的なデータ転送を実現します。この設計は、ネットワークのルーティング効率を最適化するだけでなく、IPアドレスの供給能力を大幅に向上させます。送信者が任播アドレスに接続要求を発起すると、ルーターはルーティング距離に基づいてデータパケットをその任播アドレスにバインドされた最も近いユニキャストアドレスに送信します。すべての任播アドレスにバインドされたユニキャストアドレスが提供するサービスは同じであるため、送信者は任意のユニキャストアドレスとの通信を通じて通信ニーズを満たすことができます。
ユニキャストアドレスはアドレスプレフィックスを通じて迅速なルーティングを実現し、その長さは160ビットを超えるウォレットアドレスに設計でき、理論的には無限供給が可能です。任播アドレスはウォレットアドレスに相当し、IPアドレスに金融属性を付与します。
では、どのようにして非中央集権的な方法でユニキャストアドレスの配分を実現するのでしょうか?Web2時代には、IPアドレスは中央機関によって配分されていました。しかし、Web3では、これらのアドレスはスマートコントラクトを通じて配分されます。スマートコントラクトはネットワークの規模に応じて、さまざまなネットワークセグメントIDライセンスNFTを生成し、オペレーターに特定のサブネットを管理する権限を付与します。ネットワークセグメントIDを持つオペレーターは、サブネットを細分化して次のレベルのオペレーターやエンドユーザーに販売できます。オペレーターはルーターのノードを運営することでデータトラフィックを処理し、利益を上げ、IPアドレスの公平かつ非中央集権的な配分を確保します。
ドメイン名解決-DNSプロトコルは、Web3ではアプリケーション層に定義されていますが、論理的にはネットワーク層でネットワーク伝送端末に名前を付けるプロトコルのように見えます。ここでは、これをネットワーク層プロトコルと見なし、他のアプリケーション層プロトコルで再利用できるものとします。Web3におけるDNSは、チェーン上の解決プロトコルであり、ENSのような実装によって、チェーン上のコントラクトがドメイン名とウォレットアドレスの対応関係を定義し、DNSドメイン組織への依存を実現し、中央への依存を排除することで、DNS汚染問題を回避します。
このネットワークが完全にスケール化される前に正常に機能することを保証し、コールドスタート問題を解決するために、ネットワークは既存のIPv4/IPv6と互換性を持たせる必要があります。ルーターが直接接続されたネットワーク内でターゲットアドレスを見つけられない場合、データはIPv4/IPv6データパケットにカプセル化され、他のサブネットのルーターに送信されます。受信側のルーターはこれらのデータパケットを解析し、ターゲットアドレスを見つけるまでサブネット内でルーティングを続けます。このプロセスは、IPv6の初期段階でIPv4ネットワークを通じて互換性を実現するトンネルに似ています。
さらに、ルーターは内部ネットワークの透過性を担当し、データがIPv4ゲートウェイを通じて内部ネットワークに入る必要がある場合、パブリックルーティングデバイスがこれらの接続を転送します。これらのデバイスは内部ネットワークのリバースプロキシとして機能し、データがトンネルを通じて安全に内部ネットワークアドレスに入ることを可能にします。
これらのネットワーク層の改造を実現するためには、物理層とトランスポート層で相応の改善が必要です。物理層には十分なルーター設備が必要であり、同時にエンドユーザー、光ファイバーサービスプロバイダー、または現在のISPオペレーターがこれらの設備を購入するように促す必要があります。これによりネットワーク効果が形成され、既存のIPネットワークを徐々に置き換えることができます。トランスポート層では、任播とユニキャストアドレスのバインディング関係を検証し、通信の安全性と不可偽造性を確保するためにさらに改良が必要です。
トランスポート層
トランスポート層はデータの安全な伝送を確保しつつ、CAへの信頼を排除し、安全認証プロセスがいかなる中央集権的な組織にも依存しないようにします。
通常、インターネット接続の安全性を確保するため(例えばHTTPSを使用するウェブサイト)は、SSL/TLSプロトコルに依存し、これらのプロトコルはCA機関にアクセスするウェブサイトの真実性を検証させます。私たちは、チェーン上のDIDドキュメントに基づいて安全性を維持し、中央集権的な実体への依存を排除することを望んでいます。
この相互認証プロセスは、チェーン上のDIDドキュメントにアクセスすることで実行されます。両者の任播アドレスはすでにブロックチェーン上に登録され、ウォレットアドレスにリンクされているため、従来のCAが必要とするDNSサービスはもはや必要ありません。DIDドキュメントとウォレットアドレスを見つけて関連付け、通信相手が有効な署名を提供すれば、あなたが通信している実体がその識別子の合法的な所有者であることを確認できます。
この方法を通じて、ウォレットからウォレットへの接続が確立され、ソケットを介して便利なデータ伝送が行われます。特定のソケット環境におけるSSL/TLSの操作に似て、このシステムはこれらの接続に新しい選択肢を提供します。
ソケットの例
私たちはネットワーク層とトランスポート層を再構築する方法をいくつか提案してきました。以下のソケットコードはその一例です。各層は特定の課題に対処しています。この基盤の上に、ウォレットアドレスが金融機能を持つため、通常のIPアドレスにはない機能を持つため、ソケットコードを使用して接続を確立し、その後取引指示を送信できます。
したがって、この新しいTCP/IP技術スタックは、SSL/TLS、IPルーティング、金融取引の特性を統合しています。以下は簡単なサンプルコードです。
アプリケーション層
TCP/IPプロトコルスタックのアプリケーション層プロトコルは非常に多く、一般的なものにはHTTP(S)、XMPP、SMTP、POP3、FTP、SIP、RTMP、CDNなどがあります。これらのプロトコルは伝統的に中央集権的なサーバーに依存しており、XMPPのインスタントメッセージサーバーやSMTPのメールサーバーなどがあります。しかし、Web3時代においては、非中央集権的なネットワークノードが従来の中央サーバーに取って代わり、アプリケーション層プロトコルはもはやアプリケーションのサーバーを気にしなくなります。これらのプロトコルは、データパケットフォーマットをトランスポート層/ネットワーク層の上に定義する以外は、全体のアプリケーションがネットワーク層の非中央集権的なネットワークインフラストラクチャの上に構築され、ネットワーク層がさまざまなアプリケーションに堅固な非中央集権的なネットワーク基盤を提供します。
すべてのアプリケーション層プロトコルの中で、HTTPS、XMPP、SMTPなどが最も一般的であり、私たちの日常的な社交活動の基盤を形成しています。Web3のアーキテクチャの下で、私たちはXMPPに似たプロトコルを使用して最初のアプリケーションの例を開発しました。これは非中央集権的なインスタントメッセージングソーシャルアプリケーションプロトコルです。このプロトコルでは、ユーザーは自分のウォレットアドレスをソーシャルアカウントとして利用し、エンドツーエンドの暗号化チャットを行い、プライベートまたは公開のチャットグループを作成し、音声やビデオメッセージを送信し、さらには音声通話やビデオ通話を行うことができます。これらはすべて、トランスポート層の安全な通信能力とネットワーク層の広範なノードネットワークを再利用し、ウォレットアドレスを新しいネットワークアイデンティティとして使用します。
私たちが提供するXMPPに似たインスタントメッセージプロトコルの他にも、アプリケーション層には多くのアプリケーションシナリオがあります。例えば:
- HTTPおよびHTTPSに基づくWebアプリケーション: 開発者は、ウォレットアドレス/ENSドメインに基づくネットワークにウェブサイトを簡単にデプロイし、ネットワークが提供する帯域幅の共有による高速アクセスを享受し、アプリケーションの検閲耐性と安全なアクセスを保証します。
- SMTP/POP3などのメールアプリケーション:このネットワークに依存して、非中央集権的なメールシステムが容易に実現されます。特定のENSドメイン所有者にメールを送信する必要がある場合、アプリケーションはネットワーク層を通じて対応するENSアドレスのノードを見つけ、メールをアップロードし、受信者はそのノードからメールをダウンロードできます。
- CDNリソース配信プロトコルのアプリケーション: このネットワークに依存して、開発者はデータを各種ルーター設備やデータセンターのノードに配信し、インセンティブメカニズムによって構築された巨大なノードネットワークを利用して、ノードがほぼ全世界に広がり、各家庭に深く浸透します。広範なノードネットワークにより、CDNプロトコルは空き帯域幅リソースを効率的に利用し、開発者とユーザーにより高速なアプリケーション体験を提供します。
- SIP/RTMP/WebRTCなどのストリーミングメディアプロトコルのアプリケーション: 広範なノードリソースと余剰帯域幅の共有により、ストリーミングメディアアプリケーションはストリーミングメディアコンテンツの分散ストレージとキャッシュ加速アクセスを実現し、ストリーミングメディアのアクセス速度とスムーズさを向上させます。
- FTPなどのファイル転送およびアクセスプロトコルのアプリケーション: 巨大なノードネットワークを通じて、Web3の非中央集権的なストレージプロジェクトと組み合わせて、ネットワークがIPFS/Arweaveなどのプロジェクトのコンテンツリソースを積極的にキャッシュし、頻繁にアクセスされるコンテンツを加速し、プロジェクトの活性度とアプリケーション範囲を向上させます。
- OpenVPNなどのVPNプロトコルのアプリケーション: VPNアプリケーションは、ルーティングデバイスが共有するIPリソースを合理的に利用し、アプリケーションのIPリソース範囲を大幅に拡大し、VPNに最も基本的なIPと帯域幅リソースを提供します。
- Kafka、RabitMQなどのメッセージキュープロトコル: メッセージキューは、分散型およびクラスターアプリケーションで広く使用されるアプリケーション層プロトコルであり、多くのアプリケーションがそれらを使用してアプリケーションモジュールやプロセス間の通信を実現します。Web3時代において、これらのアプリケーションは広範なノードネットワークに依存し、これらのノードを自然なメッセージキューの担い手として利用し、広範なアプリケーションに共有の高速メッセージキューサービスを提供します。
物理層
物理層の核心的な考え方は、非中央集権的なルーターを普及させるためのインセンティブを提供し、家庭で広く採用され、最終的にネットワーク効果を生み出すことです。これらのルーターは、ユーザーが余剰の家庭帯域幅を利用して全体のネットワーク容量を向上させることを可能にします。私たちのネットワーク層プロトコルと統合することで、これらのデバイスはデータキャッシュと加速機能を強化し、エコシステム内の非中央集権的なアプリケーションに利益をもたらします。これらのデバイスは帯域幅の使用を最適化し、ユーザーが帯域幅の貢献から利益を得ることを可能にします。
初期段階では、IPv4アーキテクチャに基づいて、IPv4トンネルを通じて通信端末に直接接続する伝送リンクを確立します。ノードが普及するにつれて、さらなるインセンティブを通じて、より多くの光ファイバーサービスプロバイダーを引き付け、物理層でのハードウェアネットワークの完全な相互接続を実現します。
最後に
TCP/IPプロトコルスタックの再構築の影響は、技術的な変化を超えたものとなるでしょう。ウォレットアドレスに基づくルーティング、ドメイン名解決、アイデンティティ認証をインターネットのコアプロトコルに直接統合することで、私たちは非中央集権的なネットワークの基盤を積極的に構築しています。非中央集権的なインスタントメッセージング通信を初期のアプリケーション層プロトコルとして、将来的にはメッセージング、金融取引、デジタル資産管理を統合した非中央集権的なエコシステムが形成されるでしょう。この変革は、オンラインプライバシー、安全性、自由を大幅に向上させ、オープンなインターネットの実現に向けた重要な一歩となることが期待されます。
前述のように、SendingNetworkは非中央集権的なメッセージングプロトコルを発表しました。これは私たちの非中央集権的プロトコルスタックの最初のアプリケーション層プロトコルです。ユーザーはウォレットアドレスを利用してエンドツーエンドの暗号化メッセージを送信し、プライベートまたは公開チャットに参加し、音声およびビデオ通話を行うことができます。ネットワークは以下の3つの役割で構成されています:
- エッジノード: メッセージを転送、中継し、作業量証明を提出します。
- WatchDogノード: エッジノードにランダムなチャレンジメッセージを送信し、その運用状態を検出します。
- Guardianノード: エッジノードの作業量証明を検証し、WatchDogのチャレンジ結果に基づいてサービス品質(安定性など)を評価します。
このネットワークは、メッセージ中継の作業量証明としてProof of Relayを採用し、ノードのサービス品質を評価するためにProof of Availabilityを利用しています。現在、私たちは第一段階のテストネットを開放しており、エッジノードはメッセージ転送を通じてポイントを獲得できます。今後、ネットワークにWatchDogとGuardianの役割を順次追加し、非中央集権的な環境下でネットワークが安定して運用できるようにします。
私たちは開発者とユーザーにこのメッセージングネットワークに参加するよう呼びかけています。このクロスプラットフォームプロトコルを通じて、Web3ユーザーが異なるアプリケーション間で相互接続を実現する手助けをします。また、同じ志を持つ友人たちにも参加を呼びかけ、TCP/IPの変革を共に見届け、真にWeb3エコシステムの相互接続を実現し、より安全でプライベート、非中央集権的なネットワーク世界を共に創造し、未来のデジタル通信インフラストラクチャを再構築しましょう。