撰文:潘致雄如果回忆一下初次进行的加密货币转账时的体验,特别是在确认收件人地址时,相信你可能会被这几个问题困扰过:这串像乱码一样的地址到底对不对?是需要一个一个字母校验准确性吗?字母大小写乱了要不要紧?漏了一个字母怎么办?如果转账错误可以回滚交易吗?而相比之下,我们使用的所有常规的互联网产品中,大多数时候只要确认一个简单的姓名、用户名、昵称、手机号或邮箱,就能放心的确认对方的身份或地址。就好像「用户体验」这件事一直都没提到加密货币世界的优先级中,如此普遍的需求竟然 10 年后仍旧没有解决。不过,好在已经有越来越多的初创团队开始探索这个领域了,他们的核心是提供「翻译」的服务,在「计算机语言」和「人类可读语言」之间进行互相的「无损」转译。这也是为什么现在给以太坊创始人 Vitalik Buterin 转账的时候不需要记录下他原始的以太坊账户地址(0xd8dA…6045),而是只要记住「vitalik.eth」就行,后者就是一个典型的人类可读的用户名。其实以比特币和以太坊为首的区块链网络,由于账户底层采用了非对称加密技术,也就是常说的公私钥加密,所以这套系统天然就是对于计算机友好的,也就导致了人类的可读性相当不友好。为了解决这个问题,这些团队利用了区块链的智能合约功能,或者直接利用公链本身,构建一套「映射」和「翻译」系统,将用户常用的区块链原生的底层地址映射到人类可读的「用户名」,作为用户对外部世界公开的一个「身份」。目前在构建这类用户可读账户系统的底层协议中,有 Ethereum Name Service(ENS)、FIO、DAS 等几个项目,他们各有自己的特点:ENS 最流行、FIO 提供了更丰富的功能、DAS 的互操作性更出色。
而除了账户系统之外,还有一个非常庞大的应用场景,就是「域名系统」。因为区块链网络不仅仅可以承载用户的资产,在智能合约的加持下还可以提供各类业务或服务,特别是互联网或金融类的业务,也有不少人将基于去中心化技术栈构建的互联网服务称为 Web3。所以这些业务的服务入口,也就是 Web 2.0 中常用的「网站」形式,就可能会发生一些基础设施层面的根本性变化。简单来说,传统的 Web 2.0 应用,主要是由「域名」(比如 google.com)和「服务器」(比如托管在亚马逊的云服务)组成。然后,通过传统的 DNS (域名服务)体系,将域名和服务器所对应的「IP 地址」进行映射,这样普通用户也就可以通过「google.com」访问到谷歌的网站了。而到了 Web3 的世界中,为了将这两者去中心化,「服务器」提供的存储和计算能力就可以通过 IPFS、以太坊、Dfinity 等各种去中心化技术组合实现,而社区也寄希望于通过区块链网络将「域名」去中心化。最早的尝试的 Namecoin 已经是一个超过十年前的项目了,它通过分叉比特币的代码,创建出了一个以「.bit」结尾的顶级域名的区块链网络,希望更多下游应用集成他们,试图独立并颠覆现有的 DNS 体系。不过他们也碰到了自己的问题,毕竟项目的概念过于超前,所以直到 8 年后才出现几个同类的项目,比如 Unstoppable Domains、Handshake 等。另外,像 ENS 和 DAS 也是同样支持这类应用的,而且 ENS 也是目前最广泛使用的去中心化域名。
在这些去中心化域名和账户系统的协议中,Namecoin 和 ENS 是其中最核心的两个。Namecoin 首次利用区块链进行域名的管理,而 ENS 在以太坊智能合约的加持下成为了一种全新的账户体系和去中心化应用协议栈的一部分。加上那些新型的协议,所有这些项目都可以分为两大核心场景:专注于域名、专注于账户系统,也有些项目会同时支持两类场景。「专注于域名」的项目用户场景更多是替代或补充现有的 DNS 体系,通过与 IPFS 等协议的集成,可以实现完全去中心化的前端网站的功能,所以他们更关注于与网页浏览器(比如 Brave 或 Opera)进行合作,提高用户体验。目前 ENS 和 Unstoppable Domains 是被浏览器集成最多的协议。「专注于账户体系」的项目更多的是赋予用户使用该账户体系的场景,比如在去中心化应用(DApp)中直接集成,而且更需要关注于与加密货币钱包等入口级产品进行合作和集成,提高用户体验。目前也就 ENS 被广泛的集成在主流的加密货币钱包以及 DApp 中,而 FIO 声称获得了许多加密货币钱包的支持,但是实际的采用度上仍处于早期,社区关注度也下滑至几乎不可见。而另一个核心差别在于注册名称的所有权模式,有的是永久所有权(但可能需要每年进行一次声明交易,支出网络交易费即可),而有的是租赁模式,需要按年支付一定的租赁费。可注册永久所有权的协议对用户而言更友好一些,相当于一次支付永久使用,而租赁模式对协议本身更友好,持续的收入可以用来进行协议的维护和功能迭代。除此之外,各个协议还有是否选择自建公链,具体的注册价格等多种维度的区别。
Namecoin 是比特币最早的 Fork 之一,甚至早于狗狗币,区块创世时间仅比比特币晚了 2 年 3 个月。其非匿名创始人 Vincent Durham 早已退休,协议已交由其他开发者维护。不过 Namecoin 可以算是一个失败的尝试了,目前疏于维护也没有具体的应用,所以对这段历史没有兴趣的话完全可以跳过这部分内容直接查看下一章。所以 Namecoin 很多参数直接参考了比特币,共 2100 万个原生代币 NMC,但其代币最小单位「swartz」是为了纪念 RSS 协议和 Markdown 协议开发者、Reddit 联合创始人 Aaron Swartz,他此前也在博客(https://web.archive.org/web/20170424134548/http://www.aaronsw.com/weblog/squarezooko)中描述过一种后来被 Namecoin 实现的方案(Nakanames)。与那些利用比特币代码再做类似的加密货币不同的是,Namecoin 是希望通过区块链技术来存储类似于 DNS 的记录,也就是将「.bit」与其他具体的 IP 地址、系统内地址的「映射关系」记录在 Namecoin 的区块链上。所以也可以将 Namecoin 区块链看作是一个维护「.bit」这个顶级域名记录的数据库。至于他们为什么选择「.bit」这个域名,可能是因为这个词代表了计算机领域中二进制的最小单位「比特」。而对于大多数的传统顶级域名(比如最流行的「.com」)来说,其实是由一家名叫 ICANN 的非营利机构专门负责管理和维护的,它全称为 Internet Corporation for Assigned Names and Numbers (互联网名称与数字地址分配机构)。该机构成立于 1998 年,位于美国加州,除了管理和协调顶级域名之外,还负责管理全球 IP 地址的分配。Namecoin 目前还是独立于 ICANN 体系的,他们选择的「.bit」幸好还不是一个传统的顶级域名,所以未来还是存在兼容或者接入 ICANN 可能性的。不过相比中心化管理的 ICANN 而言,Namecoin 的特点还是非常明显的,和比特币一样,它的账本基于分布式存储,网络安全依赖算力,更重要的是它的域名注册过程抗审查,也无需许可。用户场景:ZeroNetNamecoin 诞生的十年间,最重要的一个用户场景来自于它被「去中心化网络」ZeroNet 集成,成为了该网络内的「域名」。使用起来也很简单,用户可以在注册 Namecoin 的域名时,将 ZeroNet 网络内的页面链接映射至某特定「.bit」域名中,然后其他用户就可以使用「xxxxx.bit」访问 ZeroNet 内的页面了。对于 Namecoin 而言,它只是存储了 bit 域名和第三方系统页面唯一标识符(类似 IP)的数据在 Namecoin 网络的区块链中,而第三方系统只需要运行 Namecoin 节点就可以获取所有这些关联关系。说起 ZeroNet 本身,其实也是一个比较极客和小众的项目,它采用了比特币的密码学技术和 BitTorrent 的 P2P 网络技术组建出一个去中心化的网络,在该网络内用户可以无需许可的创建网站或服务,网站内容也会被去中心化分布式存储,也可离线访问。用户只需运行一个 ZeroNet 的客户端就可以接入该网络。ZeroNet 协议于 2015 年至 2019 年之间还在积极开发,但后来却疏于维护管理了。该协议未曾发行代币,且由于过于自由可能会被用在非法暗网等场景中,已被部分国家通过技术手段屏蔽。
Namecoin 作为一个独立于 ICANN 体系的协议,目前还没有办法直接复用现有的互联网基础设施,特别是域名解析(DNS)的流程。对于传统域名而言,比如用户在访问「.com」域名时,会通过各级缓存或者 DNS 服务实现域名与 IP 地址的解析,这些已经是大多数设备的默认流程了,用户无需感知,拆开即用。但是对于 bit 域名的使用者而言,还需要运行特定的软件或者服务才可以实现,这部分会增加用户的上手门槛。Namecoin 区块链数据本身的安全性是由密码学保证的,所以用户需要先运行一个 Namecoin 的全节点,将所有域名的记录下载到本地。然后还需要运行一个官方的 NMControl 的工具,它类似于一个本地的 DNS 服务器,将会兼容和处理所有与互联网之间的连接。它还是可能会存在一些兼容性上的问题,比如它依赖 Python,所以在 Windows 系统的环境中有点不太友好。官方表示,「NMControl 拥有很好的兼容性,但并不完美。」但距离成为一款大众产品,它还有很多改进空间。
毫不夸张的说,以太坊域名服务(ENS)已经逐渐演变成加密货币市场中影响力最大的账户体系和去中心化域名系统,虽然它仍旧是一个规模很小,用户体验非常初期的项目。ENS 早期是一个由以太坊基金会孵化的项目,它基于以太坊的智能合约实现,所以不需要维护额外的区块链网络,甚至连货币体系也是复用了 ETH,最近才公开将发行协议代币。后来随着项目的完善并拥有了持续的现金流,已独立于以太坊基金会运作。相比较前辈 Namecoin,ENS 进一步拓展了用途,不仅局限在去中心化域名领域,而是间接地成为了一款具有社区共识的账户体系。除了很多 DeFi 以及 DApp 通过「.eth」域名部署去中心化的前端网站版本之外,很多加密社区的 KOL 将自己的 ENS 账户作为推特的名字,而且也有不少应用采用 ENS 的二级域名作为协议的账户系统。另外,ENS 的去中心化域名的解析能力也已经被集成在了几个加密货币友好的网页浏览器中,比如 Brave 和 Opera 等。另外 ENS 还提出了另一个神奇的解决方案,相比 Namecoin,ENS 可以更方便地接入传统互联网的基础设施,兼容所有现有的浏览器。这个方案实现起来其实很简单,就是 ENS 团队购买了 eth.link 这个传统的域名,为所有访问 ENS 域名的用户提供解析服务。也就是说,用户只要在 ENS 域名后加上「.link」即可。举个例子,对于有原生解析能力的浏览器来说,访问「uniswap.eth」网址就可以进入 Uniswap 的去中心化版本的网站,而对于没有原生解析能力的浏览器来说(比如 Safari 或者 Edge),访问「uniswap.eth.link」也可以访问该网站,因为「eth.link」的持有者是 ENS 团队,他们可以决定其二级域名「uniswap.eth.link」访问到哪些资源。不过,eth.link 本身是否可访问可能会因国家或地区而异。而且这可能会带来一些中心化的风险,比如 eth.link 服务器或许会被攻击。所以 ENS 提供的这个服务是目前阶段下妥协了安全性和用户体验的一种解决方案,长期来看还是需要依赖以太坊区块链的全节点才能确保数据的绝对安全。
ENS 的反向解析功能在各个去中心化应用中的集成,意味着用户和应用都在将 ENS 看作是一种底层的账户体系。有必要先解释一下,对于以太坊的用户而言,通常是先创建一个 0x 开头的以太坊地址,作为用户的收款地址。然后才考虑注册一个 ENS 的名称,比如 vitalik.eth,将 vitalik.eth 映射到这个 0x 开头的以太坊地址,这种被称为正向解析。> 正向解析:vitalik.eth ———> 0xd8dA…6045而反向解析则是用户拿着 0x 的账户地址登录应用后,比如 Uniswap 的网站,用户就不会看到这串 0x 开头的地址,而是直接映射到了用户的 ENS 地址上。> 反向解析: 0xd8dA…6045 ———> vitalik.eth这也就意味着用户和应用开始将 ENS 名称作为自己默认的一种用户名了。更有意思的是,设置过反向解析的地址,会在以太坊用户最大的区块浏览器 Etherscan 上直接显示 ENS 账户名。
在反向解析功能刚推出后,社区其实并未大规模意识到该功能的用处,但是 ENS 团队举办了相关社区活动,鼓励更多应用和用户设置反向解析(因为这个功能需要额外步骤操作),所以才被各个应用和用户了解。第三方协议集成:Web3 应用的默认账户系统?另外 ENS 也成为了不少协议集成使用的账户系统,一般是通过二级域名的方式实现的,比如三大 Web3 应用 Mirror、Radicle 和 Argent。Mirror 是去中心化的内容发布平台,文字内容通过存储在 Arweave 实现永久存储,而业务逻辑和账户系统则是搭建在以太坊之上。由于 Mirror 拥有 Mirror.xyz 这个传统域名,而 ENS 又和 xyz 域名开展了深度合作,所以 xyz 域名也可以运作在 ENS 的体系之中。Mirror 账户系统神奇的地方在于包含了双重功能:既可以作为以太坊地址的映射,也可以作为网站的链接。用户可以注册(目前还未完全对外开放)一个 mirror.xyz 的二级域名作为用户的账户名和网址,比如 Linda Xie 的 Mirror 账户是「linda.mirror.xyz」,在 ENS 中该账户会解析至一个以太坊地址,而且可以直接在网页浏览器访问该链接进入 Linda Xie 的 Mirror 页面。Radicle 的做法也比较类似,它是一个去中心化的代码管理工具(类似于 GitHub),在 Radicle 系统中用户可以注册一个「radicle.eth」的二级域名,作为整个 Radicle 网络的用户名和唯一标识符。Argent 是一个基于智能合约的加密货币钱包,用户可以注册一个「argent.xyz」的二级域名作为用户的账户名,方便用户使用钱包工具。巧合的是,上述三个项目的官方网站都是 .xyz 结尾的,是因为 ENS 早期对于 .xyz 的支持更友好,目前已经开放至更通用的域名系统了。新秀:DAS、Unstoppable Domains 、Handshake 和 FIO除了以上这两个最早的域名系统外,还有几个比较新型的协议也值得关注,特别是 DAS、Unstoppable Domains 、Handshake 和 FIO。
DAS 的全称是 Decentralized Account Systems (去中心化账户系统),它采用 Nervos 作为该系统的基础设施,也正因为采用了 Nervos,它相比以太坊可以实现很多独特的功能,比如可以使用任意公链的私钥来注册和管理 DAS。从具体用例来说,DAS 目前已经支持了通过 ETH 和 TRX 的私钥来管理和控制 DAS 协议,这也就意味着以太坊用户可以直接管理到 Nervos 网络中和 DAS 相关的智能合约,而不需要生成 Nervos 的地址。能实现这个功能是因为 Nervos 协议的底层设计上更抽象,可以兼容任意区块链的特定密码学算法。比如此前另一个名为 Portal Wallet 的团队曾演示过可以通过以太坊地址收发 Nervos 网络中的资产,就是因为 Nervos 可以支持以太坊的公私钥算法。从钱包支持上来说,DAS 应该说是仅次于 ENS 的了,已经支持了多个主流钱包,包括 TokenPocket、imToken、HuobiWallet、AlphaWallet、HyperPay、BitKeep 等,像 NFTScan,NFTGo 这些应用都已经集成了 DAS。另外 DAS 也采用了「.bit」域名,毕竟这个域名不是 Namecoin 团队的专利,也没有被 ICANN 注册过,所以大家也都可以使用,虽然可能会对 Namecoin 的老用户造成一些困扰,但其实应该已经没有 Namecoin 的老用户了(比如我就曾经注册过一堆 Namecoin 账号,但从来没续过费)。DAS 最核心的场景除了可以作为统一的加密货币收款账户,支持收发多链的资产之外,还可以作为个人信息的主页(bit.cc),或作为去中心化网站的域名等。但从团队的愿景和产品名称上来说,DAS 更像是一个账户系统,而域名只是附带的一种功能。在上线主网后 DAS 的数据增长也是值得关注的,根据官方最新的数据显示,近三个月独立注册的地址数超过了 5000 个,注册的账户超过了 2.5 万个,而且目前仅开放了 4 位以及以上总量的 35%,后续应该会随着系统成熟逐渐开放更多可注册账号。Unstoppable Domains:永久所有权域名Unstoppable Domains 推出了可购买永久所有权的「.crypto」(和其他更多)顶级域名,而且 Unstoppable Domains 在浏览器集成中有非常大的优势,它也几乎支持了 ENS 支持的浏览器。除此之外,Unstoppable Domains 还自己开发了网页浏览器(基于 Chrome 的开源版本),可以提供更完美的用户体验。Unstoppable Domains 并没有推出独立的区块链,而是基于其他区块链的智能合约即可,比如「.cryptp」的域名服务就是以太坊网络中的智能合约系统,从这个角度来说,它可以比较方便的借鉴 ENS 协议。Handshake:可拍卖任何顶级域名Handshake 的野心则更大一些,希望从命名空间的初始开始,搭建出一个完全平行于 ICANN 的体系,在这个系统中,无论用户想注册「.crypto」还是「.eth」都可以,但是要先进行拍卖,所以它可以提供无限种可能性的域名结构。而且它为了迁移现有的 DNS 体系,还为那些全球最知名的网站进行了预留,这些域名的持有者只要通过密码学的验证就可以获取在 Handshake 中的域名。Handshake 是独立的公链,并采取 PoW 挖矿机制,也有专业的团队推出了 Handshake 的矿机。不过这可能会带来的一个问题是,原本只需要处理业务逻辑的协议,还需要额外担心网络的算力以及被攻击的可能性,而 ENS 和 Unstoppable Domains 只需要依赖以太坊的安全性即可。FIO Protocol:专注于加密货币钱包集成FIO Protocol 是一个专注于和钱包合作的去中心化账户系统,因为它的全称是 Foundation for Interwallet Operability (钱包间可操作性基金会)。它最重要的合作方是钱包,因为它是加密货币的入口级应用。与钱包深度集成可以为 FIO 协议提供更完整的用户体验,比如对于交易功能而言,可以提供「请求交易」、「上下文交易」等功能。FIO Protocol 也推出了自己的区块链网络,采用 dPoS 共识,这可能会成为它承载高性能的优势,也可能会成为质疑它安全性的劣势。
基于区块链的去中心化域名和去中心化账户系统已经诞生了 10 年,先驱 Namecoin 虽然还在运行,但是已经成为了一个小众的项目,用户采用度也比较低。后来 ENS 则是走了一条更实用主义的路线,而且随着以太坊生态的快速扩张,也获得很多的红利,许多第三方应用利用它搭建特定的账户系统,成为了以太坊生态不可或缺的一种基础设施。也正因为它与以太坊生态如此深度的绑定,可能会限制它成为一个更通用的协议,毕竟用一个以太坊域名「.eth」收发 Solana、Mina、BTC、BSC 之类的资产,总感觉怪怪的。所以从这个角度来说,「.crypto」、「.bit」或者可自定义顶级域名的协议会更大气一些,他们的域名通用性更好一些。除此之外,这些协议还在从钱包集成、互操作性、所有权模式探索更多可能性。不过还好这个赛道的项目数量没有像 DeFi 这么多,也没有特别同质化。无论未来这类协议是一家独大还是多协议并存,其实并不重要,但是我相信在 Web3 的世界中,一定需要这样的去中心化域名和账户体系,承载应用、网站和用户身份,但目前的这些项目还是处于非常早期的探索阶段,在协议集成、用户体验、与 Web2 世界的接入,还有很多很多改进空间。
原创文章,作者:惊蛰财经,如若转载,请注明出处:http://www.xmlm.net/wang/12404.html