インターネット初期の頃、コンピューターサイエンティストたちが直面していた中心的な課題の1つは、ドメイン名とIPアドレスが紐付けられていなかったため、一般的なユーザーにとって使いづらいものとなっていたことだ。
つまり、ウェブサイトにアクセスしたい場合には、54.235.191.121など、訪れたいサイトのIPアドレスすべてをタイプ入力する必要があったのだ。IPアドレスは数字とドットの長い羅列で覚えにくかったため、ウェブサイトの閲覧は困難であった。
しかし、アメリカの科学者エリザベス・ファインラー(Elizabeth Feinler)氏が1970年代に実施した最先端の研究を受けて、アメリカのコンピューターサイエンティスト、ポール・モカペトリス(Paul Mockapetris)氏が1983年、ドメイン名システム(Domain Name System:DNS)を開発した。
DNSは、人にわかりやすいドメイン名をIPアドレスに紐付けるもの。例えば、54.235.191.121とタイプ入力する代わりに、coindeskjapan.comと検索バーに入力するだけで、ウェブサイトにたどり着けるのだ。
暗号資産(仮想通貨)業界では、あらゆるテクノロジーの魔術が駆使されているにも関わらず、暗号資産はいまだにおおむね、昔のIPアドレスのようなシステムを使っている。
例えば、ビットコイン(BTC)を誰かのアドレスに送りたければ、ウォレットの所有者の名前など、人にわかりやすいものではなく、その人のウォレットアドレスを使う必要がある。
そこで、イーサリアム・ネーム・サービス(Ethereum Name Service:ENS)の出番だ。
ENSとは?
イーサリアム・ネーム・サービスは、イーサリアムブロックチェーンとやり取りできる、分散型で拡張可能、オープンなネーミングシステムである。
前述のDNSのように、ENSの役割は「john.eth」といった人間が読める名前を、「8g978dl39ji9xl」といったウォレットアドレスのようなマシーンが読み込み可能な名前に紐付けることだ。
ENSを使えば、ユーザーは自らのドメインを購入、管理できる。つまり、長く複雑なアドレスを使わなくても、分散型の安全な取引を実行できるのだ。さらに、送金の受け手のアドレスを入力する時のタイピングミスの可能性も減らすことができる。
ENSは、1980年代に開発されたDNSシステムとまったく同じように聞こえるかもしれないが、そのアーキテクチャは大きく異なる。
DNSと同様に、ENSもドメインと呼ばれる階層的なネームのシステムを採用し、ドメインの作り手と所有者が、自分のトップレベルのドメインと、それに付随するサブドメインを管理している。
ENSの仕組み
レジストリ
まず、ENSの中に記録されたあらゆるドメインネームには所有者がいる。所有者はネームのついたドメインを所有し、そのネームを自由に新しい所有者へと移譲することができる。
ドメイン購入を希望する人は「登録者」と呼ばれる。ENSにそのドメインを登録しなければいけないからだ。ドメインを誰が登録したか記録、監視、追跡する役割を担う「レジストラ」の仕事は、「レジストリ」と呼ばれるENSの機能が担当する。
「レジストラ」は、サブドメイン名を分配するスマートコントラクトで、パーマネントレジストラと呼ばれるメインのレジストラに管理される。ENSの中でどの時点でも、どのレベルでも変更が可能だ。
登録者も、自らのドメイン登録を別のアカウントへと移譲することができる。さらに、ドメインネームを取り戻したい人がいた場合には、そのネームとドメインを取り戻すことが可能だ。
こうすると、あるアカウントを取り戻したレジストラへと、ENSネームの所有権がリセットされることになる。
ネーム
前述の通り、ネームを所有することと、登録を所有することには違いがある。「ネーム」は「john.eth」など、ENSがあるドメインを特定するための方法として機能し、ドットで区切った異なるラベルから構成される。
ENSに登録されたドメインネームを処理するのに使われるアルゴリズムは「ネームハッシュ(namehash)」と呼ばれる。限られた長さの256ビットの暗号化ハッシュだけで機能するENSシステムでは、人にわかりやすい名前が置換されているため、ネームハッシュが役に立つのだ。
ネームからハッシュを抽出し、ドメインの階層的性質を維持したい場合に、ネームハッシュが使われる。例えば、「john.eth」の場合、ネームハッシュは「0x787192fc5378cc32aa」だ。
このようにネームを表すのは、ENS独自のやり方だ。
ネームハッシュを使う前に、まずネームを正規化する必要がある。つまり、大文字と小文字のネームを平等に扱うのだ。これが重要なのは、ネームハッシュのプロセスによって、すべてのユーザーがENSで利用可能なネームとドメインを同じように見ることができるようにするためだ。
ENSはなぜ重要なのか?
ENSはイーサリアムのスマートコントラクト用に開発され、イーサリアムエコシステムにネイティブなため、DNSシステムが抱えるようなセキュリティ上の問題には悩まされない。DNSのドメインとネームの記録は中央集権型サーバーに保管されており、ハッキングの可能性があるのだ。
例えば2020年10月、グーグルの脅威分析グループは、中国のインターネットサービスプロバイダー発の、DNSおよびその他のネットワークに対する過去最高の18万件の攻撃を検知した。
対照的に、ENSの記録は破壊することが不可能で、イーサリアムブロックチェーンによって安全が保たれている。
さらにENSによって、ネームとアドレスはより透明性が高まり、やり取りが簡単になる。オークションに参加することで、誰でも「.eth」ドメインを作成、登録できるのだ。入札額が最も高かった人がドメインネームを獲得し、サブドメインを作成したり、ドメインをリースすることができるようになる。
ENSのおかげで、イーサリアムブロックチェーンのユーザーはイーサリアムネットワーク上で自らの居場所を確立し、アドレスの海の中で、わかりやすい連絡先となることができるのだ。
|翻訳・編集:山口晶子、佐藤茂
|画像:Shutterstock
|原文:What Is the Ethereum Name Service? How ENS Works and What It’s Used For