每个人都有唯一的身份证号码,为什么我们还需要名字?
上网时我们实际访问的是一个个 IP,为什么输入的却是类似 https://www.apple.com/ 的域名?
因为我们需要可读性,而这是身份证数字和 IP 所不具备的。由此,我们发明了一个个命名系统,在不同领域将机器语言和人类语言映射,让数字和 IP 等变成可读且有意义的内容,从而连接人和机器语言。
当我在市民中心查询服务,需要报上身份证号码,而非姓名,公务系统匹配身份证号码,从而调出我的各项资料。
当我在浏览器输入 https://www.apple.com/ ,会自动将域名解析到这个 IP:122.224.45.229,从而将对应网页展示给我。
这就是命名系统的意义,沟通人与机器,让人类可读可理解。
区块链命名系统
在区块链世界,命名系统的必要性显得尤为突出。如果你接触过区块链,那么应该见识过以太坊 42 位字符和比特币复杂密码般的长地址。
在这里,如果没有命名系统,加之区块链自身的价值属性和不可逆性,一旦错误转账,就是无法挽回的损失。
两年前 CoinDash 项目被黑,其官网上的收款地址被恶意替换,导致众多投资者误将总价值 753 万美元的以太坊转入黑客地址。黑客充分利用了原始以太坊地址的不友好:
这两个地址,我们只能了解他们是不同地址,而无法区分哪一个才是正确的收款地址。
那么现在区块链是否有自己的命名系统帮助我们尽量避免类似错误?有的,ENS 就是当下普及度较高的区块链域名服务(基于以太坊开发的命名服务)。
ENS 域名服务
CoinDash 的例子中,如果他们使用 ENS 域名,把正确的收款地址映射到 coindash.eth,那么用户只需认准这个域名并转账即可,「地址替换」的小伎俩会被即刻揭穿,因为我们可以轻易区分「coindash.eth」和「coindasl.eth」的不同。
当然,ENS 同时还支持将 IPFS 哈希、Tor.onion 等类型文本与 ENS 域名映射。其中一个可以想象的场景是,当 ENS(区块链域名服务) 和 IPFS(去中心化存储) 结合,我们或许能体验到去中心化架构下的网络服务。
目前的 ENS 域名都是 .eth 格式,似乎只代表着以太坊。对此,ENS 的解决方案是通过 DNSSEC 使当前 DNS 域名的所有者可以声明其各自的域名以在 ENS 上使用。
例如,以太坊基金会拥有 DNS 名称「ethereum.org」;通过 DNSSEC,他们可以为「ethereum.org」提供一个 ENS 记录(注:不是 ethereum.eth)。这样,以太坊基金会就能使用「ethereum.org」来接收数字资产付款。
最近,ENS 又多了一些新特性,和我们息息相关:
- 支持 3-6 位短域名注册
- 支持多链地址解析
开放短域名注册
随着短域名注册开放,更多人加入到了抢注自己名字的队伍(能够在区块链上拥有专属域名,很有意思)。目前累计已经有超过 31 万个 .eth 域名被注册。要是你抢到了,把你的微博昵称,微信名改成 xxxxx.eth 吧,就像 V 神把 Twitter 改成了 vitalik.eth,很酷。
或者你注册到了被遗忘的黑马域名,到 Opensea 交易吧。
支持多链地址解析
在最新版 imToken 转账页的地址中输入 doremi.eth,在不同链下,分别可以解析到:
ETH 地址:0xEfd7cc992149b7980d069Cbc955F0310BeecB7d9
BTC 地址:3MJ2GpejsUpzoVjQiEonoDgfVdNgavNEHs
待 ENS 支持所有流行公链,我们就可以只靠一个域名,在钱包和交易所间自由转账,而不必复制粘贴又反反复复核对地址。
不止一家
当下区块链域名仍未广泛普及,除 ENS 提供的 .eth,还有 Unstoppable Domain 提供的 .zil,.crypto 等。你可以在支持这些域名的钱包(如 imToken)中体验便捷的转账。
未来一个可能的场景是,域名服务成为了区块链世界中每个人公开信息的入口,通过输入对应的域名,我们既可以给特定地址转账,也可以给对应邮箱发送资讯,或者直接打开特定网页。而这些与域名对应的信息都记录在合约里,任何第三方都不能篡改或注销。
最后
正如命名系统(DNS)催化了互联网的普及,ENS 们也极有可能促进区块链的推广。
下次,当你转账时,记得问对方是否有自己的专属域名。