在去中心化的互联网世界中,以太坊域名服务(ENS)扮演着至关重要的角色,它将复杂难记的以太坊地址(如0x742d35Cc6634C0532925a3b844Bc9e7595f8dDee)转化为易于人类理解和记忆的域名(如 alice.eth),而ENS实现这一核心功能的基础,便是其注册表(Registry)的巧妙设计,本文将深入探讨ENS注册表的存储机制,揭示它是如何成为域名世界坚实基石的。
ENS注册表:什么?为什么?
我们需要明确ENS注册表是什么,ENS注册表是一个部署在以太坊区块链上的智能合约,它维护了一个全局的中央数据库,记录了哪些域名是可用的,以及每个已注册域名的关键信息,最重要的是其所有者和解析器。
- 所有者(Owner):域名的当前所有者,拥有对该域名进行转让、续费、设置子域名等控制权。
- 解析器(Resolver):负责将域名解析为其对应的各种记录(如以太坊地址、IPFS哈希、文本记录等)的智能合约,没有解析器,域名只是一个空壳。
ENS注册表之所以重要,是因为它提供了域名的权威性来源,当您查询一个ENS域名时,首先就会查询注册表,以确认该域名的所有者是谁,以及应该向哪个解析器请求具体的记录信息。
核心存储:数据结构的设计哲学
ENS注册表的核心在于其数据结构的设计,它需要在保证高效查询的同时,最小化链上存储成本,因为以太坊区块链的存储是相对昂贵的。
ENS注册表主要使用了两种核心的数据结构来存储信息:
-
名称哈希(Namehash):
- 问题:域名是可读的字符串(如 "alice.eth" 或 "bob.alice.eth"),而区块链更适合处理固定长度的字节串。









