基于区块链的DNS构建
2020-03-11杨元庆
杨元庆
摘 要:DNS域名查询服务是互联网上极其重要的一项服务,很多网络应用都需要依靠DNS域名系统的寻址功能。但是DNS域名系统由于历史原因,设计上高度中心化,整个系统的稳定严重依赖中心节点。另一方面,中心化结构导致安全和性能产生了矛盾,以至于DNSSEC安全扩展协议出多年,但是普及情况依旧不是很乐观。
当前互联网治理模式正朝着平等开放的方向发展,域名系统(Domain Name System,DNS)作为解析互联网资源名字及互联网资源地址的基础服务,其重要性愈发突出。传统的域名系统管理模式是一种中心化的层级架构,权力滥用、单点信任等安全风险始终存在。区块链技术作为一种新型的去中心化工具,能够给域名系统架构的扁平化改造提供创新性思路,实现全球域名服务提供商之间的共管共治模式,具有去中心化、时序数据、集体维护、可编程和安全可信等特点,特别适合构建可编程的货币系统、金融系统乃至宏观社会系统。目前已经引起政府部门、金融机构、科技企业和资本市场的高度重视与广泛关注。
本文致力于回顾区块链技术能力,介绍该技术在实现这种分散系统中的主要优缺点。这项技术的主要威胁,减缓了它在现代社会的实施。此外,还考虑了网络扩展和51%攻击的问题。
关键词:互联网;区块链;分散系统;信息学;信息系统;信息安全
区块链技术最初由中本聪于 2008 年提出,原作为比特币的基础架构,却掀起了一轮创新热潮。如今,区块链技术被逐渐应用于金融、供应链、溯源、版权保护等实际应用场景。区块链是一种分布式数据库技术,在典型的区块链系统中,数据以区块为单位产生和存储,并按照时间顺序连成链式数据结构。所有节点共同参与区块链系统的数据验证、存储和维护。区块链并不是一项全新的技术,归根结底,它可被视为一个去中心化的数据库技术。在区块链系统中,共识算法具有重要作用。目前主流的共识算法有工作量证明机制 (Proof of Work,PoW)、权益证明机制 (Proof of Stake,PoS)、股权授权证明机制 (Delegated Proof of Stake,DPoS) 等。非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等。以比特币系统为例,一般通过调用操作系统底层的随机数生成器来生成 256 位随机数作为私钥。为便于识别,256 位二进制形式的比特币私钥将通过 SHA256 哈希算法和 Base58 转换,形成 50 个字符长度的易识别和书写的私钥提供给用户。比特币的公钥是由私钥首先经过 Secp256k1 椭圆曲线算法生成65 字节长度的随机数。该公钥可用于产生比特币交易时使用的地址,其生成过程为首先将公钥进行 SHA256 和 RIPEMD160 双哈希运算并生成 20 字节长度的摘要结果,再经过 SHA256 哈希算法和 Base58 转换形成 33 字符长度的比特币地址。
如果你用手指和可以理解的文字来解释,区块链技术(block-block,chain-chain)是一种日志,它以一定的顺序,按照时间的顺序,用一定的信息来记录。为防止任何人出于自己的目的自行决定对《新华日报》进行更改,所含信息经过特别加密。如果这本杂志是一本的话,它可能会丢失、烧毁或其他人破译并做出改变。因此,为了提高可靠性,每个用户都会存储大量日志副本。当对日记帐进行新的分录时,它将自动记录在所有实例中。这就是区块链技术的工作原理。
从技术上讲,区块链是一个分布式数据库,由网络的所有用户同时存储。写入数据库称为“区块”,因为区块链在加密货币中特别常见,因此也称为“交易区块”。每个新块包含以前操作的记录、头和时间戳。当一个新的数据块最终形成时,所有网络成员都会自动对其进行检查,然后,如果没有对现有的早期记录进行更改,则会将该块附加到链上。
该技术的主要原则包括完全分散、数据存储的安全、操作的完全开放和透明、系统中已经记录的块的不变性。
区块链加密确保只有密钥所有者可以更改其拥有的“他们”块中的记录,没有密钥就無法写入块。此外,块加密为所有网络用户设备提供块副本的分发和同步。
所有网络设备的安全性也由对等设备和网络的时间戳技术来保证。这样就形成了一个数据库,它是自主管理的,只由网络成员作为一个整体进行管理,而没有一个单一的中心或服务器。
这一术语首次以完全复制的分布式数据库的名称出现,该数据库在“比特币”系统中使用,因此区块链技术通常与加密货币的交易相关,但区块链技术可应用于任何信息区块。这就是为什么在本文中,我们将考虑区块链技术在DNS域名系统模拟设计中的实际应用。
1.1. 区块链技术的优势:
·采用区块链技术实现域名系统的革新,主要体现在它的分布式域名解析系统的特性上,具体包括安全性、快速访问、保护隐私等优势。域名系统沿用分层思想,主要由两层链构成,一是由各顶级域(TLD)注册局组成的 Root 链;二是由顶级域注册局及其域内注册商、ISP 等组成的 TLD 链。考虑到根域是域名系统的入口,其稳定性和一致性决定着整个系统的性能和安全,因此在 Root 链中加入网络标识多边协调委员会的中立角色,当各参与方在系统层面无法达成一致或系统故障的情况下,通过该中立角色的协调,各方重新达成一致,维护系统重新运行。在各 TLD 链中加入监督节点,同步链上域名数据,根据各域的政策和法律对域名系统进行监管。总体架构如图 1 所示。
·没有中央服务器-数据库的副本经常在参与者之间分发,因此几乎不可能对其进行黑客攻击(除了“攻击51%”)。
·每个用户都有一个完整的数据库,其中包含加密形式的整个区块链。副本不断且定期同步。
·任何人都可以用数据跟踪任何操作,系统完全透明。
·链(数据库)中的信息作为新块添加。自动添加与其他用户一致的网络。
·金融技术不仅适用于其他领域,而且也适用于其他领域。
·高速运行。
但是这种技术也有缺点,对于任何大型服务的实现都非常严重,这将被大量的用户使用(在我们的例子中是域名服务)。到目前为止,模拟DNS的实现还不是真实的,实现的例子已经在发生,但是这些发展的全球适用性还很早就说出来,而以下问题是相关的:
·攻击风险-如果51%的区块链由一个用户(或一组用户,这更现实)拥有,则有可能为该用户或群体的个人目的确认“错误”区块。
·可扩展性。如果我们考虑金融业,比特币网络处理能力高达每秒7次,SWIFT系统每秒处理超过1000次操作。网络容量不会随着新节点的增加而增加,它是不可扩展的。法律地位的不确定性。
·所有网络节点执行相同的工作,在链中记录相同的信息,存储相同的历史记录。没有并行化,只有数百万美元的复制。
·大量基础。到目前为止,以太坊区块链的大小已经是200GB,而且必须存储在用户的计算机上,否则分布式数据库复制的意识形态就会丢失。
·另一个巨大的比特币挖掘问题。“比特币”系统以12.5个硬币的形式向成功并正确地选择哈希值的人颁发奖励。创造一个区块的奖励是发行比特币的唯一途径,也就是说,所有的新硬币都是在采矿的帮助下创造出来的。
随着矿工数量的增加,为一个矿工找到正确哈希的概率降低。因此,矿工们开始联合成一个叫“水池”的团体。池将它们的能力组合在一起,并选择块的哈希值,然后在成功选择报酬之后,根据花费容量在池的参与者之间共享它。
因此,如果任何池收集了所有容量的51%,它将能够进入链中的任何块,并且它们将被认为是真的。
1.2. 我们是否需要在区块链上普遍使用DNS的情况下实现这一点?
为了让区块链域名系统被大量用户使用(如今全球互联网用户已接近25亿),必须解决上述问题。这些方案是基于链块的不同技术实现的。依次考虑解决方案:
1.3. 功率和网络速度
如上所述,比特币系统每秒只能执行7次操作,这不适合DNS的实现(大量的操作以替换记录、权限等形式出现)。为了解决这个问题,专家们实施了照明网络技术。
首先,网络成员建立一种“渠道”,对网络做出承诺。一旦信道建立,它们就开始直接交换信息,与网络的其他部分隔离,完全以任何速度进行。信息交换完成后,参与者将“交流”的结果写入通用区块链并收取押金。这种信息传输方案消除了对执行的操作数量的限制,并允许您以任何方便的速度交换数据(或事务)。
1.4. 大量的基础。
互联网用户不会希望在他们的设备上存储整个网络地图,因为它的容量将是巨大的,而且每分钟都在增长。这个问题有两种解决方案:Web服务器。整个数据库不会存储在您的设备上,也不会存储在本地的某个地方,例如,您的托管提供商。最主要的是它不是一个单一的政党,它存储了所有的网络地图,否则它将彻底击败意识形态区块链。像以前一样,您连接到该服務器并使用Internet,而不执行任何计算,也不将所有块存储在设备上。但是,存在对该服务器的信任问题。
有一种更可靠的方法来减小数据库的大小,Satoshi在2008年写过它,是一棵Merkle树。您只能存储和检查块标题,而不能存储和检查块本身。因此,底座的体积减少了约200倍。但还有另一种方法可以减少音量。没有必要在您的设备上存储块的整个历史记录,您只能从某个时间点开始。
1.5. 系统的可扩展性
术语“可伸缩性”是指当向系统添加资源时,系统性能的提高。事实上,经典区块链不仅可以向上扩展,而且可以向下扩展。按照同样的原则,不可能建立一个小型网络,因为“攻击51%”的概率增加。但是最近提出了一个解决这个问题的方法。Joseph POON(照明网络的发明者)和Vitaly Buterin(以太坊的开发者)。他们提出了一个Plasma草案是做区块链区块链的方式。从概念上讲,与网络中的一个主要的网络交换技术是相似的与其他参与者单独和独立地提供信息,独立监控其智能合约规则的执行情况。这种隔离通信的结果以一定的周期性记录在主网中。
1.6. 攻击51%
区块链技术Emc DNS解决了系统的漏洞。它结合了PoW处理技术和PoW处理技术。也就是说,攻击者将不足以拥有系统51%的计算能力,真正的51%算力攻击一旦发生,后果会很严重,但51%攻击有悖论,使得它事实上难以发生,双花攻击无需51%的算力,ghash.io的45%算力已经具备了双花攻击的条件,事情没有我们想像得那么乐观,比特币世界要重视这个事情,双花和虚花可以多等几个确认来防范,真正的51%算力攻击多等几个确认也难以防范。
此外,他们还必须拥有总货币供应量的51%,这实际上是不可能的。但是会有一线希望吗?很难说目前存在的数千种山寨币给最终用户带来了什么实实在在的好处。如果由此加密世界能围绕一些较大的币种进行巩固,那么对于该行业的长期健康来说,51%攻击可能不是一件绝对的坏事。
1.7. Emercoin作为DNS的替代方案
Emercoin(缩写为EMC)是一种具有两种生成类型的加密货币,例如“工作证明”POW和“所有权证明”POS(在加密货币中用作保护方法)。开发代码是开放的,每个人都可以使用。EMC使用上述NameCoin系统的技术。
系统有一个API来处理它。该系统定位为一个分散的信息列表,朝着安全的多业务分布式网络方向发展。2016年8月,软件更新0.5.0构建了比特币核心,这是第一次使用加密货币POS(生成“所有权证明”类型)的核心。软件是2017年8月29日的最后一次更新。
目前,在EMC的基础上提供了以下服务:分布式DNS,简称EMCDNS-EMCSSL-免费安全套接字层证书枚举器-一个用于存储VOIP地址的分布式数据库在认证工作的框架内我们只对分散式DNS系统感兴趣,称为EMCDNS。与NameCoin不同,该技术支持4个域区域。
EMCDNS是一种没有中央服务器的域名存储技术。该系统不受审查和第三方干扰,据开发者和普通用户介绍,网络是超可靠的。
45个必要的emcdn作为经典DNS的模拟,由于DNS的失败或攻击很可能会中断和分散组织网络。该系统不依赖于经典DNS,因为EMCDN可以避免阻止站点和其他资源,并且能够抵抗DDOS攻击。
实际上,emcdn能够支持任何域区域。目前,用户只支持4个区域。
在该系统的所有优点中,完全分散(区域由业主独家管理),信息不可替代,资源不能被任何国家的行政资源封锁。
1.8. EmcDNS与NameCoin的主要区别
EmcDNS与NameCoin在技术开发上的主要区别EmcDNS对NameCoin的实现方法进行了彻底的修改和重组。介绍了以下差异,这些差异使该技术对最终用户更具吸引力。
更详细地考虑这些差异:
1.无限数量的域区域和用户创建它们的能力,正如我前面所说,NameCoin系统只支持一个位区域。在普通的分区中,有可能创建一个新的分区,支持它的用户数量是无限的。
2.在任意时域记录域注册(在区块链中引入一个新的条目)系统中实现了EmcDNS指定用户租期的能力。顺便说一句,这一时期在技术上并不局限于任何东西,只限于用户的愿望。这种差异允许您将由于用户自己的疏忽或遗忘而丢失域的风险降到最低。
3.從区块链删除域您可以从区块链中删除记录,也就是说,您可以同时终止属于该用户的一个或多个域。无需等待记录的租赁期限到期。
参考文献:
[1] The Protected DNS robachevsky A.//期刊《内部互联网》——2018年第8期。–26点。
[2] Khramtsov P.B.《时尚、时尚、年轻人或DNS与区块链杂志》《互联网内幕》——2018年第8期。–20p.【5】Khramtsov p.B.域名系统。2004–17点。
[3] Khramtsov P.B.DNS与anycast:解决方案与挑战//期刊“内部互联网”(Internet inside)–第8期,2018年。–12点。
[4] 段希楠, 延志伟, 耿光刚等.区块链共识算法研究与趋势分析.科研信息化技术与应用, 2017, 8 (6) :43-51.
[5] Venerupin AA结构域。你需要知道的关于互联网关键元素的一切。2014-37便士。
[6]基于区块链的DNS根域名解析体系[J]. 庄天舒,刘文峰,李东. 电信科学. 2018(03)
[7]基于区块链的威胁情报共享及评级技术研究[J]. 程叶霞,付俊,陈东,杜跃进. 信息通信技术与政策. 2020(02)
(广州城建职业学院 广东 广州 510925)