零宽字符对ENS的影响,或比你想象的更大

昨日 , 一位资深的Web2.0域名交易者「Hero桀」在其个人Mirror上发表了一篇名为《请停止注册一切ENS域名 , 因为它一文不值》的文章 。 Hero桀自称是资深Web2.0域名交易者 , 并曾卖出xiaomiquan、wuyinli等多个知名域名 , 目前仍持有ouyi这一优质域名 。
该文章指出了一个肉眼不可见的「ZWJ(零宽字符)」所导致的设计疏漏 , 正为ENS埋下重大安全风险 。 该文章在部分加密社区流传甚广 , 并引发了部分投资者对ENS的质疑 。
这一问题允许多个肉眼所见完全相同的.eth域名同时出现 。 正如Web3.0革新了陈旧的传统互联网一样 , 在Web3.0时代 , ENS也为钓鱼攻击带来了Web2.0不曾出现过的全新升级的新方法 。
在现阶段 , 「.eth」域名更多的被作为「网名」而广泛使用 , 一个独特的eth域名就像Web2.0时代的QQ靓号 。 在这种难以称之为基础设施的应用场景下 , 一些设计疏漏虽然会对用户造成困扰 , 但终归无法撼动ENS去中心化域名龙头的地位 。
而在ENS的愿景实现之后 , 这个疏漏仍然是可以被忽视的吗?「Decentralisednamingforwallets,websites,&more.」这是ENS官网上用醒目的字体所写的宏大使命 。 在这个愿景中 , ENS将成为命名一切数字资源的域名系统、打开theblockbeats.eth就像打开theblockbeats.info一样自然 , 而此时ENS的零宽字符将为整个Web3.0世界带来深远的安全隐患 。
零宽字符 , 让ENS距离成为Web3.0基础设施更远了一步 。
我 , V神 , 打钱
当你看到「vitalik.eth」时 , 你会认为这个人是谁?毫无疑问 , 这一ENS域名由V神所有 。 那么 , 我能否注册这一域名呢?按照ENS的规则 , 这一域名已被注册 , 其他用户自然无法在注册同样的域名 。 但值得注意的是 , 这里仅仅指对计算机而言完全一致的域名 。 那么 , 我有没有办法找到一个和V神域名有所不同但看上去又一致的域名呢?
当然可以 , 只要在任意位置插入ZWJ即可 。
ZWJ(zerowidthjoiner)即零宽字符 , 这一符号颇为特殊 。 对于计算机来说 , ZWJ仍然为一个字符 , 在Unicode字符集中拥有独立的编码 , 你在Word键入这一字符它仍会被计入字数统计 。 而这一字符的宽度却为0 , 也就是说对于肉眼而言 , 零宽字符完全不可见 。
这也就意味着 , 我只要在「vitalik」这一单词中任意位置插入零宽字符 , 即可注册一个肉眼看上去和V神域名完全一致的ENS域名 。
零宽字符对ENS的影响,或比你想象的更大
文章图片
零宽字符对ENS的影响,或比你想象的更大】在注册ENS域名时 , 只要在任意位置键入「%E2%80%8C」或者「%E2%80%8D」 , 即可在单词中插入一个零宽字符 。 这样 , 一个V神同款ENS即可成功注册了 。 如果插入零宽字符之后 , 依然已被人提前注册 , 你甚至可以插入连续的两个、三个、四个……多个零宽字符 , 直至尝试到无人注册为止 。
做不好域名的ENS , 叙事难以持续
ENS不止是Ethereum网络的重要基建之一 , 同样也是Web3.0网络的重要基建 。 ENS的创始人曾公开表示 , ENS的愿景是要做「全球每一个数字资源的域名服务商」 。 不止是用户的账户名 , 更是整个Web3.0网络的命名系统 。
还记得早年间关于Web3.0最初版本的想象吗?去中心化存储保存文件、去中心化域名提供寻址系统、智能合约拥有链上计算的能力、去中心化钱包充当支付通道 , 在这个版本的Web3.0中 , 一切都是运行于去中心化网络、无需许可、无审查的 , 这是一个真正自由的互联网 。 在这个版本中 , 使用Web3.0浏览器访问theblockbeats.eth就像你打开theblockbeats.info一样自然 。