CN114862397B - 一种基于双链结构的双解耦区块链分布式方法 - Google Patents
一种基于双链结构的双解耦区块链分布式方法 Download PDFInfo
- Publication number
- CN114862397B CN114862397B CN202210785676.0A CN202210785676A CN114862397B CN 114862397 B CN114862397 B CN 114862397B CN 202210785676 A CN202210785676 A CN 202210785676A CN 114862397 B CN114862397 B CN 114862397B
- Authority
- CN
- China
- Prior art keywords
- consensus
- transaction
- group
- block
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于双链结构的双解耦区块链分布式方法,涉及区块链的技术领域,包括:区块链包括多个节点以及由节点生成的区块,以通过共识组全部节点达成共识的交易区块所形成上层链,通过底层区块链的区块形成底层链,并在区块链中构建UTXO集数据结构,节点采用分片算法均匀随机的分配至共识组;节点发起跨共识组交易,利用区块公式将共识组交易进行广播至共识组,并判定跨共识组交易T是否为有效UTXO集数据结构;若有效,则进行跨共识组网络传播,并跨共识组交易所在的目的共识组与传播至的节点所在的共识组是否相同,若否,则跨共识组交易广播到跨共识组同步网络中。通过本发明的方法可以提高区块链共识机制的安全性,并提高共识机制的性能。
Description
技术领域
本发明涉及区块链的技术领域,尤其是涉及一种基于双链结构的双解耦区块链分布式方法。
背景技术
随着虚拟货币以及去中心化分布式架构的应用,各行各业都对区块链技术展开深入的研究。区块链技术构建了全新的信任体系,在无需借助可信第三方的情况下,实现互不信任的多方对等可信的价值传输,在产业融合的过程中,区块链技术吞吐量性能不足的问题引起工业界和学术界的共同关注。
当前区块链技术仍处于早期发展阶段,针对区块链吞吐量性能不足的问题, 学术界展开了深入研究。其中一点是:共识机制改进方案在一定程度上可以提升整个区块链网络的吞吐量,在区块链技术中,共识机制对保持区块链的安全性和效率起着至关重要的作用,可以说区块链共识机制的安全和性能影响着基于区块链技术的上层应用的安全和性能。另一点是跨共识组同步网络成为潜在的限制系统性能进一步提升的因素。
发明内容
有鉴于此,本发明的目的在于提供一种基于双链结构的双解耦区块链分布式方法,以提高区块链共识机制的安全性,并提高共识机制的性能,实现跨共识组网络同步。
本发明提供了一种基于双链结构的双解耦区块链分布式方法,应用于服务器,包括:
通过所述服务器形成区块链,所述区块链包括多个节点以及由节点生成的区块,以通过共识组全部节点达成共识的交易区块所形成上层链,通过底层区块链的区块形成底层链,并在所述区块链中构建UTXO集数据结构,所述节点采用分片算法均匀随机的分配至共识组;
所述节点包括普通节点以及共识节点;
所述节点发起跨共识组交易T =<q,$,b >,利用区块公式将所述共识组交易T =<q,$,b >进行广播至所述共识组,并判定所述跨共识组交易T是否为有效UTXO集数据结构;
若有效,则通过gossip协议进行跨共识组网络传播,并判断所述跨共识组交易T =<q,$,b >所在的目的共识组与传播至的节点所在的共识组是否相同;
若是,则接受交易;
若否,则通过 gossip协议跨共识组将该笔交易广播到跨共识组同步网络中;
其中,所述目的共识组是指交易接受方所在的共识组。
优选的,所述通过 gossip协议跨共识组将该笔交易广播到跨共识组同步网络中的步骤之后,所述方法还包括:
创建并广播第一状态区块Θ和第一交易区块Φ,在传播节点所在的共识组中处采用双重解耦操作共识协议以获取Nonce值。
优选的,所述节点发起跨共识组交易T =<q,$,b >的步骤之后,所述方法还包括:
生成中转交易ƒ=<ℳ,ℋ,$,b,s>;
将生成的中转交易ƒ=<ℳ,ℋ,$,b,s>广播至节点所在的共识组并同步至目的共识组,其中ℳ为初始交易T在状态区块链高度为ℋ的区块中的Merkle验证路径,s为目的共识组的索引值;
判定所述中转交易是否有效,若有效,则创建第二状态区块Θ以及第二交易区块Φ并在共识组内运行POW协议以获取Nonce值;
若共识组内存在节点成功计算Nonce值,则共识协议结束,节点将第二状态区块Θ通过 gossip 协议广播到节点所在跨共识组同步网络中。
优选的,所述交易区块的字段构成包括源钱包地址、目的钱包地址、交易ID、源共识组索引值和目的共识组索引值。
优选的,在所述通过底层区块链的区块形成底层链的步骤中:
所述底层区块链的区块包括数据区块以及共识区块;
所述数据区块内容为客户端生成的请求;
所述共识区块包括若干个数据区块的哈希指针。
优选的,所述在传播节点所在的共识组中处采用双重解耦操作共识协议以获取Nonce值的步骤包括:
共识节点接收请求并收集所述底层链中的 raw-request,并基于所述请求构建请求池,获取请求的哈希值并构建Merkle树;
利用所述Merkle树树根txMTR、预设的困难度Target,选取的随机数nonce,以及自己的身份ID作为输入创建所述数据区块,若所述数据区块的哈希值小于预设的困难度Target,则获得了创建数据区块的资格并将创建好的数据区块发送至所述共识节点并清空请求池;
共识节点响应于接收到的数据区块,对所述共识节点的合法性进行检验,若检验合法,则将所述数据区块存储。
优选的,所述共识节点响应于接收到的数据区块的步骤之后,所述方法还包括:
领导者令 seq = 1,并将底层链上记录的未处理的raw-request收集起来,当合法的数据区块数量和收集的raw-request数量之和大于τ时,τ为初始时设置的参数大小,领导者将该数据区块以及raw-request放入集合O。
优选的,所述方法还包括:
采用轮循思想,按照预先设定的顺序更换领导者,并当签名不一致时采取如下做法:
令LOG代表底层链上最后一个检查点所包含的最长连续共识区块链;
Mi将满足完成初步确认且不属于LOG的共识模块的哈希值,及对应的初步确认证据σ1放入集合Y;
Mi对Y做签名σi←Sig(ski,Y),并发送new-view消息<NEW-VIEW,v+1,(σi,Y)>给viewv+1的领导者Lv+1。
优选的,所述节点采用分片算法均匀随机的分配至共识组的步骤包括:
将所述节点的公钥信息进行全网广播,以使所述节点获取其他节点的公钥信息;
获取其他节点的公钥信息并按照由小到达的顺序排列以得到组合信息Pkaa并获取所述组合信息Pkaa获取哈希值isℎ_Pkaa;
基于所述哈希值isℎ_Pkaa作为随机数产生1到N的全排列,并基于1到N的全排列划分至不同的共识组。
本发明实施例带来了以下有益效果:本发明提供了一种基于双链结构的双解耦区块链分布式方法,包括:通过服务器形成区块链,区块链包括多个节点以及由节点生成的区块,以通过共识组全部节点达成共识的交易区块所形成上层链,通过底层区块链的区块形成底层链,并在区块链中构建UTXO集数据结构,节点采用分片算法均匀随机的分配至共识组;节点包括普通节点以及共识节点;节点发起跨共识组交易T =<q,$,b >,利用区块公式将共识组交易T =<q,$,b >进行广播至上层链,并判定跨共识组交易T是否为有效UTXO集数据结构;若有效,则通过gossip协议进行跨共识组网络传播,并判断跨共识组交易T =<q,$,b >所在的目的共识组与传播至的节点所在的共识组是否相同,若是,则接受交易;若否,则通过 gossip协议跨共识组将该笔交易广播到跨共识组同步网络中;其中,目的共识组是指交易接受方所在的共识组。通过本发明的方法可以提高区块链共识机制的安全性,并提高共识机制的性能,实现跨共识组网络同步。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于双链结构的双解耦区块链分布式方法的流程图;
图2为本发明实施例提供的一种基于双链结构的双解耦区块链分布式方法的UTXO内存结构设计示意图;
图3为本发明实施例提供的一种基于双链结构的双解耦区块链分布式方法的双链架构下共识协议示意图;
图4为本发明实施例提供的一种基于双链结构的双解耦区块链分布式方法的共识区块和数据区块示意图;
图5为本发明实施例提供的一种基于双链结构的双解耦区块链分布式方法的领导者签名不一致数据图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,区块链技术中,共识机制对保持区块链的安全性和效率起着至关重要的作用,可以说区块链共识机制的安全和性能影响着基于区块链技术的上层应用的安全和性能。另一点是跨共识组同步网络成为潜在的限制系统性能进一步提升的因素,基于此,本发明实施例提供的一种基于双链结构的双解耦区块链分布式方法,可以提高区块链共识机制的安全性,并提高共识机制的性能,实现跨共识组网络同步。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于双链结构的双解耦区块链分布式方法进行详细介绍。
实施例一:
结合图1本发明提供了一种基于双链结构的双解耦区块链分布式方法,具体包括如下步骤:
结合图2,以及图3通过所述服务器形成区块链,所述区块链包括多个节点以及由节点生成的区块,以通过共识组全部节点达成共识的交易区块所形成上层链,通过所述底层区块链的区块形成底层链,并在所述区块链中构建UTXO集数据结构,所述节点采用分片算法均匀随机的分配至共识组;人为将系统划分为多个共识组且区块通过自身节点参与共识组的形成,共识组不止有块,广义上是几个机器节点组成。
需要说明的是,协议利用底层链对当前领导者状态进行周期性检查,将这条底层区块链记作underchain。underchain由矿工节点运行区块链共识协议进行维护,且underchain对网络中所有节点是公开可见。为保证协议正常运行,underchain初始块记录n个共识节点的身份及对应的门限签名公钥(tpk,{tpki}n)。除初始块外,其他underblock的内容包括得到共识节点确认的检查点,以及由客户端提交的请求。
共识区块由共识节点通过解决PoW难题来创建,其内容为BFTblock:BFTblock包含一个哈希指针集合。一般来说,BFTblock包含数据区块和未处理的raw-request的哈希指针。
上层链:Log-chain由一系列达到完全确认状态的BFTblock组成,其中BFTblock的排列顺序依赖于其id值,分别按照view和seq取值从小到大进行排列。
进一步的,位于上层的上层链以view为运行单位,位于下层的底层链以轮为运行单位。view和轮的计数均从1开始逐进行递增。协议的参与方包括共识节点和矿工节点。共识节点在协议运行前被确定,其数量为n=3f+1。其中,n个共识节点中存在不超过f个拜占庭节点,以及n−f个诚实的共识节点。根据round-robin的方式,协议指定唯一一个共识节点担任当前view的领导者。共识节点运行协议,对领导者提出的共识区块进行共识,从而生成一条log-chain。矿工节点由网络中节点组成,其功能在于维护底层的区块链,即underchain。
检查点:检查点是由领导者产生用于表明当前领导者状态并最终被记录在underchain的一类特殊消息。
•New-view消息:New-view消息由共识节点在view-change阶段的开始时刻产生。
客户端生成的请求:共识节点接收到客户端发送的请求,并将请求添加至其请求池request-pool。
所述节点包括普通节点以及共识节点。
所述节点发起跨共识组交易T =<q,$,b >,利用区块公式将所述共识组交易T =<q,$,b >进行广播至所述共识组,并判定所述跨共识组交易T是否为有效UTXO集数据结构。
进一步的,在本发明提供的实施例中,新增加如下5个字段:
源钱包地址、目的钱包地址、交易ID、源共识组索引值和目的共识组索引值。
源共识组索引值是发起交易的节点所在共识组的索引值,同理目的共识组索引值是交易接受方所在共识组的索引值。源钱包地址是发起交易的节点的钱包地址,目的钱包地址是交易接收方的钱包地址。
交易ID,用于唯一标识一笔交易,是交易结构中除交易ID字段外其余字段信息的哈希值,交易ID的增加是为了在新设计的UTXO集数据结构中以交易为基本单位进行未花费交易的检索。
源钱包地址和目的钱包地址的增加也是在新设计的UTXO集数据结构的基础上,方便快速检索和添加交易数据而增加的字段。
若有效,则通过gossip协议进行跨共识组网络传播,并判断所述跨共识组交易T =<q,$,b >所在的目的共识组与传播至的节点所在的共识组是否相同。若是,则接受交易;若否,则通过 gossip协议跨共识组将该笔交易广播到跨共识组同步网络中。
优选的,所述通过 gossip协议跨共识组将该笔交易广播到跨共识组同步网络中的步骤之后,所述方法还包括:
创建并广播第一状态区块Θ和第一交易区块Φ,在传播节点所在的共识组中处采用双重解耦操作共识协议以获取Nonce值。
优选的,在所述节点发起跨共识组交易T =<q,$,b >时,所述方法还包括:
生成中转交易ƒ=<ℳ,ℋ,$,b,s>;
将生成的中转交易ƒ=<ℳ,ℋ,$,b,s>广播至节点所在的共识组并同步至目的共识组,其中ℳ为初始交易T在状态区块链高度为ℋ的区块中的Merkle验证路径,s为目的共识组的索引值。
判定所述中转交易是否有效,若有效,则创建第二状态区块Θ以及第二交易区块Φ并在共识组内运行POW协议以获取Nonce值。
若共识组内存在节点成功计算Nonce值,则共识协议接收,节点将第二状态区块Θ通过 gossip 协议广播到节点所在跨共识组同步网络中。
结合图4,优选的,所述交易区块的字段构成包括源钱包地址、目的钱包地址、交易ID、源共识组索引值和目的共识组索引值。
优选的,在所述通过底层区块链的区块形成底层链的步骤中:
所述底层区块链的区块包括数据区块以及共识区块。
所述数据区块内容为客户端生成的请求。
所述共识区块包括若干个数据区块的哈希指针。
优选的,所述在传播节点所在的共识组中处采用双重解耦操作共识协议以获取Nonce值的步骤包括:
共识节点接收请求并收集所述中的底层链中的 raw-request,并基于所述请求构建请求池,获取请求的哈希值并构建Merkle树。
利用所述Merkle树树根txMTR、预设的困难度Target,选取的随机数nonce,以及自己的身份ID作为输入创建所述数据区块,若所述数据区块的哈希值小于预设的困难度Target,则获得了创建数据区块的资格并将创建好的数据区块发送至所述共识节点并清空请求池。
共识节点响应于接收到的数据区块,对所述共识节点的合法性进行检验,若检验合法,则将所述数据区块存储。
优选的,所述共识节点响应于接收到的数据区块的步骤之后,所述方法还包括:
领导者令 seq = 1,并将底层链上记录的未处理的raw-request收集起来,当合法的数据区块数量和收集的raw-request数量之和大于τ时,τ为初始时设置的参数大小,领导者将这数据区块以及raw-request放入集合O。
进一步的,领导者Lv从共识节点处接收datablock,同时将underchain上记录的未处理的raw-request收集起来。其中,datablock 由共识节点通过解决 POW 难题来创建,其内容为客户端生成的请求;本提案的协议利用底层区块链对当前领导者状态进行周期性检查,将这条底层区块链记作underchain。underchain由矿工节点运行区块链共识协议进行维护,且underchain对网络中所有节点是公开可见。为保证协议正常运行,underchain初始块记录n个共识节点的身份及对应的门限签名公钥(tpk,{tpki}n)。除初始块外,其他underblock的内容包括得到共识节点确认的检查点,以及由客户端提交的请求。
当合法datablock数量和收集的raw-request数量之和大于τ时,τ为初始时设置的参数大小,领导者将这些datablock以及raw-request放入集合O,并执行下列操作。
创建请求m=(BFTblock,(v,seq),ℓ,ct),其中ℓ为创建请求m时un-derchain的长度,ct为包含所有O中元素的哈希结果的集合。其中,BFTblock包含一个哈希指针集合。一般来说,BFTblock包含数据区块和未处理的raw-request的哈希指针。
优选的,所述方法还包括:
结合图5,采用轮循思想,按照预先设定的顺序更换领导者,并当签名不一致时采取如下做法:
令LOG代表underchain上最后一个检查点所包含的最长连续BFTblock链。
Mi将满足完成初步确认且不属于LOG的共识模块的哈希值,及对应的初步确认证据σ1放入集合Y。
Mi对Y做签名σi←Sig(ski,Y),并发送new-view消息<NEW-VIEW,v+1,(σi,Y)>给viewv+1的领导者Lv+1。
当收到seq=0的BFTblock消息m=(σ2,m′)时:验证TVrf(tpk,σ2,m′)→1;将m′的ct中每一条new-view消息分别作为算法2的输入,判断是否均返回1。
优选的,所述节点采用分片算法均匀随机的分配至共识组的步骤包括:
将所述节点的公钥信息进行全网广播,以使所述节点获取其他节点的公钥信息。
获取其他节点的公钥信息并按照由小到达的顺序排列以得到组合信息Pkaa并获取所述组合信息Pkaa获取哈希值isℎ_Pkaa。
基于所述哈希值isℎ_Pkaa作为随机数产生1到N的全排列,并基于1到N的全排列划分至不同的共识组。
实施例二:
本提案引入一条底层链作为对领导者行为的“监控器”,以达到对领导者进行监督目的,区块链记录着表明领导者当前状态的证据,此证据由领导者周期性产生。
本发明实施例二对前述双链解耦做了进一步阐述,一个合法的证据需要在共识节点间得到共识并记录在作为监控器的区块链上。利用区块链的公开可读性,证明可被任意节点查阅。若区块链上存在证据表明了当前领导者出现不良情况,则此证据可用于触发共识协议的view-change判断条件,使共识节点一致性的进入到view-change阶段。
本发明提供的实施例中,对m做门限签名σLv← TSig(tsk Lv , m),并将(σ Lv , m)发创建请求m1=(BFTblock,(v,seq),ℓ,ct),其中ℓ为创建请求m时底层链的长度,ct为包含所有O中元素的哈希结果的集合。
对所述m=(BFTblock,(v,seq),ℓ,ct)做门限签名σ1 ← TSig(tskL, m)并将(σ1,m)发送给共识节点并获取底层链的长度。
当底层链的长度增加1时,令LOG代表的领导者上层链中当前最长的连续共识区块序列并创建请求m=(checkpoint,v,ℓ,h)并发送至所有共识节点。
领导者调用门限签名方案的签名重构算法对这些门限签名片段进行聚合,得到2τ+1σ˜←TSR({σj,m}3)。
若m为检查点消息,则将(σ˜,m)发送给所有矿工节点。
若m为共识模块消息,将(σ˜,m)发送给所有共识节点。
实施例三:
在本发明提供的实施例中,假定共识组的节点数量为S,通过 gossip协议跨共识
组交易广播到跨共识组同步网络中的步骤中,其他节点接受到了共识组内所有其他节点的
公钥信息,即采用跨链同步算法,具体包括如下步骤:
1)将收集到的公钥信息按照从小到大的顺序排列得到组合信息,
实施例四:
实施例四对中转交易ƒ:<ℳ,ℋ,$,b,s>的步骤进行了阐述。
在本发明提供的实施例中,生成中转交易ƒ:<ℳ,ℋ,$,b,s>具体包括如下步骤:
共识组中各节点接收交易并验证ƒ的有效性。根据该中转交易提供的Merkle验证路径ℳ和状态区块高度ℋ,节点可以验证初始交易T是否被包含到状态区块中。
如果不存在中转交易ƒ无效,被节点丢弃。
如果存在,则说明初始交易有效,中转交易ƒ被添加到交易池中节点交易池中接受到足够的有效交易之后,创建第二状态区块Θ和第二交易区块Φ,其中包括中转交易ƒ:<ℳ,ℋ,$,b,s>。
共识组内各节点运行本提案共识协议,计算Nonce值。
当共识组内某节点成功计算Nonce值,共识协议结束,节点将第二状态区块Θ通过gossip 协议广播到节点所在跨共识组同步网络中。
本发明具有如下优势:
1):重新设计了区块的字段和索引,并将区块重构为数据区块和共识区块。
2):设计了一套共识机制,通过将门限签名方案与修改通信图的方法相结合,将诚实领导者下的通信代价降低至O(n);利用数据解耦操作,使拜占庭错误容忍共识协议的吞吐量可以做到仅依赖于实际物理带宽;通过引入双链数据结构并利用区块链的一致性,将领导者切换判断过程的通信代价降低O(n)。
3):设计一套跨网络同步机制,基于Monoxide方案设计了新型分片算法,再基于算法跨共识组交易提交协议设计交易的原子性的策略,以及跨共识组交易提交的一致性和可用性的策略。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (6)
1.一种基于双链结构的双解耦区块链分布式方法,应用于服务器,其特征在于,包括:
通过所述服务器形成区块链,所述区块链包括多个节点以及由节点生成的区块,通过共识组全部节点达成共识的交易区块形成上层链,通过底层区块链的区块形成底层链,并在所述区块链中构建UTXO集数据结构,所述节点采用分片算法均匀随机的分配至共识组;
所述底层区块链的区块包括数据区块以及共识区块;
所述数据区块内容为客户端生成的请求;
所述共识区块包括若干个数据区块的哈希指针;
所述节点包括普通节点以及共识节点;
所述节点发起跨共识组交易T =<q,$,b >,利用区块公式将所述共识组交易T =<q,$,b>进行广播至所述共识组,并判定所述跨共识组交易T是否为有效UTXO集数据结构;
若有效,则通过gossip协议进行跨共识组网络传播,并判断所述跨共识组交易T =<q,$,b >所在的目的共识组与传播至的节点所在的共识组是否相同;
若是,则接受交易;
若否,则通过 gossip协议跨共识组将该交易广播到跨共识组同步网络中,创建并广播第一状态区块Θ和第一交易区块Φ,在传播节点所在的共识组中处采用双重解耦操作共识协议以获取Nonce值,其中,所述目的共识组是指交易接受方所在的共识组,具体包括如下步骤:
共识节点接收请求并收集所述底层链中的 raw-request,并基于所述请求构建请求池,获取请求的哈希值并构建Merkle树;
利用所述Merkle树树根txMTR、预设的困难度Target,选取的随机数nonce,以及自己的身份ID作为输入创建所述数据区块,若所述数据区块的哈希值小于预设的困难度Target,则获得了创建数据区块的资格并将创建好的数据区块发送至所述共识节点并清空请求池;
共识节点响应于接收到的数据区块,对所述共识节点的合法性进行检验,若检验合法,则将所述数据区块存储。
2.根据权利要求1所述的方法,其特征在于,所述节点发起跨共识组交易T =<q,$,b >的步骤之后,所述方法还包括:
生成中转交易ƒ=<ℳ,ℋ,$,b,s>;
将生成的中转交易ƒ=<ℳ,ℋ,$,b,s>广播至节点所在的共识组并同步至目的共识组,其中ℳ为初始交易T在状态区块链高度为ℋ的区块中的Merkle验证路径,s为目的共识组的索引值;
判定所述中转交易是否有效,若有效,则创建第二状态区块Θ以及第二交易区块Φ并在共识组内运行POW协议以获取Nonce值;
若共识组内存在节点成功计算Nonce值,则共识协议结束,节点将第二状态区块Θ通过gossip 协议广播到节点所在跨共识组同步网络中。
3.根据权利要求1所述的方法,其特征在于,
所述交易区块的字段构成包括源钱包地址、目的钱包地址、交易ID、源共识组索引值和目的共识组索引值。
4.根据权利要求1所述的方法,其特征在于,所述共识节点响应于接收到的数据区块的步骤之后,所述方法还包括:
领导者令 seq = 1,并将底层链上记录的未处理的raw-request收集起来,当合法的数据区块数量和收集的raw-request数量之和大于τ时,τ为初始时设置的参数大小,领导者将该数据区块以及raw-request放入集合O。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
采用轮循思想,按照预先设定的顺序更换领导者,并当签名不一致时采取如下做法:
令LOG代表底层链上最后一个检查点所包含的最长连续共识区块链;
Mi将满足完成初步确认且不属于LOG的共识模块的哈希值,及对应的初步确认证据σ1放入集合Y;
Mi对Y做签名σi←Sig(ski,Y),并发送new-view消息<NEW-VIEW,v+1,(σi,Y)>给viewv+1的领导者Lv+1。
6.根据权利要求1所述的方法,其特征在于,所述节点采用分片算法均匀随机的分配至共识组的步骤包括:
将所述节点的公钥信息进行全网广播,以使所述节点获取其他节点的公钥信息;
获取其他节点的公钥信息并按照由小到达的顺序排列以得到组合信息Pkaa并获取所述组合信息Pkaa获取哈希值isℎ_Pkaa;
基于所述哈希值isℎ_Pkaa作为随机数产生1到N的全排列,并基于1到N的全排列划分至不同的共识组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210785676.0A CN114862397B (zh) | 2022-07-06 | 2022-07-06 | 一种基于双链结构的双解耦区块链分布式方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210785676.0A CN114862397B (zh) | 2022-07-06 | 2022-07-06 | 一种基于双链结构的双解耦区块链分布式方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114862397A CN114862397A (zh) | 2022-08-05 |
CN114862397B true CN114862397B (zh) | 2022-09-30 |
Family
ID=82626504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210785676.0A Active CN114862397B (zh) | 2022-07-06 | 2022-07-06 | 一种基于双链结构的双解耦区块链分布式方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114862397B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116737810B (zh) * | 2023-05-06 | 2024-06-25 | 清华大学 | 一种用于分布式时序数据库的共识服务接口 |
CN117455483B (zh) * | 2023-08-04 | 2024-04-26 | 天津大学 | 一种基于动态矿工组机制的高性能dag区块链系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN109150972A (zh) * | 2018-07-17 | 2019-01-04 | 湖南宸瀚信息科技有限责任公司 | 一种双层分片的高效区块链的共识机制及其工作方法 |
CN111654393A (zh) * | 2020-05-20 | 2020-09-11 | 中国工商银行股份有限公司 | 区块链组网方法及系统 |
CN111932265A (zh) * | 2020-10-13 | 2020-11-13 | 南京金宁汇科技有限公司 | 一种基于双层链式架构区块链的区块交易转化方法 |
CN113642019A (zh) * | 2021-08-16 | 2021-11-12 | 中国人民解放军国防科技大学 | 一种双层分组拜占庭容错共识方法及系统 |
CN114493865A (zh) * | 2022-01-06 | 2022-05-13 | 北京邮电大学 | 基于区块链的去中心化互联网协同系统和数据交互方法 |
CN114640466A (zh) * | 2022-03-15 | 2022-06-17 | 重庆邮电大学 | 一种面向分层架构的pbft共识节点动态调整方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110245956B (zh) * | 2019-05-15 | 2022-07-05 | 众安信息技术服务有限公司 | 一种基于异步多链的区块链交易确认方法及系统 |
CN110310115A (zh) * | 2019-05-23 | 2019-10-08 | 杭州云象网络技术有限公司 | 一种基于分片机制实现分布式账本横向扩展的方法 |
CN112039926B (zh) * | 2020-11-04 | 2021-03-26 | 南京金宁汇科技有限公司 | 一种区块链的双层链式架构实现方法 |
CN112862607A (zh) * | 2021-01-19 | 2021-05-28 | 平安科技(深圳)有限公司 | 区块链共识机制实现方法、装置、设备及存储介质 |
CN114048517B (zh) * | 2022-01-14 | 2022-05-20 | 北京大学深圳研究生院 | 区块链的双通道共识系统和方法、计算机可读存储介质 |
CN114584450A (zh) * | 2022-03-04 | 2022-06-03 | 中国建设银行股份有限公司 | 双层区块链系统及共识方法 |
CN114584577B (zh) * | 2022-03-08 | 2023-12-19 | 昆明理工大学 | 一种处理数据的区块链分片异步共识方法及系统 |
-
2022
- 2022-07-06 CN CN202210785676.0A patent/CN114862397B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN109150972A (zh) * | 2018-07-17 | 2019-01-04 | 湖南宸瀚信息科技有限责任公司 | 一种双层分片的高效区块链的共识机制及其工作方法 |
CN111654393A (zh) * | 2020-05-20 | 2020-09-11 | 中国工商银行股份有限公司 | 区块链组网方法及系统 |
CN111932265A (zh) * | 2020-10-13 | 2020-11-13 | 南京金宁汇科技有限公司 | 一种基于双层链式架构区块链的区块交易转化方法 |
CN113642019A (zh) * | 2021-08-16 | 2021-11-12 | 中国人民解放军国防科技大学 | 一种双层分组拜占庭容错共识方法及系统 |
CN114493865A (zh) * | 2022-01-06 | 2022-05-13 | 北京邮电大学 | 基于区块链的去中心化互联网协同系统和数据交互方法 |
CN114640466A (zh) * | 2022-03-15 | 2022-06-17 | 重庆邮电大学 | 一种面向分层架构的pbft共识节点动态调整方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114862397A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10862959B2 (en) | Consensus system and method for adding data to a blockchain | |
Ali et al. | A blockchain-based certificateless public key signature scheme for vehicle-to-infrastructure communication in VANETs | |
CN114862397B (zh) | 一种基于双链结构的双解耦区块链分布式方法 | |
CN109462587B (zh) | 区块链分层共识方法、区块链网络系统及区块链节点 | |
CN112926982B (zh) | 一种交易数据处理方法、装置、设备及存储介质 | |
CN109472572B (zh) | 基于区块链主链加并行多子链的合约系统 | |
CN111625593B (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
CN113098907B (zh) | 一种区块链的群组划分方法与装置 | |
CN113328997B (zh) | 联盟链跨链系统及方法 | |
CN111681003A (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
CN112968883B (zh) | 一种安全性高的区块链异构共识方法及终端 | |
CN115378604B (zh) | 一种基于信誉值机制的边缘计算终端设备的身份认证方法 | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN111092896A (zh) | 基于优化paxos的食品溯源分布式数据同步方法 | |
CN113055188A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Jalalzai et al. | Window based BFT blockchain consensus | |
CN112118239A (zh) | 区块链共识方法及装置、电子设备、存储介质 | |
Sohrabi et al. | ZyConChain: A scalable blockchain for general applications | |
Ahmed et al. | Privacy‐preserving blockchain‐based authentication and trust management in VANETs | |
CN108494558B (zh) | 用于实现公平交换的方法和系统 | |
CN114745140B (zh) | 基于聚合加密的城市规划领域区块链共识验证方法及系统 | |
CN114650302A (zh) | 基于区块链的物联网边缘设备可信管理方法 | |
CN114556864A (zh) | 安全共生挖掘的方法和装置 | |
CN115664682A (zh) | 基于联盟链主从多链的医疗数据共享的共识方法 | |
CN112039837B (zh) | 一种基于区块链和秘密共享的电子证据保全方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |