区块链技术研究
当前域名系统的名字空间结构、域名分配和解析过程都是严格层级化,根解析体系是域名解析起点和系统结构中心,主要由管理维护顶级域名信息的根区数据管理系统和提供解析服务的根服务器系统构成。针对根中心化问题,国内外开展了多方面的研究工作,但均未能在技术上解决根本问题。区块链技术为解决根解析体系中心化问题提供了新的技术手段,当前业界也提出了包括域名币(Namecoin)、Blockstack、握手协议(Handshake)、 以太坊名字服务(Ethereum Name Service,ENS)等区块链名字服务技术,以期解决域名系统的中心化等问题。
CNNIC作为我国国家域名注册管理机构,负责国家网络基础资源的运行管理和服务,承担国家网络基础资源技术研发任务并保障相关服务安全。长期以来,CNNIC持续开展前沿技术研究,结合区块链技术在去中心化、不可篡改等方面的独特优势,开展了基于区块链域名解析原型研究,于2016年提出了原型系统,验证了运用区块链技术进行域名根数据管理的可行性。在此基础上,CNNIC联合多家单位设计了基于共治链的共治根新型域名解析系统架构。该架构能够满足无中心化、多方参与、用户透明、兼容演进、高效安全等域名解析需求。目前,依托该架构,已完成相关专利申请18项,其中,13项国内专利申请,5项PCT专利申请。2019年6月30日,基于共治链的共治根域名解析架构在首届中国互联网基础资源大会上发布。
几种典型的区块链名字服务技术:
Namecoin是在比特币的基础上进行扩展实现的域名系统,它的域存在一个新的区块链上,其使用.bit顶级域名,提供了安全和抗审查特性,是比特币上分支出来的第一个项目。经过几年的发展,目前Namecoin的用途主要包括以下几个方面:构建能够抵抗审查机制的网络,来保护在线言论自由的权利;将身份信息(例如GPG和OTR密钥以及电子邮件,比特币和Bitmessage地址)附加到用户选择的身份上;提供具有良好可读性的Tor .onion域;基于区块链共识的分布式TLS(HTTPS)证书验证;使用.bit顶级域访问网站。另外,当前还有一些提议的想法(待实现),例如文件签名,投票表决,债券/股票/股份,信任网(web of trust),公证服务和存在证明(Proof of Existence)。
Blockstack的优化设计目标是易使用,可扩展,用户自主控制。区别于传统的客户端/服务器模型,为了实现去中心化其创建一个新的模型,主要包括:无不透明数据库,无服务器,状态的变化基于智能合约,去中心化认证,原生代币等。在2019年5月发布的Blockstack第二版技术白皮书中,介绍了2017年第一版之后Blockstack的技术框架更新。主要在以下方面:Stacks区块链及其共识算法的设计;引入了一种新的智能合约语言Clarity,来优化安全和可预测性。同时介绍了Gaia去中心化存储系统和Blockstack的认证协议。
Handshake是一种与现有DNS向后兼容的名字协议,不会替换DNS协议,但会用任何人都可以使用的基于区块链的系统替换根区域文件(存储TLD所有权)和根服务器。Handshake是基于UTXO的区块链协议,用于管理DNS顶级域(TLD)的注册,更新和转移。其实现了去中心化,保护隐私安全的设计,提供证书颁发机构(CA)的分布式替代方案来保证安全性,避免针对CA的攻击。在Handshake中,任何人都可以注册自己的TLD,Handshake上的TLD具有与之相关联的公共密钥,可以验证其真实性,并且只有所有者才能修改域名信息,利用私钥进行身份验证。针对该顶级域名的二级域名注册,向该顶级域名所有者进行申请。Handshake对现有的TLD进行了兼容,已有的TLD不能再进行注册,同时为公司等组织保留了对其有价值的顶级域名注册权。