首页 > 编程知识 正文

直接注册顶级域名?了解去中心化域名系统 Handshake

时间:2023-05-04 00:03:47 阅读:104370 作者:528

免责声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星金融官方立场。

边肖:记得要注意

资料来源:Rebase社区

原标题:从比特币中分支出来的最好的物品?3354了解分散名称系统握手

作者:冷火,前端程序员,专业区块链评论员

这篇文章是关于2020年初刚刚启动的一个区块链项目,叫做握手。它的目标是通过在互联网上增加一个区块链层来消除互联网对集中式组织的依赖,并使互联网真正免费。

从基本协议层面来看,互联网中有两个点是由集中的组织控制的,一个是DNS系统,另一个是数字证书系统,也就是CA。到了应用层,还有另一个集中化的瓶颈,那就是社交网络上每个用户的用户ID都由一家公司控制。集中化意味着不安全,集中化的数据库很可能会受到黑客的攻击或强大组织的干扰。如果美国政府认为一家中国公司有问题,可以直接对美国的集中式DNS或CA管理机构施压,这样公司的域名可能会被关闭,其数字证书也会被注销。在应用层面,集中式平台公司当然是对个人自由的威胁。比如微信上的一些公众账号被删除了,那么经营了几年的粉丝就会流失。所以,不自由的互联网是不安全的,握手的出现就是为了防止互联网被任何一个中央集权的组织所控制。

我们分三个部分来谈。第一部分,握手到底是什么?第二部分论述了它的三大功能。最后一部分介绍了握手的巧妙设计,看看它有什么非常有根据的商业考虑。

什么是 Handshake ?

进入第一部分,我们来说说什么是握手?

官网是这么说的。

握手通过数字货币系统实现姓名注册。

说白了,Handshake是一个通过去中心化实现域名注册的区块链项目。2011年,启动了一个名币项目。定位差不多,挑战是现有的DNS系统。不过要注意,官网写的是“名称注册”而不是域名注册。为什么呢?以后再说吧。在更深层次上,握手首先是一套协议。所谓协议,就是一套做事的规范,一个不受任何人控制的游戏规则。例如,比特币是一套协议。

握手和比特币有很多共同点,也是用UTXO数据结构和POW来挖掘的。此外,握手也是一个区块链网络。游戏规则需要固化成代码才能执行。比特币有很多代码实现,最著名的一个叫做比特币核心,大多数比特币矿工都安装了这个客户端。但是还有一组代码叫做bcoin,Handshake的客户端就是基于bcoin开发的。安装握手客户端后,一台机器可以与其他类似的机器形成区块链网络。这是握手网络。我们后面要讲的所有功能都是基于这个物理载体。

最后,握手背后是一个真正分散的组织。事实上,许多区块链项目背后都有公司。稍微好一点,也有半集中的委员会或者基金会什么的,但是Handshake很有个性,背后什么都没有。目前,该项目价值1.36亿美元。投资者不仅包括许多区块链风投,还包括a16z、红杉和mtdpj创始人基金等知名互联网风投。

要理解Handshake,首先要区分顶级域名和二级域名的概念。其实也很简单,比如bilibili.com,com是顶级域名,哔哩哔哩是二级域名。我们通常的口头域名注册实际上是去域名注册机构购买二级域名,比如注册google.com和taobao.com。其实谷歌和淘宝都是二级域名。世界上顶级域名不多,比如com net org,顶级域名应该分配给哪个域名注册商,由一个叫ICANN的非营利组织管理。例如,ICANN的数据库记录,域名com属于美国的域名注册商verisign,VeriSign负责注册xxx.com。每年域名持有者都要同时向ICANN和VeriSign支付一些费用。

理解Handshake的一个关键点是我们用Handshake注册顶级域名,而不是二级域名。需要明确的是,如果我在Handshake上注册了google,那么我的域名就是google,没有任何其他类似的字符。com或。组织。拥有顶级域名后,可以自己控制对应的二级域名,比如happy.google hello.google,可以自由使用。后面谈业务落地的时候,我们会详细提到,Handshake最初的设计之一就是和现在的DNS系统保持共生关系,但如果非要谈竞争,那么Handshake也是在和ICANN竞争,而不是和域名注册商竞争。

就像我们刚才说的,目前顶级域名比较少,顶级域名的添加需要ICANN逐层投票批准后才能添加。握手时,会定期出现大量顶级域名。

名放出来拍卖,任何人都可以竞拍来获得属于自己的新的顶级域名,这是 Handshake 设计的最大特点,鼓励大家直接用顶级域名当域名用,比如,如果我要搭建个人网站,那么我不需要在某个人拥有的顶级域名 wang 下注册 peter.wang 这个子域名,而是可以直接使用 peterwang (如果 Handshake 上有这个域名) 。当然,起码到目前为止主流浏览器是不支持的只有顶级域名的网址的,如果在 chrome 这样的浏览器中直接输入 peterwang 这一个串字符,会被当成搜索关键字,而不是网址来进行处理。所以 Handshake 需要推动各大浏览器支持自己的这种方式,目前,Brave 浏览器,已经正在考虑支持使用顶级域名的网址了。

再来说说实际操作,如何去购买 Handshake 域名并添加 IP 指向呢?最简单的方法是到 namebase.io 网站上去操作。这个网站提供了跟 Handshake 区块链交互的图形界面,这样就不用我们自己去装客户端,然后敲命令了。网络会定期放出一部分域名来进行维克瑞拍卖,大家用 Handshake 区块链的原生代币 HNS 来竞标,最终出价第二高的人会获得想要的域名。另外,拍卖逻辑是写到 Handshake 区块链内部的,拍卖所得会奖励给矿工。获得域名后,如果需要修改域名指向,可以通过 namebase.io 来进行,操作方式跟当前 DNS 没啥区别,通过添加 A 记录即可。你可能会问,那么 IP 地址的信息是不是保存到链上呢?其实并没有。Handshake 上会记录 DNS 服务器的地址,IP 地址是保存到这些 DNS 服务器上的。这部分的详细原理可以去搜「根区域文件」这个概念,Handshake 的作用只是提供根区域文件,而不是 DNS 服务器,懂技术的同学,一听这些可能就比较清楚了。

以上,就是 Handshake 的基本情况了。

Handshake 的三大功能

下面来详细聊聊 Handshake 给用户提供的三大功能。

第一个功能很明显了,就是注册域名,目标用户是网站开发者。谁不想要一个简短酷炫,同时又不可关停的域名呢?这里有必要补充一个问题,如果我要注册一个二级域名,该如何操作?前面也提过了,当代 DNS 系统下,威瑞信从 ICANN 公司的手里分配到了 com 这个顶级域名,于是我可以去威瑞信那里去注册二级域名。而 Handshake 相当于 ICANN 的地位,在 Handshake 区块链上,每个人都可以成为威瑞信这样的域名注册商,如果我注册了 lee ,你需要购买以 lee 为顶级域名的二级域名,例如 bruce.lee 那就需要找我买。注意,二级域名并不是 Handshake 关心的问题。二级域名的售卖,可以到 namebase.io 网站上进行,但是最终的结果不会写的区块链上。

第二个功能是给每个域名绑定公钥。绑定公钥后,能够达成两个效果。第一,任何能出示私钥的人,就是域名的主人。第二,网站安全通信从此就不依赖于中心化 CA 机构了。要理解 CA 的详细原理,可以去 B 站搜 「好奇猫学院 数字证书」。简单来说,浏览器要跟一个网站服务器通信,需要认证对方的身份,当前 DNS 条件下,网站开发者,购买域名之后,还有去赛门铁克这样的 CA 机构去购买证书。而证书的本质是提供了一种有公信力的域名和公钥的绑定关系。有了 Handshake ,这一步就不需要了,因为 Handshake 区块链上直接就给域名绑定了公钥。而且,所谓的公信力的来源从一个不透明的 CA 机构,变成了多个网络节点,实现了去中心化,其实是更安全了。

第三个作用是注册自主的用户 ID ,或者说是注册不被他人控制的用户身份,这个功能就有意思了,目标用户不是网站开发者,而是每一个lsdmf。刚才介绍 Handshake 的时候,我们说它是提供「名字注册」的,Handshake 上注册的名字,除了可以当域名用,也就是当网站的名字用,还可以同时当用户 ID 来用,也就是当人的名字来用。注意,用户 ID 不是昵称,昵称是允许重复出现的,比如微信上可能有很多人都叫「小可爱」,但是用户 ID 要求是唯一的。我在 github 上的用户 ID 是 happypeter ,其他人就不允许再注册这个 ID 了。传统的用户 ID ,都是微信,Facebook ,这样的社交应用提供的,或者说都由中心化的公司提供并控制的。而 Handshake 上注册的用户 ID ,有这么几个特点:

第一个特点,一个 ID 全网通用。如果我在 Handshake 上注册 happypeter 这个名字,就可以用 happypeter 做用户名登录所有支持 Handshake 登录的网站了,而不用像现在这样,每个网站上注册一次。如果把 happypeter 输入到浏览器地址栏中,还可以当网站地址用,真是一箭双雕。第二个特点,是可以实现通过私钥登录。刚才说了,每个 Handshake 的名字都绑定了公钥,私钥可以用来证明所有人身份,当然也可以用来登录网站。具体方式就是用私钥签名来证明身份了,没有密码学基础知识的同学可能不太好理解。第三特点,是可以实现点对点的安全通信。前面提到了 Handshake 可以取代 CA ,保证通信双方的身份互信。实际中的通信双方,不仅仅是浏览器和网站服务器,也可以是两个人。当前互联网上,两个人之间的一般是通过微信这样的平台来保证双方的身份的,这样不涉及到 CA 的问题,但是平台本身就是中心化的公司。Email 是一种去中心化的通信方式,但是要想达成安全通信,需要 PGP 加密,过程中也还是离不开中心化的 CA 。而有了 Handshake ,这个问题就就解决了,两个用户 ID 之间可以点对点的进行安全通信了。第四个特点就是,可以绑定各种数字资产到用户 ID 。Handshake 上的用户 ID ,因为全网唯一,而且可以用私钥来证明所有权,所以可以认为是数字空间的自由人。于是可以用用户 ID 来接受比特币,也可以把一组数据的所有权绑定到这个名字。如果说下一代互联网,也就是 Web3.0 ,是明确了数据私有权的互联网,那么 Handshake 就可以用来作 Web3.0 的支撑。

这里,咱们聊完了 Handshake 的三大作用,第一个是注册域名,第二个是绑定公钥,第三个是注册用户 ID 。关于第三点的意义,我们展开说了一下。

独特优势

也有一些其他区块链项目,想要实现跟 Handshake 类似的功能。但是 Handshake 最大的特点是设计上做了很多接地气的商业上的考量,让项目落地变得容易。下面聊聊几个 Handshake 特有的优势。

第一个最大也是最明显的优势是 Handshake 考虑到了跟当前 DNS 系统的和谐共处。Handshake 是要实现去中心化的域名系统,但是实际上却跟当前的 DNS 系统不形成竞争关系。听起来有点匪夷所思哈,好像在说,我就是要干掉你,但是我却不攻击你。但是实际情况的确是这样,所有当前 DNS 系统的域名,Handshake 上都是不能注册的。例如,我想注册 google.com ,这个是做不到的。原因有两个层面:第一,所有的当前 DNS 的顶级域名,com net org io 等等,Handshake 都预留了。Handshake 不会让用户注册 com 这个域名的,所以如果要注册 xxx.com 的用户,还是去找威瑞信。第二,Alexa.com 上排名前 10 万个网站的域名都为对应的公司预留了。

这个什么意思呢?如果苹果公司有一天想要用 Handshake ,却发现 apple 这个域名已经被注册了,那么肯定很不开心。但是 Handshake 的做法很贴心,什么时候苹果想要使用 apple 这个名字了,只需要到 Handshake 上认领即可,这个逻辑是自动化完成的。注意,这里 Handshake 预留的 apple 是指顶级域名,而不是 apple.com 中的次级域名。刚刚提过了,因为 Handshake 预留了 com ,所以 Handshake 上也同样注册不了 apple.com 。

总之,不会发生 Handshake 上注册的域名跟传统 DNS 冲突的情况,所以说 Handshake 和当前 DNS 系统是井水不犯河水。不过,如果未来有一天,苹果网站的域名从 apple.com 变成 apple ,肯定是更清爽了,对吧?对苹果公司也不会造成太多损失,我猜未来最可能出现的情况是,人们会更爱不可关停且更简短的 Handshake 域名,从而慢慢的放弃使用传统 DNS 域名。所以虽然说 Handshake 不攻击当前 DNS ,但是也可以干掉它。

第二个优势是,Handshake 上真正承载了稀缺性数字资源,具有炒作的价值,给币价提供了支撑。数字资源通常是不具备稀缺性的,例如以前炒的很火的数字收藏品,加密猫,其实稀缺性都是人为规定的。但是简短好记的名字,是真正的数字稀缺资源。不然,多年来也不会有那么多人靠炒域名发财。

第三个优势是,可以保护每个人拥有好名字的权力。一个全网通吃的,同时又容易让人类记忆的 ID 是非常难得的。社交应用的 ID 通常比较容易记忆,例如我的 github ID 是 happypeter ,但是这样的 ID 都不是全网通吃的,我后来去 Twitter 上,也想要注册 happypeter ,但是却被别人占用了,只能注册了 happypeter1983 ,这个就很恶心。以前的全网唯一的,同时去中心化生成的 ID 通常都是非常长的,例如 W3C 的 DID 或者写程序时经常用到的 UUID 。看上去都是长长的一大串数字,很难记在脑子里。区块链项目 Blockstack 基于 DID 提供了 Blockstack ID ,例如我的 Blockstack ID 是 happypeter ,也是简短好记的。但是对比 Handshake ,结构上多了一层封装,似乎没有 Handshake 这么清爽。另外 Handshake 上的好名字都是每隔一段时间逐步放出来的,而且要经过拍卖获得,而 Blockstack ID 是缺乏这方面的细致考量的,基本上就是先到先得,也不要钱,如果前期好名字都被别人抢注了,其后来人迁移过来的意愿就很低了。

总之,我们可以看到 Handshake 考虑到了很多的现实因素,让落地变得相对容易了很多。

总结

最后总结几句,聊一下我自己对这个项目的感受。Handshake 的设计中有很多大巧若拙的地方,例如,通过鼓励使用顶级域名直接做网址,使得原本不相干的两个东西,域名和用户 ID 达成了统一。而正是由于这个统一,也使得传统上需要 CA 颁发的两种不同类型的证书:一种是网站和浏览器之间通信使用的 SSL 证书,另一种是用于两个用户之间通信使用的 PGP 证书,也达成了统一,而且因为每个域名都绑定了公钥,实际上就完成了证书的功能。更有意思的是,绑定公钥,也不仅仅是取代 CA ,而是还可以达成这么几个功能:第一,让用户通过私钥证明自己对名字的所有权;第二,接收数字货币,第三,绑定数据资产。

总之,Handshake 让我想起了那句话,最简约的设计可能来自最深刻的思考。当前互联网的很多本质上就是一回事的不同的复杂的机制在 Handshake 的设计下变得更统一,更简单。一个名字既可以当用户 ID ,又可以当域名用,绑定了公钥后,既不需要 CA 颁发证书了,又可以用私钥去证明身份或者登录网站。当然,最重要的是所有这一切都是去中心化实现的,解决了中心化机构对互联网的控制,还给互联网本来就该拥有的自由。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。