ENS の概要

Ethereum Name Service (ENS) は、Ethereum ブロックチェーンに基づく分散型、オープン、スケーラブルなネーミング システムです。 ENS の中核となる機能は、人間が読める名前 (「alice.eth」など) を解析して、イーサリアム アドレス、その他の暗号通貨アドレス、コンテンツ ハッシュ、メタデータなどのコンピューターが認識できる識別子に変換することです。さらに、ENS は「逆解決」もサポートしており、メタデータ (正規名やインターフェイスの説明など) をイーサリアム アドレスに関連付けることができます。

ENS の機能とアーキテクチャ

ENS の目標はインターネット ネーム サービス (DNS) と似ていますが、イーサリアム ブロックチェーンの機能特性と制限により、ENS のアーキテクチャは DNS とは大きく異なります。 ENS は、レベル間の区切り文字としてドットを使用する階層的な命名システムであり、各レベルはドメインと呼ばれます。ドメインの所有者は、そのサブドメインを完全に制御できます。

トップレベル ドメイン名 (「.eth」や「.test」など) の所有者は、「レジストラ」と呼ばれるスマート コントラクトです。サブドメイン割り当てのルールは、これらの契約内で定義されます。これらの契約で規定されているルールに従って、誰でもドメイン名の所有権を取得し、必要に応じて構成できます。 ENS は、機能を拡張するために、既存の DNS ドメイン名を ENS システムに接続することもサポートしています。

ENS の階層構造により、特定のレベルのドメインを所有する人は誰でも、自分自身または他の人のサブドメインを作成および構成できます。たとえば、Alice が「alice.eth」を所有している場合、「pay.alice.eth」を作成し、必要に応じて設定できます。

ENS の展開と使用

ENS は、イーサリアムのメイン ネットワークと複数のテスト ネットワークにデプロイされます。 ensjs Javascript ライブラリまたはエンドユーザー アプリケーションを使用する場合、これらのツールは適切なネットワークを自動的に検出し、通信します。
 

ENS アーキテクチャ

ENS には、レジストリとパーサーという 2 つの主要コンポーネントがあります。
 

ENS レジストリの概要

ENS レジストリは、すべての名前とサブネームのリストを管理し、各名前に関する 3 つの重要な情報を保存するスマート コントラクトです。

  1. 名前の所有者

  2. 名前パーサー

  3. 名前の下のすべてのレコードのキャッシュ存続時間 (TTL)

名前の所有者は、外部アカウント (ユーザー) またはスマート コントラクトの場合があります。レジストラはトップレベルの名前を持つスマート コントラクトとして機能し、コントラクトのルールに従ってその名前のサブ名をユーザーに割り当てます。

ENS レジストリ関数

ENS レジストリの名前所有者には次の権限があります。

  1. リゾルバーと TTL を設定する: 所有者はリゾルバーを指定し、自分の名前の TTL を設定できます。

  2. 所有権の譲渡: 所有者は、名前の所有権を別のアドレスに譲渡できます。

  3. サブ名の所有権を変更する: 所有者はサブ名の所有権を管理および変更できます。

ENS レジストリの主な目的は、名前を、その名前の解決を担当するリゾルバーにマップすることです。リゾルバーは、名前をアドレスに変換する責任を負うスマート コントラクトです。パーサー関連の標準を満たすスマート コントラクトは、ENS のパーサーとして使用できます。ニーズが単純でアドレスを頻繁に変更しないユーザーの場合は、ユニバーサル リゾルバーを使用できます。

パーサー関数

各レコード タイプ (イーサリアム アドレス、コンテンツ ハッシュなど) は、対応するレコードを提供するためにパーサーが実装する必要がある一連のメソッドを定義します。新しいレコード タイプは、EIP 標準化プロセスを通じていつでも定義できるため、新しいレコード タイプをサポートするために ENS レジストリや既存のパーサーを変更する必要はありません。

ENS で名前を解決するには、次の 2 つの手順が必要です。

  1. レジストリを照会する: まず、レジストリを照会して、名前の解決を担当するリゾルバーを判別します。

  2. パーサーにクエリを実行します。次に、パーサーに解析結果をクエリします。

ENSのメリットと応用

ENS レジストリとパーサーは、複雑なアドレスの管理を簡素化するように設計されており、ユーザーは人間が判読できる名前をコンピュータが判読できる識別子に簡単に変換できます。この設計により、ユーザー エクスペリエンスが向上するだけでなく、優れた柔軟性と拡張性も提供されるため、ENS はブロックチェーン ネーミング システムの強力なツールになります。
 

ネームハッシュのメカニズム

スマート コントラクトでは、人間が読める名前を直接操作することは、リソースの制約により非効率的です。したがって、ENS は固定長の 256 ビット暗号化ハッシュを使用して名前を処理します。このハッシュアルゴリズムはNamehashと呼ばれ、階層構造を持つ一意のハッシュ値を生成するように設計されています。たとえば、「alice.eth」の名前ハッシュは 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec です。 ENS 内では、名前を表すために Namehash が使用されます。

Namehash の再帰的プロセス

Namehash は、有効な名前に対して一意のハッシュ値を生成する再帰的なプロセスです。 1 つの名前 (「alice.eth」など) のネームハッシュから開始すると、人間が読める元の名前「alice」を扱ったり知ったりする必要がなく、任意のサブネーム (「iam.alice.eth」など) のネームハッシュを導出できます。 .eth」。この機能により、ENS は人間が読めるテキスト文字列を内部で処理することなく、その階層を効率的に管理できるようになります。

正規化プロセス

Namehash でハッシュする前に、名前を正規化する必要があります。このプロセスは、名前内の文字の大文字と小文字が区別され、無効な文字が許可されないことを保証する UTS-46 標準に依存しています。すべてのユーザーに対して ENS システム全体で一貫した結果を保証するには、名前のハッシュと解析を最初に正規化する必要があります。

ネームハッシュの重要性

Namehash の設計は、次の側面で重要な役割を果たします。

  1. 効率: ENS は、読み取り可能な名前を固定長のハッシュに変換することにより、スマート コントラクトでの効率的な処理を可能にします。

  2. 階層: Namehash を使用すると、サブ名のハッシュを再帰的に生成でき、ENS の階層管理がサポートされます。

  3. 一貫性: 正規化プロセスを通じて、ENS で名前を処理するときにすべてのユーザーが一貫した結果を取得できるようにします。
    ネームハッシュの適用

ENS システムでは、Namehash が広く使用されています。

  1. 名前の登録: ユーザーが名前を登録すると、ENS は Namehash を使用して名前を保存および管理用のハッシュ値に変換します。

  2. 名前解決: 名前を解決するとき、ENS は名前のネームハッシュに基づいて高速かつ効率的な検索と照合を実行します。

  3. サブネーム管理: Namehash の再帰的な性質により、ユーザーは複雑なテキスト文字列を扱うことなく、自分の名前のサブネームを簡単に管理できます。

#ENS #ordi​​​ #zro #mln #ZEN $ENS $ORDI $ZRO