基于区块链技术的DNS解决方案
判断哪些应用可以部署到区块链的原则:
2、是否可以区块化的客观逻辑来判断智能合约。
3、应用上区块链带来的优点是否能抵消使用区块链带来的代价。
区块链融合了多种传统的技术而衍生出来的新的技术,或者说是一种新的信任协议。但是现在通过过度的包装和互联网的快速传播,让区块链成为一种快速变现的工具,这是很可怕的。就因为比特币为代表的数字货币的巨大升值泡沫,使得区块链更加泡沫化和神奇化。“什么可以上区块链”发布后在我的朋友圈有些朋友列举了一些应用,我们就利用这个工具来具体分析一下,看看是否真的适合链上部署。
基于区块链技术的DNS解决方案
在朋友圈里看到的基于区块链来解决传统的DNS容易受到攻击的问题。却没有看到实现的原理。我们先了解一下原理吧!
区块链最擅长的是记录交易,一旦交易被确认,将不会再被篡改。区块链DNS就是利用了这个特性,将域名和IP地址对应关系的“增”、“删”、“改”的记录在区块链中,可以在全网达成共识,不可篡改,形成交易记录层(注意:符合第一条,建立链上的信任体)。
在底层的交易区块链建立虚拟的分布式数据库即Blockstack专用虚拟链。这一点有点像云计算,区块链就是X86服务器,Blockstack专用虚拟链是x86服务器上开设的虚拟机。Blockstack通过区块链的网络节点建立起专用虚拟链,定义了Blockstack节点的各种操作,且只有Blockstack节点能感知到这一层,单纯的区块链节点虽然能读取到操作的原文,但无法对其解析。分布式Blockstack节点通过查询解析数据库来解析地址,解决现在集中式的DNS受到攻击导致网络大面积的故障。交易记录层和虚拟链层形成了分布式的dns控制层。
解析地址和真实IP地址的对应关系就是客观存在的智能合约,(注意:明显符合第二条,客观存在的智能合约。)并记录在数据库中。但是这种解析关系形成的数据库还是集中放置的“云端”。
类似于SDN,区块链的DNS实际形成了“控制和数据”分离的模式。合理利用了区块链擅长交易的特点,但又将最终解析关系的数据库集中放在云端,而不是在“链上”。就是为了避免链上分布式数据库存在的缺陷:区块链分布式数据库记录的是交易过程(区块链本质是日志系统),并不记录直接结果。所有的结果都需要从历史记录中筛选出来然后计算出结果。区块链的透明交易特点需要牺牲数据库的查询速度。把最终的结果放在数据库里,是最好的选择。
区块链的DNS采用控制和数据分离的方式,很好的弥补了区块链存在的缺陷。区块链的DNS的设计理念是值得学习的,并不是为了区块链而区块链。
既然区块链的DNS有这么多的优点,大规模推广使用了吗?答案显然是否定的。因为不满足第三条,即用链上的DNS带来的代价是巨大的,无法大规模的推广使用。或者说传统的DNS故障是小概率事件,终端用户没有动力使用一种复杂、高成本的方式来改变现有的上网习惯。尽管区块链DNS很好的结合区块链和传统技术的优势,但是到现在还是无法大规模使用的原因,即商业价值不大。
还有人宣称区块链将改变互联网的模式,我觉得也有点夸大了。区块链给互联网带来最大的是无中心化的架构。现在的互联网模式是使用应用需要到相应的应用进行注册登记用户信息。每个不同应用上都会记录用户的信息。无中心化的模式是用户不再需要注册用户信息,而是允许让某个应用来终端上读取使用者的个人信息。这种无中心化的架构确实可以保护用户的隐私,用户的信息不再集中存储。
如果仅仅就是这点改变是不能说改变了互联网的模式。我认为早期的互联网就是去中心化的架构,但是仅仅是成为一种信息汇聚的工具而已。而发展到现有的、和生活息息相关、无所不能的互联网,还是依靠的是中心化的应用架构。互联网上还是需要有维护次序的权威,互联网去中心化的变革未必是一件好事,也行不通。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论