CN115580442A - 多链区块链领导者隐蔽选举方法及装置 - Google Patents
多链区块链领导者隐蔽选举方法及装置 Download PDFInfo
- Publication number
- CN115580442A CN115580442A CN202211148856.4A CN202211148856A CN115580442A CN 115580442 A CN115580442 A CN 115580442A CN 202211148856 A CN202211148856 A CN 202211148856A CN 115580442 A CN115580442 A CN 115580442A
- Authority
- CN
- China
- Prior art keywords
- block
- election
- leader
- chain
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000005070 sampling Methods 0.000 claims abstract description 33
- 239000012634 fragment Substances 0.000 claims description 39
- 238000004806 packaging method and process Methods 0.000 claims description 8
- 238000012163 sequencing technique Methods 0.000 claims description 6
- 238000013467 fragmentation Methods 0.000 description 7
- 238000006062 fragmentation reaction Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005266 casting Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004873 anchoring Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及信息安全技术领域,特别涉及一种多链区块链领导者隐蔽选举方法及装置,其中,方法包括:在时代em‑2之前,将em‑2之前进行抵押且没有赎回的节点集合进行表示,以使信标链对抵押成功的节点建立抵押金额表;基于抵押金额表进行选举参数初始化;基于初始化后的选举参数进行秘密采样,并使得领导者出块的同时附带身份证明,并验证出块人身份是否满足预设合法性。解决了区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾。
Description
技术领域
本申请涉及信息安全技术领域,特别涉及一种多链区块链领导者隐蔽选举方法及装置。
背景技术
区块链技术最早来源于中本聪提出的去中心化的数字货币比特币,区块链可以理解为记录交易的去中心化和分布式的分类账,近年来区块链已经广泛应用于金融应用,甚至扩展与工业应用。由于区块链得去中心化特性,形成了区块链的去中心化-安全性-扩展性不可能三角。而共识机制是解决不可能三角的核心所在。
共识机制是区块链的核心技术,共识协议可以确保所有节点都同意区块中附加记录的唯一顺序。共识协议确保了在区块链中,即使节点故障或为恶意节点,网络中的节点也可以达成协议。为了提升共识效率,大部分共识协议都会在委员会中选出一个具有出块权利的节点,称之为领导者,而领导者的出现使得区块链各个节点间的直接通信量大大减少,由领导者出块,委员会中其他节点投票已成为较为主流的委员会配置模式。为了解决扩展性问题,工业界和学术界提出了分片方案,利用多个并行的委员会处理网络中不同分片的交易,分片是区块链未来发展的趋势,多个分片链同时由不同的委员会领导者并行出块。
由于领导者所拥有的权利和承担较大的责任,恶意节点对领导者的攻击相较于普通节点收益更大。由于区块链的工作环境为节点间互相不信任,且在多链环境中由于每条链的节点数量少,攻击成本小,更容易出现恶意节点对领导者的攻击,如何公平且隐蔽地选择分片链领导者成为重点,同时领导者的选择还需具有唯一性,以满足区块链不可分叉的性质。
现有的共识机制中,领导者选举的方法通常有以下几种:
(1)按照约定编号顺序替换
在经典的PBFT共识机制中,主节点起到领导者的作用,主节点工作的时期被称为当前视图,如果主节点出现问题,则按给定的节点编号跳到下一个视图,由下一个节点担任主节点,同时保存当前视图的状态。
这种方案的缺点是:
a.未来主节点的选择对所有节点都是可预知的,恶意节点可以对未来的领导者不断攻击引起不断视图转换,使系统无法工作。
b.预知领导者之后,可以进行贿赂攻击,即通过贿赂领导者来使出块的结果有利于自己,破坏系统的公平性。
HotStuff共识协议中,共识按流水线的方式执行。但是这种方式依然会有领导者的身份可预测带来的拒绝服务攻击和贿赂攻击问题。
(2)PoX领导者选举
PoX领导者选举表示的是一种利用相应证明的领导者选举,如PoW,PoS等,PoW采用算力对领导者身份进行证明,典型的如Byzcoin,PoS采用权益数量对领导者身份进行证明。这些方案的缺点如下:
a.会造成资源的浪费,PoW会造成大量的算力浪费。
b.领导者不唯一,区块链可能会分叉。
c.依然有领导者身份可预测带来的拒绝服务攻击和贿赂攻击问题。
d.赢家通吃,资源多的节点一直成为领导者,损害了去中心化属性。
(3)多链架构下分布式伪随机数对领导者选举
上述领导者选举方法广泛应用于单链架构,多链架构下若直接采用单链架构下选举领导者的方法,这些选举方法由于多链环境中恶意节点容易聚集使得缺点被进一步放大,多链架构下一般采用PoX结合分布式伪随机数对领导者进行选举,PoX生成分片委员会,再由分布式伪随机数生成领导者,如Omniledger,Rapidchain,以太坊2.0等,Omniledger中采用VRF构建选票,节点交互选出最小的选票,满足了公平性,但交互设计需引入同步假设,与现实相悖,Rapidchain中生成的随机数需被节点提前知晓,领导者可以被预知,破坏了领导者选举的隐蔽性。以太坊2.0采用VDF,但随机数全局可知,同样无法保证隐蔽性,且每个时代最后一个出块节点有操纵结果的可能。
发明内容
本申请提供一种多链区块链领导者隐蔽选举方法及装置,解决了区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾。
本申请第一方面实施例提供一种多链区块链领导者隐蔽选举方法,包括以下步骤:在时代em-2之前,将em-2之前进行抵押且没有赎回的节点集合进行表示,以使信标链对抵押成功的节点建立抵押金额表;基于所述抵押金额表进行选举参数初始化;基于初始化后的选举参数进行秘密采样,并使得领导者出块的同时附带身份证明,并验证出块人身份是否满足预设合法性。
可选地,在本申请的一个实施例中,所述基于所述抵押金额表进行选举参数初始化,包括:在所述时代em-2第一个slot,对成功参与抵押的节点公布本轮选举的系统参数;随机选出k个节点并进行排序,以负责运行秘密采样选举协议;初始化选举列表。可选地,在本申请的一个实施例中,
可选地,在本申请的一个实施例中,所述基于初始化后的选举参数进行秘密采样,包括:对于所述k个节点的每个节点,按编号顺序串行运行协议;在节点正确执行所述协议后,对选举列表执行预设操作;将所述时代em-1的随机数Rm-1定义为Rm-1=H(m-1,Rm-2,p);所述时代em-1节点i遍历listk,找到节点i是第j个领导者的二元组。
可选地,在本申请的一个实施例中,所述使得领导者出块的同时附带身份证明,包括:确定自己所属的分片号和时隙号;在对应分片的对应时隙打包交易并生成区块B,同时在B中附上自己的xi。
可选地,在本申请的一个实施例中,所述验证出块人身份是否满足预设合法性,包括:在其他节点收到区块后,从所述区块中提取出xi,并验证listfinal中是否存在且位置j是否对应当前分片的当前时隙,如果相等,则领导者身份合法,否则说明领导者身份不合法,丢弃所述区块。
本申请第二方面实施例提供一种多链区块链领导者隐蔽选举装置,包括:建立模块,用于在时代em-2之前,将em-2之前进行抵押且没有赎回的节点集合进行表示,以使信标链对抵押成功的节点建立抵押金额表;初始化模块,用于基于所述抵押金额表进行选举参数初始化;选举模块,用于根据初始化后的选举参数进行秘密采样,并使得领导者出块的同时附带身份证明,并验证出块人身份是否满足预设合法性。
可选地,在本申请的一个实施例中,所述初始化模块具体用于:在所述时代em-2第一个slot,对成功参与抵押的节点公布本轮选举的系统参数;随机选出k个节点并进行排序,以负责运行秘密采样选举协议;初始化选举列表。
可选地,在本申请的一个实施例中,所述基于初始化后的选举参数进行秘密采样,包括:对于所述k个节点的每个节点,按编号顺序串行运行协议;在节点正确执行所述协议后,对选举列表执行预设操作;将所述时代em-1的随机数Rm-1定义为Rm-1=H(m-1,Rm-2,ρ);所述时代em-1节点i遍历listk,找到节点i是第j个领导者的二元组。
可选地,在本申请的一个实施例中,所述使得领导者出块的同时附带身份证明,包括:确定自己所属的分片号和时隙号;在对应分片的对应时隙打包交易并生成区块B,同时在B中附上自己的xi。
可选地,在本申请的一个实施例中,所述验证出块人身份是否满足预设合法性,包括:在其他节点收到区块后,从所述区块中提取出xi,并验证listfinal中是否存在且位置j是否对应当前分片的当前时隙,如果相等,则领导者身份合法,否则说明领导者身份不合法,丢弃所述区块。
本申请实施例的多链区块链领导者隐蔽选举方法及装置,系统包括一条信标链和多条分片链,信标链运行选举方法,并将领导者不可预知得指派到各个分片链中工作。节点在参与确定领导者选举之前先进行抵押,该选举方案一并满足领导者身份的隐蔽性和唯一性,在领导者出块之前,其他节点无法确定领导者的身份,恶意节点无法提前攻击或腐蚀领导者。选举方案同时可以保证领导者的身份的唯一性,不会在同一轮中出现2个或以上的领导者,从而保证了区块链不会出现分叉的性质。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种多链区块链领导者隐蔽选举方法的流程图;
图2为根据本申请实施例提供的一种多链区块链领导者隐蔽选举方法的实现系统示意图;
图3为根据本申请实施例的多链区块链领导者隐蔽选举装置的示例图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请的实施例主要解决以下技术问题:
(1)区块链出块之前领导者身份暴露导致的拒绝服务攻击问题。如果在区块链一轮的领导者在出块之前身份可被预知,就可能会出现拒绝服务攻击,即攻击者对于领导者发起大量的连接请求,消耗的领导者的网络资源或者计算资源,迫使领导者暂时离线,使领导者无法出块,区块链网络卡死。
(2)区块链出块之前领导者身份暴露导致的贿赂攻击问题。领导者的身份在出块之前身份可预知,恶意节点可能通过贿赂领导者来使得区块的内容对自己有利,造成的破坏主要有改变交易顺序和故意丢弃其他节点发起的交易,破坏区块链网络的公平性。
(3)区块带有的领导者身份证明的共识机制所产生的能源消耗以及分叉问题。如PoW共识机制会导致的巨大的能源消耗。而且概率性产生的领导者可能会出现同一轮中存在多个领导者的问题。这导致区块的内容需要等待一定的时间的才可以被确认,导致区块链系统的高延迟。
(4)多链中分布式伪随机数生成的可预知和区块链稳定性问题。大部分分布式伪随机数生成的方案中随机数与领导者身份对应,且需领导者产生前公示随机数,导致领导者身份在出块前仍然是可预知的。Algorand中提出了一种利用VRF与给定阈值比较的方法解决了上述问题,可以借鉴到多链中,然而产生的领导者不唯一,需要运行BA*协议以对领导者达成共识,该协议轮数不确定,时延波动大,降低了系统的稳定性。
本申请的实施例进行如下假设:
系统主要运行于多链环境,由两层链组成,分别为信标链和多个分片链,信标链由PoW机制产生,产生的区块为工作量证明区块,信标链的节点数量较小,主要用于确定参与领导者竞选的群体,同时所产生的区块负责锚定分片链的区块,起到同步的作用。第二层的分片链采用确定性共识,由信标链产生的分片链领导者打包交易出块,为正式区块。设系统中的分片链数量为z。
系统的运行分时代(epoch)进行,epoch具有从0开始的唯一的编号,使用ei表示第i个epoch。一个时代中存在s个时隙(slot),分片链的时隙数量可与信标链不同,成整数倍关系,设信标链每个epoch中有Sbeacon个时隙,分片链中每个epoch有Sshard个时隙。每个节点均属于一个分片,每个时隙中的存在一个分片链领导者,打包当前slot的交易出一个区块。使用SKi,PKi分别表示第i个节点的私钥和公钥,在本区块链中假设使用SKi来标识节点。系统的恶意节点数量为f,系统节点数量为V,经典拜占庭容错环境下恶意节点的比例小于1/3。
业务链的时隙数可与分片链相等也可成倍数关系,若成倍数关系,分片链区块中应隔相应倍数包含信标链区块哈希。
具体而言,图1为根据本申请实施例提供的一种多链区块链领导者隐蔽选举方法的流程图。
如图1所示,该多链区块链领导者隐蔽选举方法包括以下步骤:
在步骤S101中,在时代em-2之前,将em-2之前进行抵押且没有赎回的节点集合进行表示,以使信标链对抵押成功的节点建立抵押金额表。
本申请的实施例以对分片链em中的各个slot的领导者进行选取为例。
在时代em-2之前,有意愿参与领导者选举的节点需要抵押一定金额的代币,将em-2之前进行了抵押且没有赎回的节点集合表示为STAKEm-2。信标链在对抵押成功节点的建立抵押金额表,抵押金额表中标识节点公钥和抵押金额。
在步骤S102中,基于抵押金额表进行选举参数初始化。
可选地,在本申请的一个实施例中,基于抵押金额表进行选举参数初始化,包括:在时代em-2第一个slot,对成功参与抵押的节点公布该轮选举的系统参数;随机选出k个节点并进行排序,以负责运行秘密采样选举协议;初始化选举列表。
在时代em-2第一个slot,信标链对成功参与抵押的节点公布该轮选举的系统参数,参数包含一个随机的大素数p,modp的原根g,设em参与竞选领导者的节点数为n,信标链随机选出k个节点并进行排序,这k个节点为负责运行秘密采样选举协议的节点,k也代表了秘密采样所需运行的轮数,需要满足(f/V)k<∈,∈是可忽略的概率值,以保证选举过程至少存在一个诚实节点。信标链对运行秘密采样的k个用户进行排序,序号为1~k,参与竞选的用户i选择私钥xi,计算公钥信标链初始化选举列表:
list0=((g,y0),(g,y1),…,(g,yn-1))=(s0,0,s1,0,…,sn-1,0)。
在步骤S103中,基于初始化后的选举参数进行秘密采样,并使得领导者出块的同时附带身份证明,并验证出块人身份是否满足预设合法性。
可选地,在本申请的一个实施例中,基于初始化后的选举参数进行秘密采样,包括:对于k个节点的每个节点,按编号顺序串行运行协议;在节点正确执行协议后,对选举列表执行预设操作;将时代em-1的随机数Rm-1定义为Rm-1=H(m-1,Rm-2,ρ);时代em-1节点i遍历listk,找到节点i是第j个领导者的二元组。
1)k个节点按编号顺序串行运行协议,参与竞选的节点在每个节点运行完后可以对选举列表进行校验,以查证自己的二元组是否被恶意节点丢弃或破坏,若有,则可举报并终止协议。其中,选择执行采样的k个节点可按委员会节点加入顺序,也可按其他顺序生成。
2)如上一轮节点正确执行协议,第i个节点对选举列表
listi-1=(S0,i-1,s1,i-1,…,sn-1,i-1)
进行如下操作:
a.随机选择置换关系πi
b.对元组listi-1进行置换,得到listtemp=πi(listi-1)
c.选择随机数序列(r0,r1,..rn),对元组listtemp进行混淆,得到
d.广播本轮的计算结果listi
e.各参与竞选的节点检查是否可以用自己的私钥xi解密listi中的一个二元组,以确定自己的选票未被恶意篡改和丢弃。
3)时代em-1的随机数Rm-1定义为Rm-1=H(m-1,Rm-2,p),ρ由上一时代信标链各个slot出块时附带的随机数聚合生成。
时代随机数Rm-1中的ρ由em-2中信标链各个区块附带的随机数聚合产生,这些附带的随机数可以使用VRF,Hash生成,也可以使用随机数生成器,序列密码算法或者可验证随机函数等可验证的随机数生成方法。
所有节点均在em-1开始时本地计算最终轮以防止采样节点操纵:
a)计算哈希H(listk||Rm-1)并根据哈希值确定置换关系πfinal
b)对元组listk进行置换,得到listfinal=πfinal(listk)
4)节点i遍历listfinal,找到二元组sj,final=(sj,final[0],sj,final[1]),使得 则说明节点i是第j个领导者,节点i所处的分片编号为shardi=jmodz,节点i的所处时隙编号为
可选地,在本申请的一个实施例中,使得领导者出块的同时附带身份证明,包括:确定自己所属的分片号和时隙号;在对应分片的对应时隙打包交易并生成区块B,同时在B中附上自己的xi。
在时代em中,对于节点i来说,如果存在一个位置j使得置换结果的第j个位置可由自己的xi解密,则由c中的计算方式确定自己所属的分片号和时隙号,并在对应分片的对应时隙打包交易并生成区块B,同时在B中附上自己的xi。
可选地,在本申请的一个实施例中,验证出块人身份是否满足预设合法性,包括:在其他节点收到区块后,从区块中提取出xi,并验证listfinal中是否存在且位置j是否对应当前分片的当前时隙,如果相等,则领导者身份合法,否则说明领导者身份不合法,丢弃区块。
下面介绍一种多链区块链领导者隐蔽选举方法的实现系统,如图2所示,包括抵押模块,信标链模块,参数初始化模块,采样模块,置换模块,区块生成模块,区块验证模块。
a.抵押模块
抵押模块初始化一个空表,当收到一个抵押的请求时,进行以下操作。
1)验证节点是否还在抵押中,如是,则不需要再抵押,将请求标记为失败。
2)验证抵押金额是否高于节点的余额,如果抵押的金额高于节点的余额,则将请求标记为失败。
3)验证抵押金额是否低于的设定的最低抵押阈值,如果低于,说明抵押金额过少,将请求标记为失败。
4)在节点的余额中扣除抵押金额,将节点和抵押金额写入表中,将请求标记为成功。
当收到一个撤回抵押的请求时,进行以下操作。
1)判断节点是否在表中,如不在,说明节点没有抵押,将请求标记为失败。
2)读取节点的抵押的金额,判断节点抵押是否已过有效期,即该轮抵押对应的出块是否已经结束,若未结束,将请求标记为失败。
3)若抵押出块已结束,将节点和抵押金额从表中撤销,将抵押金额加到节点账户余额中,并将请求标记为已完成。
b.信标链模块
信标链模块主要包含生成信标链委员会,更新信标链委员会,生成运行秘密采样的节点群体,验证信标链区块功能。
1)设当前信标链上最后一个区块为Bk,想在下一个信标链slot加入信标链的节点通过穷举法找到一个临时值,使得区块哈希小于阈值,并生成工作量证明区块Bk+1,附加到主链上,进行广播。
2)最早完成Bk+1的节点在下个信标链slot加入信标链委员会。
3)信标链区块采用最长链原则,10个slot后区块得到最终确认。
4)信标链委员会的大小为b,在当前slot最早进入信标链委员会成员被剔除信标链。
5)最新的k个信标链委员会成员可构成运行秘密采样的群体。
节点收到信标链区块后进行如下验证:
(1)验证区块的出块人的公钥是否在当前信标链委员会中,如是,则抛弃当前区块。
(2)验证区块的哈希是否是正确且满足阈值要求,如果不是,则抛弃区块。
(3)验证当前区块的产生是不是在最长链上,如果区块不在最长链上且与最长链的分叉点超过10个区块,则抛弃区块。
(4)通过以上验证的区块被保留。
c.参数初始化模块
参数初始化模块用于对设定选举所需的密码学参数以及建立选举初始化列表:
1)参数初始化开始于每个epoch的第一个slot,信标链委员会生成(p,g)二元组并进行广播。
3)信标链收到yi后,采用公钥对签名验证,通过验证后再验证是否在抵押表中,若不在抵押表中或已经收到过同-个节点的一次性公钥,附加到区块中并标记为无效,若在抵押表中,附加到区块中。下一个slot的信标链区块中应包含之前收集到的所有yi。
4)若当前slot信标链已收集到足够数量的yi,则生成选举初始化列表并广播:
list0=((g,y0),(g,y1),…,(g,yn-1))=(s0,0,s1,0,…,sn-1,0)
5)信标链选择的k个节点按顺序编号,若节点编号为1,收到list0后进入采样模块工作。
d.采样模块
采样模块用于对参与竞选的节点进行混淆与置换。运行秘密采样的节点已按1~k进行编号。
1)编号为i的节点(除第一个节点)收到listi-1检查listi-1的二元组数量是否发生变化,若发生变化,终止协议,若无变化,开始置换工作,置换完生成listi,广播。
2)参与竞选的节点在收到listi后验证是否可解密其中一个二元组,若否,举报并终止协议。
3)参与竞选的节点若收到listk在本地载入置换模块计算最后一轮得到listfinal。
e.置换模块
置换模块中内置了一种置换方法:
1)listi-1=((g,y0),(g,y1),…,(g,yn-1))=(s0,i-1s1,i-1,…,sn-1,i-1)。
2)listi-1表示为二进制序列,计算哈希值,哈希值的哈希值串联构建伪随机数发生器。
3)依次生成0到n-1,0到n-2,0到n-3…的随机数序列(r0,r1,…,rn-1),生成0到k的随机数方法如下:令取随机数中的l比特,如果比k大,就重新选取,直到比k小,作为所选随机数,并在随机数序列中将选取的l比特丢弃。
除最后一轮本地计算外之前的置换方法可不采用置换模块中的置换方法,置换模块中的方法不唯一。
f.区块生成模块
信标链区块的生成与验证由信标链模块完成,区块生成模块用于产生分片链的区块,同时附加了领导者身份认证功能和信标链同步功能。
通过竞选并计算出分片编号和时隙编号的节点i在该位置打包交易,并生成区块,区块中附加的信息为节点在竞选时选择的一次性私钥xi以及在10个slot之前对应的信标链区块哈希,以实现同步。
g.区块验证模块
区块验证模块用于领导者身份验证。
1)位于分片链和某个时隙的节点收到当前领导者发出的区块后,提取出xi并带回listfinal中验证领导者的合法性,若验证不通过,丢弃区块。
2)通过验证领导者身份后验证区块内容,不正确则丢弃区块,正确则执行区块内容。
根据本申请实施例提出的多链区块链领导者隐蔽选举方法,可以解决区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾,利用代币抵押解决了区块链中的女巫攻击问题,由信标链提供选举初始化参数,解决了选举初始化不可信的问题,利用一次性私钥的方法解决了竞选者投多票问题,多轮采样解决了恶意节点对置换顺序进行操作,预知领导者身份的问题。应用于区块链系统中,可以安全高效的实现区块链领导者的迭代,其安全性体现在隐藏在领导者出块之前隐藏领导者的身份,避免由于领导者身份过早暴露出现的拒绝服务攻击和贿赂攻击,同时所产生的的分片链领导者唯一,避免了分片链中区块分叉的问题。信标链-分片链的架构提升吞吐量并解决多链之间同步和选举初始化的问题。
其次参照附图描述根据本申请实施例提出的多链区块链领导者隐蔽选举装置。
图3为根据本申请实施例的多链区块链领导者隐蔽选举装置的示例图。
如图3所示,该多链区块链领导者隐蔽选举装置10包括:建立模块100、初始化模块200和选举模块300。
其中,建立模块100,用于在时代em-2之前,将em-2之前进行抵押且没有赎回的节点集合进行表示,以使信标链对抵押成功的节点建立抵押金额表。初始化模块200,用于基于抵押金额表进行选举参数初始化。选举模块300,用于根据初始化后的选举参数进行秘密采样,并使得领导者出块的同时附带身份证明,并验证出块人身份是否满足预设合法性。
可选地,在本申请的一个实施例中,初始化模块具体用于:在时代em-2第一个slot,对成功参与抵押的节点公布本轮选举的系统参数;随机选出k个节点并进行排序,以负责运行秘密采样选举协议;初始化选举列表。
可选地,在本申请的一个实施例中,基于初始化后的选举参数进行秘密采样,包括:对于k个节点的每个节点,按编号顺序串行运行协议;在节点正确执行协议后,对选举列表执行预设操作;将时代em-1的随机数Rm-1定义为Rm-1=H(m-1,Rm-2,ρ);时代em-1节点i遍历listk,找到节点i是第j个领导者的二元组。
可选地,在本申请的一个实施例中,使得领导者出块的同时附带身份证明,包括:确定自己所属的分片号和时隙号;在对应分片的对应时隙打包交易并生成区块B,同时在B中附上自己的xi。
可选地,在本申请的一个实施例中,验证出块人身份是否满足预设合法性,包括:在其他节点收到区块后,从区块中提取出xi,并验证listfinal中是否存在且位置j是否对应当前分片的当前时隙,如果相等,则领导者身份合法,否则说明领导者身份不合法,丢弃区块。
需要说明的是,前述对多链区块链领导者隐蔽选举方法实施例的解释说明也适用于该实施例的多链区块链领导者隐蔽选举装置,此处不再赘述。
根据本申请实施例提出的多链区块链领导者隐蔽选举装置,可以解决区块链在出块之前领导者的身份隐藏和区块链确定性出块不分叉之间的矛盾,利用代币抵押解决了区块链中的女巫攻击问题,由信标链提供选举初始化参数,解决了选举初始化不可信的问题,利用一次性私钥的方法解决了竞选者投多票问题,多轮采样解决了恶意节点对置换顺序进行操作,预知领导者身份的问题。应用于区块链系统中,可以安全高效的实现区块链领导者的迭代,其安全性体现在隐藏在领导者出块之前隐藏领导者的身份,避免由于领导者身份过早暴露出现的拒绝服务攻击和贿赂攻击,同时所产生的的分片链领导者唯一,避免了分片链中区块分叉的问题。信标链-分片链的架构提升吞吐量并解决多链之间同步和选举初始化的问题。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
Claims (10)
1.一种多链区块链领导者隐蔽选举方法,其特征在于,包括以下步骤:
在时代em-2之前,将em-2之前进行抵押且没有赎回的节点集合进行表示,以使信标链对抵押成功的节点建立抵押金额表;
基于所述抵押金额表进行选举参数初始化;
基于初始化后的选举参数进行秘密采样,并使得领导者出块的同时附带身份证明,并验证出块人身份是否满足预设合法性。
2.根据权利要求1所述的方法,其特征在于,所述基于所述抵押金额表进行选举参数初始化,包括:
在所述时代em-2第一个slot,对成功参与抵押的节点公布本轮选举的系统参数;
随机选出k个节点并进行排序,以负责运行秘密采样选举协议;
初始化选举列表。
3.根据权利要求2所述的方法,其特征在于,所述基于初始化后的选举参数进行秘密采样,包括:
对于所述k个节点的每个节点,按编号顺序串行运行协议;
在节点正确执行所述协议后,对选举列表执行预设操作;
将所述时代em-1的随机数Rm-1定义为Rm-1=H(m-1,Rm-2,ρ);
所述时代em-1节点i遍历listk,找到节点i是第j个领导者的二元组。
4.根据权利要求1所述的方法,其特征在于,所述使得领导者出块的同时附带身份证明,包括:
确定自己所属的分片号和时隙号;
在对应分片的对应时隙打包交易并生成区块B,同时在B中附上自己的xi。
6.一种多链区块链领导者隐蔽选举装置,其特征在于,包括:
建立模块,用于在时代em-2之前,将em-2之前进行抵押且没有赎回的节点集合进行表示,以使信标链对抵押成功的节点建立抵押金额表;
初始化模块,用于基于所述抵押金额表进行选举参数初始化;
选举模块,用于根据初始化后的选举参数进行秘密采样,并使得领导者出块的同时附带身份证明,并验证出块人身份是否满足预设合法性。
7.根据权利要求6所述的装置,其特征在于,所述初始化模块具体用于:
在所述时代em-2第一个slot,对成功参与抵押的节点公布本轮选举的系统参数;
随机选出k个节点并进行排序,以负责运行秘密采样选举协议;
初始化选举列表。
8.根据权利要求7所述的装置,其特征在于,所述基于初始化后的选举参数进行秘密采样,包括:
对于所述k个节点的每个节点,按编号顺序串行运行协议;
在节点正确执行所述协议后,对选举列表执行预设操作;
将所述时代em-1的随机数Rm-1定义为Rm-1=H(m-1,Rm-2,ρ);
所述时代em-1节点i遍历listk,找到节点i是第j个领导者的二元组。
9.根据权利要求6所述的装置,其特征在于,所述使得领导者出块的同时附带身份证明,包括:
确定自己所属的分片号和时隙号;
在对应分片的对应时隙打包交易并生成区块B,同时在B中附上自己的xi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211148856.4A CN115580442B (zh) | 2022-09-20 | 2022-09-20 | 多链区块链领导者隐蔽选举方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211148856.4A CN115580442B (zh) | 2022-09-20 | 2022-09-20 | 多链区块链领导者隐蔽选举方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115580442A true CN115580442A (zh) | 2023-01-06 |
CN115580442B CN115580442B (zh) | 2024-05-03 |
Family
ID=84581436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211148856.4A Active CN115580442B (zh) | 2022-09-20 | 2022-09-20 | 多链区块链领导者隐蔽选举方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115580442B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426567A (zh) * | 2017-08-22 | 2019-03-05 | 汇链丰(北京)科技有限公司 | 一种区块链的节点部署和选举方法 |
CN110933088A (zh) * | 2019-12-02 | 2020-03-27 | 深圳启元信息服务有限公司 | 一种基于区块链的去中心化可验证隐匿代表方法、系统及存储介质 |
CN112257095A (zh) * | 2020-11-23 | 2021-01-22 | 中电万维信息技术有限责任公司 | 一种联盟链共识节点的选择方法 |
CN113452747A (zh) * | 2021-05-13 | 2021-09-28 | 西安电子科技大学 | 可扩展和安全的共识方法、系统、存储介质、智能终端 |
-
2022
- 2022-09-20 CN CN202211148856.4A patent/CN115580442B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109426567A (zh) * | 2017-08-22 | 2019-03-05 | 汇链丰(北京)科技有限公司 | 一种区块链的节点部署和选举方法 |
CN110933088A (zh) * | 2019-12-02 | 2020-03-27 | 深圳启元信息服务有限公司 | 一种基于区块链的去中心化可验证隐匿代表方法、系统及存储介质 |
CN112257095A (zh) * | 2020-11-23 | 2021-01-22 | 中电万维信息技术有限责任公司 | 一种联盟链共识节点的选择方法 |
CN113452747A (zh) * | 2021-05-13 | 2021-09-28 | 西安电子科技大学 | 可扩展和安全的共识方法、系统、存储介质、智能终端 |
Also Published As
Publication number | Publication date |
---|---|
CN115580442B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zamani et al. | Rapidchain: Scaling blockchain via full sharding | |
CN109360100B (zh) | 基于区块链技术的交易快速确认方法及装置 | |
CN113098694B (zh) | 一种混合跨链共识方法 | |
CN109905247B (zh) | 基于区块链的数字签名方法、装置、设备及存储介质 | |
CN110213038B (zh) | 一种区块链形成共识的方法及系统 | |
CN110912705B (zh) | 一种基于区块链的分布式电子投票方法及系统 | |
CN109981690B (zh) | 一种基于区块链智能合约的防篡改定时数据保密传输方法 | |
CN112968883A (zh) | 一种安全性高的区块链异构共识方法及终端 | |
CN113612604B (zh) | 面向异步网络的安全分布式随机数生成方法及装置 | |
CN112260836A (zh) | 一种基于分片技术提升区块链吞吐量的方法 | |
CN114463009B (zh) | 一种用于提高大规模能源节点交易安全性的方法 | |
WO2021016546A1 (en) | Unity protocol consensus | |
CN116527684B (zh) | 基于1+1+n中继共识委员会的多链信息交互方法 | |
CN114615281B (zh) | 基于小规模委员会的区块链出块方法及PoS协议确认方法 | |
CN112907246B (zh) | 基于BFT协议和PoW机制的区块链共识协议实现方法和系统 | |
Blum et al. | Superlight–A permissionless, light-client only blockchain with self-contained proofs and BLS signatures | |
CN110535629B (zh) | 一种异步网络条件下的出块共识方法 | |
CN115580442A (zh) | 多链区块链领导者隐蔽选举方法及装置 | |
CN110912687A (zh) | 一种分布式身份验证方法 | |
Wang et al. | Consensus algorithm based on verifiable randomness | |
CN109274674B (zh) | 一种具有高安全性的区块链异构共识方法及终端 | |
Liu et al. | A secure and decentralized reconfiguration protocol for sharding blockchains | |
CN111090840B (zh) | 一种利用区块链预注册信息进行用户服务认证的方法 | |
CN113312640A (zh) | 一种基于可信计算的软件数据完整性多方共识方法 | |
CN115664716B (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 |