一种基于区块链的域名存储系统及方法与流程

文档序号:16848960发布日期:2019-02-12 22:34阅读:181来源:国知局
一种基于区块链的域名存储系统及方法与流程

本发明涉及域名管理技术领域,特别是涉及一种基于区块链的域名存储系统及方法。



背景技术:

目前,域名、ip地址、as(autonomoussystem,自治系统)号等关键互联网资源管理权属于美国商务部下属国家电信和信息管理局(nationaltelecommunicationsandinformationadministration,ntia)的互联网数字分配机构(theinternetassignednumbersauthority,iana)。ntia将iana职能授权给美国互联网名称与数字地址分配机构(theinternetcorporationforassignednamesandnumbers,icann)。在政策上,iana职能被一分为二:icann负责顶级域(topleveldomain,tld)注册和授权,美国威瑞信公司(verisign)负责运维根区数据。tld运营商对根区的修改申请经icann同意与ntia审批后,由verisign对根区文件进行实际修改,发布到12家根运营机构下的13个根服务器及其镜像。这一中心化结构通过域名系统安全扩展得到了密码学保护,自2010年起部署的根密钥签名密钥(rootkey-signingkey,ksk)为信任锚。2014年ntia宣布有意将iana职能移交给一个新的全球多利益攸关方组织。

dns(domainnamesystem,域名系统)根中心化结构蕴含权力滥用风险:

1)消失性风险,指从根区文件中删除特定顶级域名资源记录,令网络用户无法访问该顶级域名下网站。若被删除的是一个国家的国家代码顶级域,则该国域名下的域名体系也会跟着土崩瓦解,这是一种“一国互联网被从国际互联网抹掉的风险”。

2)致盲性风险,只要根服务器及镜像拒绝为特定范围内递归服务器提供解析服务,依赖相关递归服务器的用户就会因无法获得解析服务而无法上网。若针对一个国家,则这是一种“一国网络用户被禁止互联网访问的风险”。上述风险涉及对根区具有管理或操作权力的中心机构的信任问题。根权力滥用风险严重危害互联网的开放与平等。首先,开放的互联网应允许自由接入和通信,但目前一国的域名解析需依赖于根权威,国家间通信也绕不开根,一旦根权威滥用权力,将导致一国网络被关闭,国家间通信中断。其次,平等的互联网中各国网络应处于对等位置,但根权威处于最高层级,其他国家处于下一层级,中心化根权威所具有的非对称能力令其凌驾于各国网络之上。因此,为了互联网持续健康发展,根权力滥用风险亟待解决。



技术实现要素:

本发明的目的是提供一种基于区块链的域名存储系统及方法,解决根权力滥用风险。

为实现上述目的,本发明提供了如下方案:

一种基于区块链的域名存储系统,包括:根域名存储链、通用域名存储链和国家域名存储链;

所述根域名存储链用于存储所有的根域名;所述通用域名存储链用于存储所有的通用域名;所述国家域名存储链用于存储所有的国家域名;

所述根域名存储链的节点由各个根域名服务器构成,由各个根域名服务器的所有者共同管理;所述通用域名存储链的节点由各个通用域名服务器构成,由各个通用域名服务器的所有者共同管理;所述国家域名存储链的节点由各个国家域名服务器构成,由各个国家域名服务器的所有者共同管理。

可选的,所述通用域名服务器用于解析通用域名;所述根域名服务器用于解析根域名;所述国家域名服务器用于解析国家域名。

可选的,所述根域名存储链由根域名存储链的各个节点基于共识机制进行管理;所述通用域名存储链由通用域名存储链的各个节点基于共识机制进行管理。

可选的,所述根域名存储链采用公钥标识各个根域名服务器的所有者,采用私钥对根域名数据进行签名。

可选的,所述通用域名存储链采用公钥标记各个共享通用域名的用户,采用私钥对各个共享通用域名进行签名。

可选的,所述根域名存储链中的信息验证由各个根域名服务器的所有者进行验证。

可选的,所述通用域名存储链中的信息验证由各个通用域名服务器的所有者进行验证。

本发明还公开一种基于区块链的域名存储方法,包括:

向区块链的各个节点广播域名存储请求;所述域名存储请求被广播至区块链内的各个节点;

获取具有验证权限的节点反馈的第一验证结果;当所述第一验证结果为同意的数量超过预设阈值时则生成联名同意背书广播至区块链的各个节点;

获取具有验证权限的节点反馈的第二验证结果并生成新的区块存储所述域名,当所述第二验证结果为承诺更新数据的数量超过预设阈值时则生成联名承诺背书广播至区块链的各个节点,使各个节点生成新的区块存储所述域名。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明所公开的基于区块链的域名存储系统及方法,利用区块链实现域名的存储,利用区块链去中心化和防篡改的特性,能够避免由单一中心化管理所导致的消失性风险和致盲性风险,从而有效避免了根权力滥用风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明基于区块链的域名存储系统实施例1的区块链节点同步图;

图2为本发明基于区块链的域名存储系统实施例1的国家根域名服务器体系结构图;

图3为本发明基于区块链的域名存储系统实施例1的国家根域名服务器和国家域名服务器的存储结构图;

图4为本发明基于区块链的域名存储系统实施例1的通用域名服务器的存储结构图;

图5为本发明基于区块链的域名存储系统实施例1的区块链条结构图;

图6为本发明基于区块链的域名存储系统实施例1的以merkle树形式hash的存储形式图;

图7为本发明基于区块链的域名存储方法实施例2的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种基于区块链的域名存储系统及方法,解决根权力滥用风险。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1:

一种基于区块链的域名存储系统,包括:根域名存储链、通用域名存储链和国家域名存储链;所述根域名存储链用于存储所有的根域名;所述通用域名存储链用于存储所有的通用域名;所述国家域名存储链用于存储所有的国家域名;所述根域名存储链的节点由各个根域名服务器构成,由各个根域名服务器的所有者共同管理;所述通用域名存储链的节点由各个通用域名服务器构成,由各个通用域名服务器的所有者共同管理;所述国家域名存储链的节点由各个国家域名服务器构成,由各个国家域名服务器的所有者共同管理。

所述通用域名服务器用于解析通用域名;所述根域名服务器用于解析根域名;所述国家域名服务器用于解析国家域名。

所述根域名存储链由根域名存储链的各个节点基于共识机制进行管理;所述通用域名存储链由通用域名存储链的各个节点基于共识机制进行管理。

所述根域名存储链采用公钥标识各个根域名服务器的所有者,采用私钥对根域名数据进行签名。

所述通用域名存储链采用公钥标记各个共享通用域名的用户,采用私钥对各个共享通用域名进行签名。

所述根域名存储链中的信息验证由各个根域名服务器的所有者进行验证。

所述通用域名存储链中的信息验证由各个通用域名服务器的所有者进行验证。

下面以国际域名存储作为具体实施方式进行详细说明。

该域名存储系统的核心思想是打破现有域名系统,所有国家都搭建属于自己的根域名服务器和国家域名服务器,通用域名服务器由域名联盟进行搭建,利用区块链的分布式存储,同步根域名信息,每个国家的根域名服务器和国家域名服务器完全由自己进行控制,通用域名服务器由域名联盟共同管理,从而实现了对根权威的权力控制,在根区解析服务的层面,新的体系由域名联盟中各国家的根域名服务器节点独立提供顶级域名解析服务,二级域名由国家域名服务器和通用域名服务器提供解析;在根区管理层面,新体系由联盟内所有国家通过共识机制来实现对域名的控制权,兼容当前互联网开放平等的治理结构。

通过区块链对根区数据进行同步,使域名解析摆脱完全依赖于单一权威的现状,从而实现了解析服务的去中心化。通用域名服务器由域名联盟通过共识机制来建立,国家域名服务器由各国之间协商建立。从一定程度上规避根权威权力滥用风险。

具体的系统结构为:

图1为本发明基于区块链的域名存储系统实施例1的区块链节点同步图。

参见图1,国家根域名资源记录创建一条区块链来专门进行管理,每个加入域名联盟中的国家共同管理这条根区域名区块链。每个通用顶级域名资源记录与国家顶级域名资源记录也分别创建一条各自的区块链进行管理,每个国家顶级域名区块链由各自国家来负责管理。通用顶级域名区块链由域名联盟来进行管理。基于区块链的互联根域名解析体系由以下两部分构成:

1.国家根域名服务器。

图2为本发明基于区块链的域名存储系统实施例1的国家根域名服务器体系结构图。

参见图2,国家负责运维管理的根域名服务器,取代之前的dns根服务器。所有国家都搭建属于自己的国家根域名服务器。在该体系中,国家根域名服务器除了提供根解析在内的解析功能外,同时能够与其他国家根服务器区块链进行数据同步。

2.域名联盟:构建一个平等、开放的互联体系,我们称作域名联盟,所有国家根域名服务器的持有者都应该加入区块链体系。域名联盟中使用公钥标识每个加入的国家,公钥所绑定的域名信息在国家根域名服务器中记录,域名联盟中的每个国家需使用对应私钥将所持域名的相关数据进行签名,用来实现信息的不可抵赖性。联盟内采用共识算法进行协商,共同决策新的数据发布是否有效。

在新的体系中,国家根域名服务器中包含两类数据,一类是所有国家根的网络地址信息,用以区块链进行同步时使用,另一类是顶级域的域名资源记录,是区块链需要同步的数据,也是dns服务器进行解析时的必要数据。

国家根域名服务器在新体系中扮演两个主要角色:

1)根区解析服务提供者:通过从区块链中进行同步获取根域名服务器的资源记录信息,使用生成的国家根域名数据提供解析服务,实现解析服务去中心化,提供可靠数据的同时,每个国家代表了国家域管理体系中的主要利益攸关方,其提供的解析服务可以最大化的保证本国顶级域名的解析安全。

2)域名联盟中的对等关系:与域名联盟中的其他国家域名形成对等关系,通过区块链交换根域名资源记录信息。每个国家域名服务器都是本国域名解析的绝对权威,直接为本国顶级域名提供递归解析服务。

单纯建立国家根域名服务器无法彻底实现去中心化,因为根区文件来源仍然是根区管理者iana。所以,建立域名联盟的目的就是实现根区信息的交换,解决根区信息来源单一的问题。联盟内各国家根域名服务器以全连接的方式对等接入联盟体系中,每个国家都可以通过共识机制上传数据到区块链中,通过区块链进行信息同步,所有顶级域名资源记录信息将在联盟内可查询。

区块链的特点包括去中心化、冗余存储、集体维护、防篡改。首先,区块链被看作是一个点对点网络,无中心节点,所有参与计算的节点是对等的,都保存了区块链的副本,节点之间通过区块头信息保证了区块链副本的一致性。区块通过哈希值与前一区块相连,可以防止被恶意修改,即如果想修改某个区块,必须重新计算所有前区块的哈希值,增加了计算复杂性。这些特点使得区块链非常适合构建安全的存储系统,同时添加了区块链的分布式存储系统可以有效地防止单点故障问题,即如果中心节点发生故障或宕机,分布式存储系统可以使用区块链来恢复关键数据。此外,区块链的防篡改特点,可以保证存储在区块链中的数据完整性,这同样是安全存储系统所必需的。利用区块链的这些特性可以用来存储域名资源记录的数据。

存储功能:

图3为本发明基于区块链的域名存储系统实施例1的国家根域名服务器和国家域名服务器的存储结构图。

图4为本发明基于区块链的域名存储系统实施例1的通用域名服务器的存储结构图。

1)国家根域名服务器

参见图3,通过对根服务器的域名资源记录签署一个哈希的数字签名,并将这个签名附加在域名资源记录的末尾,联盟内其它节点通过对签名进行检验,就可以验证该信息的所有者。

2)国家域名服务器

参见图3,国家域名服务器的存储结构与国家根域名服务器的存储结构类似。

通过对国家域名服务器的域名资源记录签署一个哈希的数字签名,并将这个签名附加在域名资源记录的末尾,联盟内其它节点通过对签名进行检验,就可以验证该信息的所有者。

基本思想是从数字签名模式中拿出一个公共验证秘钥,并将其与联盟内参与者的身份对等,每个国家的公钥可以与联盟内任何国家分享,如果一条数据的签名被某个国家的公钥验证,那么就可以认为是这个国家发布的这个数据。可以将公钥认为是参与者的身份证明,可以让某个国家为自己发布数据,同时,每个国家都有一个与公钥相对应的私钥,是严格保密的。

存入区块中的信息=sigp[hash(ndnrr)]。sigp为各国国家私钥,ndnrr指国家域名资源记录。

3)通用域名服务器

参见图4,通用域名服务器采用与之前不同的存储方式,不做数字签名,因为通用域名服务器的数据由域名联盟共同进行更新修正,仅对域名资源记录做hash即可。

时间戳:

每当联盟中有新加入的国家,就将这些国家的国家域名资源记录数据纳入一个区块中,通过对以区块形式存在的数据加上时间戳并且实施hash,并将该hash在联盟内进行广播。

图5为本发明基于区块链的域名存储系统实施例1的区块链条结构图。

参见图5,该时间戳能够证实特定数据必然于某特定时间是存在的,因为只有在该时刻存在才可以获得相应的hash值,每个时间戳应当将前一个时间戳纳入这个时间戳所在区块的hash值中,每一个随后的时间戳都对之前的一个时间戳进行增强以形成链条。

区块结构:

图6为本发明基于区块链的域名存储系统实施例1的以merkle树形式hash的存储形式图。

参见图6,区块主要内容是把两个基于哈希值的数据结构结合起来:第一个数据结构是区块的哈希链,每一个区块都有一个区块头部,里面有一个哈希指针指向上一个区块。第二个数据结构是一个树状数据结构,也就是以树状结构把区块内所有数据的哈希值进行排列存储。也叫梅克尔树(merkle树)。

每一个区块都包括一个被称为“魔法数”的常数,区块的大小、区块头、区块所包含的数据数量以及域名资源记录。

对整个区块链起决定性作用的是区块头,区块头包含区域版本号(version),前一区块的hash值(hashprevblock),根节点的hash值(hashmerkleroot),时间戳(time)。其中,hashprevblock是区块之所以能够连成区块链的关键字段,这个字段使得各个区块之间可以连接起来,形成一个巨大的“链条”。每个区块都必须要指向前一个区块,否则无法通过验证。区块体内包含许多域名资源记录的数据信息,它们通过merkle根节点间接被hash,用以解决数据量过大的问题。

共识机制:

为了防止被攻击的节点恶意篡改域名数据,仅仅进行广播是不够的,我们需要引入共识机制来对发起的数据更新进行正确性与合法性的验证。

由域名联盟中的所有国家进行投票选举9个理事国,对联盟内发生的重大事情进行决策,理事国每2年进行换届,不可连任。

当有新的国家加入或联盟内国家对本国域名信息发起更改时,需由理事国成员的1/2以上同意才可实行,当有对联盟产生重大影响的决策事件时,需由理事国成员的2/3以上同意才可实行。

图7为本发明基于区块链的域名存储方法实施例2的方法流程图。

参见图7,该基于区块链的域名存储方法,包括:

步骤701:向区块链的各个节点广播域名存储请求;所述域名存储请求被广播至区块链内的各个节点;

步骤702:获取具有验证权限的节点反馈的第一验证结果;当所述第一验证结果为同意的数量超过预设阈值时则生成联名同意背书广播至区块链的各个节点;

步骤703:获取具有验证权限的节点反馈的第二验证结果并生成新的区块存储所述域名,当所述第二验证结果为承诺更新数据的数量超过预设阈值时则生成联名承诺背书广播至区块链的各个节点,使各个节点生成新的区块存储所述域名。

下面以国际域名存储作为具体实施方式进行详细说明。

该具体实施方式为应用于实施例1的系统的实时方式。具体过程如下:

由首先进入域名联盟的国家创建第一个区块(创世块),将本国的国家域名资源记录经过哈希保存在创世块之中,之后加入联盟的国家向域名联盟发布自己所持有的国家域名信息,并接受其他成员的决策,域名联盟使集体内的所有决策达成共识,实现所有成员信息同步。管理方案由以下4个关键步骤组成。

通知阶段:国家域名服务器向域名联盟就所持的国家域名发起数据更新。

同意阶段:数据更新申请在域名联盟内广播,由所有其他国家域名服务器对数据更新内容的合法性做检查,其他国家域名服务器对通过检查的更新请求签名为“同意”并回复给发起者。发起更新请求的国家根收集足够数量的“同意”并将这些“同意”合并为“联名同意背书”后广播;若发起更新请求的国家域名没有收集到足够数量的“同意”,则默认此次国家域名数据更新行为被国家域联盟否决,终止后续操作。

更新阶段:收到“联名同意背书”的其他国家域名服务器向发起请求的国家域名服务器回复“承诺”,承诺按照其申请内容更新数据,创立新的区块。发起更新请求的国家根收集足够数量的“承诺”并将这些“承诺”合并为“联名承诺背书”后广播。

确认阶段:收到“联名更新承诺”的其他国家域名服务器更新数据

经过上述4个步骤,国家域名数据可以在所有国家域名服务器共同管理的情况下达成一致。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

去中心化:基于区块链的完全去中心化。由国家域名服务器承担的解析服务完全自主,不依赖iana。国家域名服务器及域名联盟在域名解析上提供保障。国家域名地位通过域名联盟得到了提升,增加了自主性。

开放与平等:所有国家自愿加入和退出域名联盟,不存在壁垒。同时域名联盟将会面向互联网上所有递归解析器开放,即向所有互联网用户开放。新体系中域名联盟成员之间关系平等,不存在层级关系。

安全可信:采用非对称密码学原理对数据加密,借助sha-256算法的强大算力来抵御外部攻击、保证区块链数据不可篡改伪造。

对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1