BTC
ETH
HTX
SOL
BNB
View Market
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

ポピュラーサイエンス: イーサリアムのネットワークアドレス

Unitimes
特邀专栏作者
この記事は約1502文字で、全文を読むには約3分かかります
この記事では、マルチアドレス、ENR、および enode の 3 種類のネットワーク アドレスの概要を説明します。
AI要約
この記事では、マルチアドレス、ENR、および enode の 3 種類のネットワーク アドレスの概要を説明します。

編集者注: この記事は以下から引用しましたUnitimes(ID:Uni-times)編集者注: この記事は以下から引用しました

Felix Lange と話し合った後、イーサリアム エコシステムで遭遇するさまざまな種類のネットワーク アドレスとその違いについてこの記事を書くのが理にかなっていると思いました。私自身の理解に誤解がある部分もあるので、それを説明することは価値があると思います。

副題

マルチアドレス(Multiaddr)

アーカイブされた、またはコミット時間による最も古いマルチアドレス (Multiaddr[1]) から始めましょう。マルチアドレスは、Protocol Labs のマルチフォーマット プロジェクトの一部です。マルチフォーマットは本質的に、自己記述的な値のさまざまな仕様です。 libp2p、IPFS、およびその他の Protocol Labs プロジェクトで広く使用されているため、おそらくすでに聞いたことがあるでしょう。

/ip4/127.0.0.1/udp/1234

マルチアドレスには 2 つの表現があり、1 つは保存または送信時に使用されるバイナリ表現で、もう 1 つはユーザーに提供される読み取り可能な形式です。, })。バイナリ表現も同じです。キー用のバイト配列と値用のバイト配列があります。キーは、プロトコル テーブル [2] を介して、人間が読める形式からコード化された形式にマッピングできます。

enode

副題

enode://6f8a80d6ad92a0@10.3.58.6:30303?discport=30301

enode システムは URL を表すために使用されます。 enode:// の後に 16 進数でエンコードされたノード ID が続きます。次に、@ 記号はホストを示します。これは IP アドレスである必要があります。 TCP ポートはホストの後にリストされます (この場合は 30303)。 UDPとTCPのポートが異なる場合は、最後にdiscportパラメータを追加することでUDPポートを指定できます。

ENR

副題

最後に ENR[4] (イーサリアム ノード レコード) に行きます。 ENR が興味深いのは、最初の 2 つのタイプ (複数のアドレスと enode URL) の両方の機能を使用し、非常に汎用的であるためです。 ENR の主な目的は、転送プロセス中により多くの情報を伝送できるようにすることにより、ノード レコードを導入することです。ノード レコードは自己認証型であり、ノードは署名を通じて自分自身を識別できます。これらのレコードは RLP リストとして表されます [5] - ここでは詳細には触れませんが、少し触れておくと、RLP はイーサリアムで使用されるシリアル化形式です。

ノード レコードには、署名、シリアル番号、および署名の作成と検証に使用される認証メカニズムを示すフィールドが含まれています。最後に、レコードの残りの部分には、接続情報などを含めることができる任意のキーと値のペアが含まれます。 EIP は、4 バイトで表されるノードの IPv4 アドレスである ip など、事前に定義された意味を持ついくつかのキーを定義します。

署名は、渡された公開キーが署名の作成に使用されたものであることを確認することにより、レコードを検証するために使用されます。

同じ ID が 2 つの異なるレコードを発行する場合、シリアル番号を使用して競合を解決できます。シリアル番号の大きいレコードが指定されます。

この形式は将来も使用可能で、一部のクライアントが解析できない場合でも新しいキーを追加でき、署名を検証するための新しい認証メカニズムを追加できます。

Eth 2.0

副題

次に、Eth2.0 について見てみましょう。 Eth2.0 が登場する前は、イーサリアムにはそれほど多くのアドレスはありませんでしたが、今では非常に重要になっています。なぜ? Eth2.0 は libp2p を使用し、libp2p はノードを識別するために複数のアドレスを使用するためです。

  1. では、この状況にどう対処すればよいでしょうか? Eth2.0 の P2P 仕様 [6] には 2 つの解決策が示されています。

  2. ENR から複数のアドレスをエクスポートできます

ENR は任意のキーを追加できるため、ENR に複数のアドレスを含めることができます。

ETH
Odaily公式コミュニティへの参加を歓迎します
購読グループ:
https://t.me/Odaily_News
チャットグループ:
https://t.me/Odaily_GoldenApe
公式アカウント:
https://twitter.com/OdailyChina