著录项信息
专利名称 | 基于区块链公链的域名分配和管理方法及系统 |
申请号 | CN202110883355.X | 申请日期 | 2021-08-02 |
法律状态 | 实质审查 | 申报国家 | 暂无 |
公开/公告日 | 2021-08-31 | 公开/公告号 | CN113329106A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/12 | IPC分类号 | H;0;4;L;2;9;/;1;2;;;G;0;6;F;1;6;/;2;7查看分类表>
|
申请人 | 域世安(北京)科技有限公司 | 申请人地址 | 北京市海淀区上地三街9号C座七层C407
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 域世安(北京)科技有限公司 | 当前权利人 | 域世安(北京)科技有限公司 |
发明人 | 李万胜 |
代理机构 | 北京中和立达知识产权代理事务所(普通合伙) | 代理人 | 孟姣 |
摘要
本发明是关于一种基于区块链公链的域名分配和管理方法及系统,系统包括:域名区块链公链,包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名;域名区块链钱包,用于根据接收到的域名管理指令,发送对应的域名管理请求至所述主节点,以使所述主节点根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令。
1.一种基于区块链公链的域名分配和管理系统,其特征在于,所述系统包括:
域名区块链公链,包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名;
域名区块链钱包,用于根据接收到的域名管理指令,发送对应的域名管理请求至所述主节点,以使所述主节点根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令。
2.根据权利要求1所述的系统,其特征在于,
当所述主节点接收到域名区块链钱包发送的域名注册指令时,确定所述域名区块链钱包要注册的域名类别;
当所述域名类别为公共域名时,按照公共域名的数字货币价格从所述域名区块链钱包中扣除相应数量的数字货币,并为其分配目标公共域名;
当所述域名类别为自治域名时,确定所述自治域名所属的公共域名,并根据所属公共域名下自治域名的数字货币价格,从所述域名区块链钱包中扣除相应数量的数字货币,并为其分配目标自治域名,其中,各自治域名下的域名注册和管理服务由自治域名管理者进行提供和维护。
3.根据权利要求1所述的系统,其特征在于,
所述主节点接收公共域名的域名区块链钱包发送的公共域名配置文件,或自治域名的域名区块链钱包发送的自治域名配置文件,将所述公共域名配置文件和自治域名配置文件通过区块链方式广播到所有域名区块链的节点,并在共识成功后,进行打包出块;其中,所述公共域名配置文件包括所述公共域名下所有自治域域名的注册/续费的数字货币价格,所述公共域名所配备的唯缓存服务器的AIP信息,其中,AIP信息包括以下至少一项:IPv4地址信息、IPv6地址信息和区块链钱包地址信息。
4.根据权利要求1所述的系统,其特征在于,
域名区块链公链上存储的数据包括:区块链的区块头、区块体、自治域名全局状态数据、公共域名全局状态数据、域名区块链钱包的账号全局状态数据、所有交易数据和辅助数据;
其中,所述区块头中存储有以下信息:
前向区块的Hash值信息、时间戳信息、区块高度信息、域名区块链钱包的账号全局状态、自治域名全局状态、公共域名全局状态和交易root;
其中,所述公共域名全局状态包括所有已注册的公共域的域名,每个公共域的域名包括以下信息:公共域名名称、域名所有者、域名有效期、域名地址码和AIP信息;
所述自治域名全局状态包括所有已注册的自治域的域名,每个自治域的域名包括以下信息:自治域名名称、域名所有者、域名有效期、所属公共域名Hash值和自治域名配置文件的条目root;
所述账号全局状态包括所有域名区块链钱包对应的账号的状态,每个账号的状态包括以下信息:该账号下产生的交易次数、账号数字货币的余额、存储root、代码Hash值和域名root;
所述区块体中存储有交易列表。
5.根据权利要求4所述的系统,其特征在于,所述系统还包括:
同步服务节点,用于将域名区块链公链上的数据同步至请求节点对应的存储空间,同步服务器节点与辅助节点具备除共识之外的所有功能,其中,将请求节点到达所述同步服务节点所有路径中包含网络节点和设备最少的安全域定义为最小安全域,最小安全域内的数据交互是安全可靠的。
6.根据权利要求5所述的系统,其特征在于,
所述同步服务节点的类型包括:超级节点、全节点、轻节点、域名节点和mini节点,其中,
所述超级节点中存储有域名区块链公链上的全部数据,并且参与区块链域名的事务管理,具有发起提案和投票功能;
所述全节点中存储有域名区块链公链上的全部数据,不参与区块链域名的事务管理;
所述轻节点中存储有区块链的区块头、自治域名全局状态数据、公共域名全局状态数据、域名区块链钱包的账号全局状态数据、所有交易数据和辅助数据;
所述域名节点中存储有区块链的区块头、自治域名全局状态数据、公共域名全局状态数据和所有交易数据;
所述mini节点中存储有区块链的区块头和公共域名全局状态数据。
7.根据权利要求1所述的系统,其特征在于,
所述域名区块链公链中的每个节点通过区块链智能合约对每个提案进行网上表决,其中,每个提案均为一个区块链交易,每个节点通过其对应的域名区块链钱包对提案进行投票,所有投票结果通过所述智能合约进行运算决策,决策结果作为一条新建或修改的规则,存储至所述域名区块链公链上,其中,主节点和辅助节点通过选举产生,所述主节点用于提出提案和进行投票,所述辅助节点仅进行投票。
8.根据权利要求1所述的系统,其特征在于,
不同的域名区块链钱包之间通过源生的区块链交易进行域名的转让,通过区块链智能合约进行拍卖和定制需求开发。
9.一种基于区块链公链的域名分配和管理方法,其特征在于,所述方法包括:
域名区块链钱包根据接收到的域名管理指令,发送对应的域名管理请求至域名区块链公链,以使所述域名区块链公链,根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令;
其中,区块链公链包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求9中所述方法的步骤。
基于区块链公链的域名分配和管理方法及系统\n技术领域\n[0001] 本发明涉及域名管理技术领域,尤其涉及一种基于区块链公链的域名分配和管理方法及系统。\n背景技术\n[0002] 域名是由一串用点分隔的名字组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的地理位置。域名可分为不同级别,包括根域名、顶级域名和应用域名。其中,根域名是最高一级的域名节点,比如,域名“.”就是根域名;顶级域名包括国家顶级域名和国际顶级域名,比如,域名“.com.”就是顶级域名;应用域名是指顶级域名之下的域名,比如,域名中的“.abc.com.”或“www.abc.com.”就是应用域名。\n[0003] 域名注册是互联网中用于解决地址对应问题的一种方法。现有技术中,注册人通常是在网域名称系统(Domain Name System,DNS)系统中进行域名注册,但是DNS系统作为一个中心化的多层级系统,本质上是由互联网名称与数字地址分配机构(The \nInternetCorporation for Assigned Names and Numbers,ICANN)控制的,也就是说,域名注册的过程本质上也是由ICANN控制的。这种由一个组织统一控制的方式违背了互联网的中立性原则,对于参与和提供网络服务的各方而言,都存在着可能被ICANN限制和屏蔽的风险,进而影响参与和提供网络服务的各方的网络安全。\n发明内容\n[0004] 为克服相关技术中存在的问题,本发明提供一种基于区块链公链的域名分配和管理方法和系统。\n[0005] 根据本发明实施例的第一方面,提供一种基于区块链公链的域名分配和管理系统,所述系统包括:\n域名区块链公链,包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名;\n域名区块链钱包,用于根据接收到的域名管理指令,发送对应的域名管理请求至所述主节点,以使所述主节点根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令。\n[0006] 在一个实施例中,优选地,当所述主节点接收到域名区块链钱包发送的域名注册指令时,确定所述域名区块链钱包要注册的域名类别;\n当所述域名类别为公共域名时,按照公共域名的数字货币价格从所述域名区块链钱包中扣除相应数量的数字货币,并为其分配目标公共域名;\n当所述域名类别为自治域名时,确定所述自治域名所属的公共域名,并根据所属公共域名下自治域名的数字货币价格,从所述域名区块链钱包中扣除相应数量的数字货币,并为其分配目标自治域名,其中,各自治域名下的域名注册和管理服务由自治域名管理者进行提供和维护。\n[0007] 在一个实施例中,优选地,所述主节点接收公共域名的域名区块链钱包发送的公共域名配置文件,或自治域名的域名区块链钱包发送的自治域名配置文件,将所述公共域名配置文件和自治域名配置文件通过区块链方式广播到所有域名区块链的节点,并在共识成功后,进行打包出块;其中,所述公共域名配置文件包括所述公共域名下所有自治域域名的注册/续费的数字货币价格,所述公共域名所配备的唯缓存服务器的AIP信息,其中,AIP信息包括以下至少一项:IPv4地址信息、IPv6地址信息和区块链钱包地址信息。\n[0008] 在一个实施例中,优选地,域名区块链公链上存储的数据包括:区块链的区块头、区块体、自治域名全局状态数据、公共域名全局状态数据、域名区块链钱包的账号全局状态数据、所有交易数据和辅助数据;\n其中,所述区块头中存储有以下信息:\n前向区块的Hash值信息、时间戳信息、区块高度信息、域名区块链钱包的账号全局状态、自治域名全局状态、公共域名全局状态和交易root;\n其中,所述公共域名全局状态包括所有已注册的公共域的域名,每个公共域的域名包括以下信息:公共域名名称、域名所有者、域名有效期、域名地址码和AIP信息;\n所述自治域名全局状态包括所有已注册的自治域的域名,每个自治域的域名包括以下信息:自治域名名称、域名所有者、域名有效期、所属公共域名Hash值和自治域名配置文件的条目root;\n所述账号全局状态包括所有域名区块链钱包对应的账号的状态,每个账号的状态包括以下信息:该账号下产生的交易次数、账号数字货币的余额、存储root、代码Hash值和域名root;\n所述区块体中存储有交易列表。\n[0009] 在一个实施例中,优选地,所述系统还包括:\n同步服务节点,用于将域名区块链公链上的数据同步至请求节点对应的存储空\n间,同步服务器节点与辅助节点具备除共识之外的所有功能,其中,将请求节点到达所述同步服务节点所有路径中包含网络节点和设备最少的安全域定义为最小安全域,最小安全域内的数据交互是安全可靠的。\n[0010] 在一个实施例中,优选地,所述同步服务节点的类型包括:超级节点、全节点、轻节点、域名节点和mini节点,其中,\n所述超级节点中存储有域名区块链公链上的全部数据,并且参与区块链域名的事务管理,具有发起提案和投票功能;\n所述全节点中存储有域名区块链公链上的全部数据,不参与区块链域名的事务管理;\n所述轻节点中存储有区块链的区块头、自治域名全局状态数据、公共域名全局状态数据、域名区块链钱包的账号全局状态数据、所有交易数据和辅助数据;\n所述域名节点中存储有区块链的区块头、自治域名全局状态数据、公共域名全局状态数据和所有交易数据;\n所述mini节点中存储有区块链的区块头和公共域名全局状态数据。\n[0011] 在一个实施例中,优选地,所述域名区块链公链中的每个节点通过区块链智能合约对每个提案进行网上表决,其中,每个提案均为一个区块链交易,每个节点通过其对应的域名区块链钱包对提案进行投票,所有投票结果通过所述智能合约进行运算决策,决策结果作为一条新建或修改的规则,存储至所述域名区块链公链上,其中,主节点和辅助节点通过选举产生,所述主节点用于提出提案和进行投票,所述辅助节点仅进行投票。\n[0012] 在一个实施例中,优选地,不同的域名区块链钱包之间通过源生的区块链交易进行域名的转让,通过区块链智能合约进行拍卖和定制需求开发。\n[0013] 根据本发明实施例的第二方面,提供一种基于区块链公链的域名分配和管理方法,所述方法包括:\n域名区块链钱包根据接收到的域名管理指令,发送对应的域名管理请求至域名区块链公链,以使所述域名区块链公链,根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令;\n其中,区块链公链包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名。\n[0014] 根据本发明实施例的第三方面,提供一种基于区块链公链的域名分配和管理系统,所述系统包括:\n处理器;\n用于存储处理器可执行指令的存储器;\n其中,所述处理器被配置为:\n域名区块链钱包根据接收到的域名管理指令,发送对应的域名管理请求至域名区块链公链,以使所述域名区块链公链,根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令;\n其中,区块链公链包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名。\n[0015] 根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面中任一项所述方法的步骤。\n[0016] 本发明的实施例提供的技术方案可以包括以下有益效果:\n本发明的实施例中,自治域与公共域的划分,简化了域名的逻辑拓扑结构。以区块链交易的方式注册,交易,配置域名,简化了域名分配和管理过程。将域名区块链设计为一个状态机,以状态修改的方式管理所有的自治域域名,公共域域名,并以hash值的方式校验数据的可靠性,保证数据在传输过程中域名信息不会被篡改。以DAO的方式治理域名的相关事务,取代线下治理,取代一家霸权管理的模式。通过区块链钱包的私钥签名的方式,可以去中心化的转移域名的所有权,与数字货币转账逻辑一样。通过区块链智能合约进行去中心化的,安全可靠的,自动化的智能的域名买卖和拍卖。最小安全域的设计,为DNS解析提供加密方式和网络架构的设计方案,该方案比当前最新发布的DOT或者DOH方案更加安全。本方案通过非秘钥交换的方式进行对称加密秘钥的生成,以及基于该秘钥进行互联网数据交互的方式,可以直接替代CA中心和CA证书。本发明将同步区块链的节点分为:超级节点,全节点,轻节点,域名节点,mini节点;所有这些节点的分类设计,为不同场景在保证绝对安全的前提下,提供了不同的数据同步方案,也提供了不同的功能。基于点对点加密的数据通讯,增加时间戳以防止重放攻击。\n[0017] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。\n附图说明\n[0018] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。\n[0019] 图1是根据一示例性实施例示出的一种基于区块链公链的域名分配和管理系统的框图。\n[0020] 图2是根据一示例性实施例示出的一种区块链域名的示意图。\n[0021] 图3是根据一示例性实施例示出的一种公共域名注册或续费流程图。\n[0022] 图4是根据一示例性实施例示出的一种域名区块链公链示意图。\n[0023] 图5是根据一示例性实施例示出的一种域名区块链公链的数据内容示意图。\n[0024] 图6是根据一示例性实施例示出的一种自治域全局状态示意图。\n[0025] 图7是根据一示例性实施例示出的交易广播流程示意图。\n[0026] 图8是根据一示例性实施例示出的域名转让流程示意图。\n[0027] 图9是根据一示例性实施例示出的同步服务节点参与同步的流程示意图。\n具体实施方式\n[0028] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。\n[0029] 图1是根据一示例性实施例示出的一种基于区块链公链的域名分配和管理系统的框图,如图1所示,该系统包括:\n域名区块链公链11,包括主节点111和辅助节点112,所述主节点111用于参与区块链域名的事务管理和区块链共识,所述辅助节点112用于参与区块链共识,其中,如图2所示,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名;\n域名区块链钱包12,用于根据接收到的域名管理指令,发送对应的域名管理请求至所述主节点,以使所述主节点根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令。\n[0030] 在一个实施例中,优选地,当所述主节点接收到域名区块链钱包发送的域名注册指令时,确定所述域名区块链钱包要注册的域名类别;\n当所述域名类别为公共域名时,按照公共域名的数字货币价格从所述域名区块链钱包中扣除相应数量的数字货币,并为其分配目标公共域名;\n公共域名所有者通过域名区块链钱包,以区块链交易的方式,设定该公共域下的相关配置。当交易被所有区块链节点确认并共识之后,配置修改成功。该配置包括:该域下所有自治域域名的注册/续费价格, 唯缓存服务器的AIP信息(AIP信息指的是:IPv4地址/IPv6地址/区块链钱包地址)。该类配置存放在区块链网络中并允许所有人查看,所有价格均以本系统的数字货币表示。唯缓存服务器是由公共域名所有者负责建设和维护的,该服务器仅仅同步区块链内容,不参与区块链数据的修改和管理,同时通过较好的硬件配置较高的网络服务,提高区块链数据的对外查询性能。\n[0031] 当所述域名类别为自治域名时,确定所述自治域名所属的公共域名,并根据所属公共域名下自治域名的数字货币价格,从所述域名区块链钱包中扣除相应数量的数字货币,并为其分配目标自治域名,其中,各自治域名下的域名注册和管理服务由自治域名管理者进行提供和维护。\n[0032] 自治域名注册者需要首先选定所属公共域,然后再在该域下选择域名进行注册。\n注册时注册者通过域名区块链钱包,支付一定的数字货币费用,并录入自己需要注册的域名全称。如果注册成功,则自治域的管理人员可以搭建相关服务器和网络设备,并通过域名区块链钱包,修改该自治域下的配置,该配置通过区块链的方式广播到全网。该配置内容将会在下面章节详细展开。在自治域网络搭建成功之后,该域下的所有子域名或者网络中的其它网络节点,以及相关标识或者名称服务器均由自治域内的管理员进行管理,自治域所有者负责对外提供该自治域下所有节点的AIP地址等信息的查询。\n[0033] 本技术方案下,网络域名的网络拓扑变为两层三个角色:区块链网络层:由64个主节点和128个辅助节点组成,主节点用于参与域名网络的事务管理和区块链共识,辅助节点负责区块链共识。通常情况下,所有节点的主机(包括主节点和辅助节点)都有多个从属服务器,负责缓冲网络区块链同步请求,但该设计作为可选性,不作为本次专利讨论的范围。\n[0034] 自治域层:自治域层有2类网络服务,第一类唯缓存服务,该类服务器作为公共域名所有者建立的服务网络,为缓解区块链网络层的访问而设计,该类服务器的AIP配置信息可以通过区块链同步,也可以通过任何公开的网络渠道广播给使用者,属于公共免费服务;\n第二类为自治域的网络服务,该服务由自治域所有者提供的网络服务,该自治域下可以是互联网的网络服务,可以是一个工厂内部的设备管理局域网,可以是一所学校的校内网,也可以是一组自动驾驶的汽车组成的虚拟网络。自治域管理者负责提供外部网络访问域内节点的服务,也提供内部节点之间的互相访问。\n[0035] 传统的顶级域名的分配和管理,注册人需要通过多级中间环节注册,并且每一个环节都要向上一个环节支付管理费用。注册局和注册商由ICANN统一分配和管理,完全是线下的人工处理方式, 注册局的个数和职能完全由ICANN机构通过人工来运营和维护,顶级域名的内容和使用方式也由ICANN来指定。\n[0036] 通过本方案的区块链技术,任何注册人都可以通过自己的区块链钱包注册顶级域名,即本系统的公共域名,只要注册人的区块链钱包中有足够的数字货币余额,这个注册过程中,支付费用与注册属于同一个过程,注册域名与支付数字货币费用属于同一个数据事务的原子操作。公共域注册的费用,通过区块链的数字货币的方式,平均分配给区块链网络中的各个节点的区块链钱包中。公共域名即顶级域名注册成功之后,注册人可以提供唯缓存服务器,该服务器是为了更好的解析自治域相关域名配置而设置,由公共域的注册人维护和管理,注册人也可以不提供这样的服务器,这完全取决于注册人对于本公共域的使用目的。\n[0037] 如果公共域的持有者希望更多的人来注册该域下的自治域域名,那么为了吸引大家的注册,提供更多更好的唯缓存服务器,可以提高该域下的自治域被访问的速度。这样越多的自治域域名注册,公共域的持有者会分得更多的数字货币奖励,每一个公共域下的自治域域名注册,公共域都可以分得一定的数字货币,且该域下的自治域的注册价格和续费价格是由公共域的持有者设置并且通过区块链公示在全网。\n[0038] 如果该公共域持有者属于集团公司或者大型的机构,那么该公共域可以关闭对外注册,仅提供本公共域所有者对该公共域下的自治域域名注册,此时公共域持有者仅仅提供内部节点之间的访问加速的唯缓存服务器即可。该配置可以公开到区块链网络中,也可以不配置到区块链中,而是通过其它已知安全的方式通知到该公共域下的其它自治域。\n[0039] 因此本方案,提高了域名注册的效率,简化了域名注册管理的成本,同时简化了域名费用的分账模式,注册成功即分账。\n[0040] 区块链中的所有域名配置和数据,只有注册人通过钱包可以修改,任何机构和个人,都无法修改该域名的注册内容,包括区块链各个区块链节点也无法修改注册人的域名信息。而传统的域名存储于管理权限归机构所有的传统数据库,虽然注册人可以通过账号登陆并修改器内容,但是如果发生域名纠纷,往往由机构来裁决域名的归属权,在很多不正当竞争环境下,弱势的域名持有者往往被机构强制执行权益转出,即只要修改相关数据内容即可改变域名所有权(现实世界已经发生类似纠纷)。而对于区块链域名,如果没有掌握注册人的区块链钱包,任何人都无法转移该域名的所有权,无法修改域名的配置信息。\n[0041] ICANN通过授权的方式管理各个顶级域名注册局,各个注册局通过商务合同管理各个代理机构和注册商,所有的规章制度都是通过文件或者合作条款的方式层层下达,并且通过线下实体会议,人工表决和处理域名系统内的各类事务。而对于区块链域名系统,每个区块链域名的节点(64主节点+128辅助节点)组成DAO(去中心化的自治组织),通过区块链智能合约,对提案进行网上表决,每一个提案都是一个区块链交易,所有节点通过区块链钱包对提案进行投票,投票本身也是一笔区块链交易,所有投票结果通过智能合约进行运算决策,决策的结果将作为一条新建或者修改的规则,存储在区块链上并供所有人查询,且无法篡改。提出建议的节点为主节点,辅助节点仅仅能够参与投票,但是主节点与辅助节点是经过选举产生的。可以通过新的选举提案,重新选举主节点,大家可以对新的主节点进行投票,这也是区块链域名治理活动的一部分。\n[0042] 在一个实施例中,优选地,所述主节点接收公共域名的域名区块链钱包发送的公共域名配置文件,或自治域名的域名区块链钱包发送的自治域名配置文件,将所述公共域名配置文件和自治域名配置文件通过区块链方式广播到所有域名区块链的节点,并在共识成功后,进行打包出块;其中,所述公共域名配置文件包括所述公共域名下所有自治域域名的注册/续费的数字货币价格,所述公共域名所配备的唯缓存服务器的AIP信息,其中,AIP信息包括以下至少一项:IPv4地址信息、IPv6地址信息和区块链钱包地址信息。\n[0043] 在一个实施例中,优选地,所述域名区块链公链中的每个节点通过区块链智能合约对每个提案进行网上表决,其中,每个提案均为一个区块链交易,每个节点通过其对应的域名区块链钱包对提案进行投票,所有投票结果通过所述智能合约进行运算决策,决策结果作为一条新建或修改的规则,存储至所述域名区块链公链上,其中,主节点和辅助节点通过选举产生,所述主节点用于提出提案和进行投票,所述辅助节点仅进行投票。\n[0044] 在一个实施例中,优选地,不同的域名区块链钱包之间通过源生的区块链交易进行域名的转让,通过区块链智能合约进行拍卖和定制需求开发。\n[0045] 例如,需要修改公共域名注册或者续费的价格,主节点可以发起一次提案,然后提案需要在x天内进行表决,所有节点享有表决权,表决的结果可以直接修改域名区块链的相关配置,该配置可以立即生效,也可以再某个区块高度之后生效。流程如图3所示。\n[0046] 通过DAO的治理模式,域名的规则不在由某一家机构指定,也不再需要线下商讨指定,直接通过这种自治组织,可以很好的实现去中心化的,平等的域名治理模式。\n[0047] 传统的域名注册与管理模式下,当域名与IP地址的配置关系发生变化时,该变化同步到全球需要10到48小时,而对于本技术方案,域名所有者可以通过一个区块链交易,修改域名对应的配置文件,而该交易天然的需要广播到所有区块链节点并进行共识,如果共识成功,也意味着交易被打包出块,也意味着配置修改成功。对于缓存节点,该打包成功的消息也自然被监听到,并自动同步该数据, 而该数据的共识时长需要2 30秒不等。这与传~\n统域名管理方式相比,效率会高很多。\n[0048] 内容同步安全级别不同,传统的DNS数据同步更新协议,没有安全机制,也没有感知数据错误和纠错的能力。而通过本技术方案,所有域名的同步,有对应的区块数据同步和区块数据校验过程,因此所有数据的同步都有自校验和自纠错的能力。\n[0049] 域名区块链是一个多网络节点构成的状态机,所有的交易都是修改状态机状态的操作。本技术方案设计3类数据的状态:公共域名的状态,自治域名的状态,账号状态。所有这些状态以及辅助数据,通过一定的数据结构组织和维护在区块链的区块头中,并且将修改以上状态的交易存储在区块体中。区块头与区块体共同成为一个数据区块,并通过一定的哈希运算,得到一个哈希数值,该数值将成为一下个区块的组成部分。通过以上机制,保证了所有区块链数据的公开可查又防止篡改的特性。\n[0050] 在一个实施例中,优选地,如图4所示,域名区块链公链上存储的数据包括:区块链的区块头、区块体、自治域名全局状态数据、公共域名全局状态数据、域名区块链钱包的账号全局状态数据、所有交易数据和辅助数据;\n其中,如图5所示,所述区块头中存储有以下信息:\n前向区块的Hash值信息、时间戳信息、区块高度信息、域名区块链钱包的账号全局状态、自治域名全局状态、公共域名全局状态和交易root;\n其中,时间戳:指当前区块生成时的时间;区块高度:表示当前区块的编号;账号全局状态:指账号全局状态运算的默克尔树的树根;自治域名全局状态:指自治域全局状态的默克尔树树根;公共域名全局状态数据:指公共域全局状态的默克尔树的树根;交易数据:\n指所有交易的默克尔树的树根。\n[0051] 其中,所述公共域名全局状态包括所有已注册的公共域的域名,每个公共域的域名包括以下信息:公共域名名称、域名所有者、域名有效期、域名地址码和AIP信息;\n其中,公共域全局状态:所有的公共域进行默克尔树运算,将运算结果作为区块头的一部分,通过该HASH值,可以在同步域名数据时,校验数据是否被篡改。公共域全局状态由所有的已注册的公共域的域名状态组成,每个公共域域名的状态包含但不局限于以下字段:域名名称:该公共域名的字母表示,全部小写,所有登记注册时的字母全部转换为英文小写;所有者:注册该域名时钱包的地址;有效期:用区块高度表示,任何域名注册时,都按年收取数字货币费用,根据每年的费用价格,支付n年的持有费用之后,该有效期就会换算为区块高度,存储在公共域名状态中;地址码:表示区域的2个英文的国家字母缩写码,如果该公共域为全球域,则为“ww”;AIP地址1 4:最多四个aip地址,每个aip地址表示公共域下~\n对应的唯缓存服务器的配置:IPV4/IPV6/区块链地址三个元素,aip地址是可选内容,可以在申请注册时提交,也可以在随后通过区块链钱包发起的修改交易进行修改。\n[0052] 每一个公共域状态的创建,都是通过钱包发起的一笔交易完成,该类交易本系统定义为为A类交易,对公共域续费操作会修改公共域状态的有效期字段,如果超过有效期之后,被不同于当前公共域状态所有者的钱包地址进行续费,则所有者字段也会变更为最新的续费者的区块链钱包地址,对AIP地址、所有者和有效期的修改也被定义为A1类交易。\n[0053] 如图6所示,所述自治域名全局状态包括所有已注册的自治域的域名,每个自治域的域名包括以下信息:自治域名名称、域名所有者、域名有效期、所属公共域名Hash值和自治域名配置文件的条目root;\n其中,自治域全局状态:与公共域的结构一样,所有的自治域状态,通过默克尔树,组成自治域的全局状态,每个自治域的状态组成包含但不限于:自治域全称:自治域的完全表达,例如baidu.com;所有者:注册该域名的区块链钱包地址;有效期:自治域域名按年收取数字货币费用,根据注册者提供的数字货币计算时长,通过时长计算相应的区块链高度,该字段表示该域名过期的区块链高度;父域HASH:表示该自治域所属的公共域的域名的hash值;条目root:自治域下可以配置很多自治域配置项,配置项包含三个字段:类型,长度与类型对应的值,类型包含但不限于:IPv4地址,IPv6地址,mx邮箱IP,mx邮箱公钥,IPv4/IPv6公钥,区块链钱包地址,分布式存储地址,设备ID编号,自定义类型,这些配置条目将自治域域名作为索引,根据该索引可以查询域名对应的映射的内容,所有这些配置条目通过默克尔树组织起来,其hash树根即自治域条目root。\n[0054] 自治域全局状态通过交易进行修改,每一次申请创建自治域后者对自治域续费,该交易就会修改有效日期字段,像公共域域名一样,如果续费地址与当前地址不一致,也会修改所有者字段,该交易需要附加一定的数字货币作为支付域名管理的费用和支付公共域服务的费用,此类交易本方案中定义为B类交易,如果为自治域增加,删除,修改条目,也会修改自治域的状态,该类交易被定义为B1类交易。\n[0055] 所述账号全局状态包括所有域名区块链钱包对应的账号的状态,每个账号的状态包括以下信息:该账号下产生的交易次数、账号数字货币的余额、存储root、代码Hash值和域名root;\n账号全局状态:所有区块链账号如果发生过转账,都会在区块链上留存一个账号状态数据,所有的账号状态数据最后组成账号全局状态,与公共域全局状态一样,所有的账号状态通过默克尔树组织起来。账号状态内容包含但不局限于:nonce一个操作编号,表示该账号下产生的交易次数;余额:表示该账号下数字货币的余额;存储root:表示该账号下发生交易的通过默克尔树运算后的HASH值;代码Hash:表示如果该账号是一个智能合约,那么该hash值表示所有代码数据进行hash运算获得的hash值;域名root:表示该账号下拥有的所有域名进行默克尔树运算后的HASH值,该域名可以是自治域域名,也可以是公共域域名。\n[0056] 账号转账类型分为两种,一种是支付一定的数字货币,即数字货币转账交易,该类交易定义为C类交易,另一种是转移区块链域名的所有权,该类交易是在域名仍然有效并且账号所有者是当前账号地址的情况下才能发送,该类交易定义为D类交易。\n[0057] 所有区块链数据的变更都需要管理员解锁域名区块链钱包之后,录入对应的区块链域名信息,并设定一定的数字货币,然后将所有信息组合成为一种交易,不同的操作可生成不同的交易类型,在钱包的客户端需要区分这些交易类型并给出正确配置。\n[0058] 其中,区块链钱包的生成逻辑与现有区块链生成逻辑一致,主要区别在于,该钱包需要额外增加分辨交易类型的功能,然后用私钥对所有的交易进行签名并广播的区块链全部节点。\n[0059] 如图7所示,钱包生成某种交易之后,通过网络提交到区块链某节点,该节点将交易广播到全网并进行共识。如果共识成功,则区块链所有节点存储最新的区块链状态,并广播该事件到唯缓存服务器以及最小安全域的同步服务器。\n[0060] 所述区块体中存储有交易列表。\n[0061] 在该实施例中,区块链钱包不再局限于数字货币的转账功能,本技术方案将域名资产与数字资产一起管理,并且在某些场景下,数字货币余额的变动与域名资产的相关属性是原子操作,这与传统的区块链技术相比,本技术方案增加了对具有实际价值的数字资产的管理功能,与传统的域名管理系统相比,本技术方案将域名管理与支付费用合二为一,且公开透明可查。由于域名的注册,所有权变更以及缴费完全消除了中间环节,所有操作可以直达域名区块链系统,并通过修改区块链状态机的方式安全的实现各种操作。所以通过区块链智能合约可以去中心化的安全可靠的对域名的交易或者拍卖进行处理,而无需任何第三机构进行。如图8所示,账号A通过一个授权交易,将其账号下a.com域名以20bas的价格授权给智能合约去销售,其中bas是本技术方案使用的数字货币符号。账号B下有100bas,他通过一笔转账交易,将20bas转给智能合约,以购买a.com这个域名,智能合约收到20bas以及账号B的购买a.com的请求之后,合约将20bas转给账号A,同时将账号A下的a.com域名转账给账号B,由于A在第一步中授权了智能合约进行该操作,所以允许产生一笔更改域名所有者的交易,智能合约将以上2个交易提交到区块链各个节点进行共识。共识成功之后,将会修改区块链的账号全局状态和自治域全局状态,并将最新的状态以区块链的形式存储并广播给所有的区块链服务节点。整个过程交易过程,除了买卖双方,无任何中间机构或者认为操作,智能合约以代码的形式展示所有的交易规则且其规则不可篡改。该方式极大的提高了域名交易的安全性,减少了因为域名所有者变更引起的网络安全事故,彻底杜绝了域名掮客的中间暗箱操作,提高了交易的安全性。\n[0062] 如图9所示,在一个实施例中,优选地,所述系统还包括:\n同步服务节点,用于将域名区块链公链上的数据同步至请求节点对应的存储空\n间,同步服务器节点与辅助节点具备除共识之外的所有功能,其中,将请求节点到达所述同步服务节点所有路径中包含网络节点和设备最少的安全域定义为最小安全域,最小安全域内的数据交互是安全可靠的。\n[0063] 基于本技术方案,任何一个服务器都可以成为区块链的数据缓存节点,除去公共域提供的唯缓存服务器之外,任何人都可以使用开源的域名区块链同步代码,搭建属于各自的同步服务器,以方便本网络内网络节点的域名访问请求。同时同步服务不仅可以作为单独的服务节点存在,还可以成为操作系统的一个固定进程,随时同步区块链节点的最新数据,类似于Linux自带的named进程,所有的系统进行对域名的访问均可以通过系统内的进程间通信完成,而无需将网络请求发送到公开的网络中。为了描述具备同步服务器的网络,本系统定义了安全域和最小安全域两个新定义。\n[0064] 安全域:在域名请求节点所在的网络环境中,如果存在域名区块链的数据同步服务,则请求节点到达该服务过程中的所有网络设备与请求节点和同步服务共同组成一个安全域,并且请求节点获取同步服务器的AIP地址的方式是已知安全可靠,在理论上不存在对AIP地址篡改的。例如管理员分配,网络公共并被验证过等。\n[0065] 最小安全域:指请求节点到达同步服务器所有路径中包含网络节点和设备最少的安全域,对于内嵌在操作系统中的同步服务,请求节点到达同步服务的路径长度为0,是天然的最小安全域。对于图9中的B.baidu节点,因为该系统内嵌同步服务,因此B.baidu节点本身就是最小安全域;对于A.baidu该节点本身不具备同步服务进程,因此该节点与上层路由器以及最近的同步服务器构成最小安全域,如果B.baidu的同步服务进程提供对外查询,则他也可以与A.baidu节点以及路由器组成最小安全域。因此最小安全域的组合可以有多个,但是每一个最小域的同步服务的AIP地址必须是安全提供到请求节点的,例如A.baidu节点的同步服务器的AIP地址往往由系统管理员配置的。\n[0066] 如果最小安全域内的同步服务器是一个唯缓存服务器,则唯缓存服务器的AIP信息是通过公共域的官方渠道获取,否则会存在安全隐患。\n[0067] 随着域名区块链数据的增多,同步区块链数据会变成困难的事情,虽然数据越大安全等级越高,篡改数据的成本越高,但是对于大多数情况,交易数据本身对于大多数使用者是无意义的。因此本系统对同步服务节点类型进行了分类:超级节点,全节点,轻节点,域名节点,mini节点。\n[0068] 超级节点:超级节点指具有全部区块链数据,并且能够参与区块链系统管理的节点,目前只有64个主节点与128个辅助节点具备全节点的功能。区块链数据包含但不局限于:区块链的区块头,区块体,自治域域名全局状态数据,公共域全局状态数据,账号全局状态数据,所有交易数据,辅助数据。\n[0069] 全节点:与超级节点相比,全节点仅仅不具备参与管理域名体系的能力,即全节点的区块链地址不在DAO组织内,无法发起提案或者对提案进行投票,也不参与区块数据的共识过程。唯缓存节点建议使用全节点模式。\n[0070] 轻节点:与全节点相比,轻节点不存储区块链的区块体数据。\n[0071] 域名节点:与轻节点相比,域名节点不存储账号全局状态数据以及辅助数据。\n[0072] mini节点:与域名节点相比,mini节点不存储自治域全局状态数据,仅仅存储区块头与公共域全局状态数据。\n[0073] 超级节点由区块链的主节点和辅助节点的管理人员运维,全节点由公共域的所有者建设和维护,对于大部分ISP服务商,建议维护轻节点即可,对于大型组织内的内部网络结构,或者自治域的维护者,可以维护域名节点,对于大部分操作系统,仅仅使用系统进程维护mini节点即可。\n[0074] 在域名解析过程中,如果访问者需要进行安全的域名查询,则访问者至少在一个安全域内,且安全域的同步服务器至少满足mini节点配置。如果同步服务器的配置大于mini节点,则该配置内有可信的自治域配置数据,访问者以点对点加密的方式与自治域服务器进行交互,得到目的服务器的AIP信息,然后与目的服务器进行点对点的加密通讯。\n[0075] 访问者需要访问api.baidu.com的网络信息,第一步通过安全域内的同步服务器节点,获取baidu.com这个自治域里域名服务的AIP地址,在这个过程中,该安全域内的同步服务器的AIP信息是安全可靠的,访问者通过点对点加密的方式查询baidu.com这个自治域的域名信息。\n[0076] 当访问者获取baidu.com自治域的域名服务器AIP信息之后,通过点对点加密的方式,获取api.baidu.com这个自治域子域名的AIP信息,然后访问者可以再次通过点对点加密方式,与api.baidu.com节点进行数据交互。\n[0077] 如果访问者所在的安全域内仅有mini节点,则mini节点存储了可信的唯缓存服务器的AIP信息,访问者通过点对点加密方式与mini节点进行交互,安全获取唯缓存服务器的AIP信息,然后与唯缓存服务器重复上述查询过程,则最后达到安全查询域名信息以及安全数据交互的目的。整个的域名解析与数据交互过程都是加密的,且对中间人攻击免疫的。\n[0078] 所有的区块链节点,数据同步节点,唯缓存节点都具备一个区块链钱包,该钱包具备一个公钥,该公钥即为区块链地址,所有的客户端也具备一个区块链钱包,该钱包可以由系统生成并管理,也可以由用户自己创建和管理,例如操作系统可以通过用户的系统管理员口令生成一个系统级别的钱包,可以通过http浏览器,由用户手动创建和管理。\n[0079] 在客户端与服务器都具备了钱包之后,由于客户端通过上述区块链节点,安全了获取了服务器的公钥,则通过客户端的私钥与服务器的区块链地址(即公钥)生成一个对称加密秘钥key:Kc‑>s,客户端通过该key对访问数据进行加密,并将自己的区块链地址与加密数据一起提交给服务器;当服务器接收到以上数据之后,通过自己的私钥与客户端的区块链地址进行运算,获得一个对称加密秘钥可以:Ks‑>c,由于该key与客户端生成的对称加密私钥key是恒等的,所以服务器可以通过该key解密所有数据。\n[0080] 服务器的响应数据使用同样的方案加密数据,客户端使用已经生成的key解密响应数据,整个过程数据交互是加密的,且不存在秘钥交互过程,因此也不存在中间人攻击的可能。如果需要基于网络链接进行各自加密,可以通过为每一个网络链接生成一个随机数IV的方式,将该IV与对称加密秘钥key一起使用,为不同的网络链接创建不同的对称加密秘钥。为了防止重放攻击,可以在发起网络链接时的加密数据中增加当前系统时间戳,服务器可以根据该字段与当前服务器时间做对比,超出一定的容忍度可以视为重放攻击,将链接断开。\n[0081] 通过上述方案,可以实现以下有益效果:\n1)无需CA证书:传统的CA证书加密方案,首先需要服务器购买指定机构的CA证书,通过CA证书的方式,服务器与客户端通信时CA证书的内容可以证明 域名以及服务器公钥的合法性,再通过对随机数进行签名的方式,协商通讯过程中的对称加密秘钥。而本技术方案通过安全域获取到可信的服务提供者的区块链地址(即公钥)之后,即可立即生成数据通讯过程中的对称加密秘钥,该过程因为区块链的数据无法篡改的特性,天然的证明了服务器的安全性和可行性,如果对端服务器并不拥有该域名,则该服务器无法解密客户端提供请求数据。\n[0082] 2)无秘钥交换过程:由于本技术方案下,服务请求者可以通过自己的私钥与服务器的公钥生成加密key,因此无需以交互的方式协商数据加密key,因此可以完全杜绝中间人的攻击,中间人在无协商数据的情况下无法伪装成请求者与服务者,因此当数据流经中间人时已经是加密之后的数据。\n[0083] 3)查询流程减少,该模式下,服务请求者往往只需要请求最小安全域内的同步服务器,可以直接获取自治域下的AIP信息,然后直接进行加密访问,相对于传统的DNS查询过程更加快速且安全,对于加密模式下的DNS(Domain Name System,域名系统)查询:DOT(DNS over TLS)和DOH(DNS Over HTTPS)模式,本技术方案速度更加快且更加安全,DOT和DOH模式无法解决中间人攻击问题,且修改DOT后者DOH配置对于客户端是灾难性的问题。\n[0084] 根据本发明实施例的第二方面,提供一种基于区块链公链的域名分配和管理方法,所述方法包括:\n域名区块链钱包根据接收到的域名管理指令,发送对应的域名管理请求至域名区块链公链,以使所述域名区块链公链,根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令;\n其中,区块链公链包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名。\n[0085] 根据本发明实施例的第三方面,提供一种基于区块链公链的域名分配和管理系统,所述系统包括:\n处理器;\n用于存储处理器可执行指令的存储器;\n其中,所述处理器被配置为:\n域名区块链钱包根据接收到的域名管理指令,发送对应的域名管理请求至域名区块链公链,以使所述域名区块链公链,根据所述域名管理请求进行相应的区块链交易,其中,所述域名管理指令包括以下任一项:域名注册指令、域名续费指令和域名配置文件修改指令;\n其中,区块链公链包括主节点和辅助节点,所述主节点用于参与区块链域名的事务管理和区块链共识,所述辅助节点用于参与区块链共识,其中,所述区块链域名包括公共域名和自治域名,所述公共域名包括没有任何分隔符的域名,所述自治域名包括带有一个分隔符的域名。\n[0086] 根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面中任一项所述方法的步骤。\n[0087] 进一步可以理解的是,本发明中“多个”是指两个或两个以上,其它量词与之类似。\n“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。\n[0088] 进一步可以理解的是,术语“第一”、“第二”等用于描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。\n[0089] 进一步可以理解的是,本发明实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。\n[0090] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。\n[0091] 应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
法律信息
- 2021-09-17
实质审查的生效
IPC(主分类): H04L 29/12
专利申请号: 202110883355.X
申请日: 2021.08.02
- 2021-08-31
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |