一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于随机序列区块链共识算法的交易数据安全处理方法

2022-10-26 18:38:17 来源:中国专利 TAG:


1.本发明涉及区块链技术和数据安全技术领域,具体涉及一种基于随机序列区块链共识算法的交易数据安全处理方法。


背景技术:

2.在区块链共识协议中,传统的pow(proof of work)共识算法能够抵抗拜占庭错误;此外,pow拥有几乎恒定的共识时间,虽然区块链系统中的节点数量各不相同,但生成每个区块所需的时间几乎是恒定的,需要六个区块来确认前一个区块;最后,区块链提出了一种通过激励机制和pow相结合来实现去中心化的全新思路。
3.因此,区块链技术已被应用于去中心化的各种场景中。此后,为了满足不同场景的需求,许多不同的共识算法被提出,如:pos(proof of stake)、dpos(delegated proof of stake)、poc(proof of capacity),这些共识算法在不同的方面有着超越pow的性能,但pow仍是当前使用最广泛的共识算法之一。
4.区块链的核心思想是pow依赖穷举搜索过程来实现共识。在穷举搜索的过程中,需要找到一个nonce值,使得将该值填入区块头后区块头的哈希值小于目标值。节点花费大量计算资源穷举搜索任何可能的nonce值直到满足要求为止。此后,节点广播该区块,打包的区块中的信息获得系统内全部节点的认可,同时该节点获得奖励,从而实现了系统内全部节点间的共识。
5.哈希函数假设的抗碰撞和单向映射特性使得共识节点无法从哈希值推断输入。区块链在三个领域采用了两个哈希函数:穷举搜索(sha-256)、消息摘要(sha-256 和 ripemd-160)和merkle树(sha-256 和 ripemd-160)。
6.然而,随着密码学技术的发展、算力和攻击能力的提升,类似的许多哈希函数并不像假设的那样安全。例如,2005年x.wang等人攻破sha-1哈希函数。此外,md4 和 ripemd 的碰撞被发现。最近的研究中已经报道了对哈希函数冲突的攻击,例如通过量子计算机发现哈希冲突意味着存在量子敌手,以及研究广泛使用的merkle-damg
å
rd哈希函数中的冲突被发现。如果区块链中使用的哈希函数存在缺陷,攻击者可以利用它们来获得穷举搜索的优势,从而导致严重后果。例如,极少数节点也可能能够控制整个系统,这违背了区块链技术的去中心化的规律。因此,替代区块链中使用的哈希函数成为了一种需要。
7.merkle树作为集合成员的证明,可以用累加器代替。而基于哈希函数的消息摘要可以用其他加密原语代替,比如使用密码块链接(cipher block chaining,cbc)加密模式的最后一个块作为输出,或伪随机序列发生器(pseudo-random sequence generator,prsg)的扰频器模式。有人指出诸如哈希函数、消息验证码(message authentication code, mac)、分组密码、流密码和 prsg 之类的密码学原语可以互换。
8.legendre序列是由a.m.legendre提出的一种二元序列,经过深入的研究展现出平衡性、理想的自相关性、较大的线性复杂度、良好的伪随机性以及均匀的模式分布。i.b.damg
å
rd在crypto会议中讨论了legendre序列的性质。r.turyn等人的工作中给出了
legendre的极小多项式。jeong-heon等人求得了legendre的迹的表达式。ding cunsheng和helleseth tor讨论了广义扩展的legendre序列的随机性质,并讨论了相关的生成速度,他们还研究了以 n 为周期的legendre序列在gf(2)上的线性复杂度。c.mauduit, a.s
á
rk
ö
zy提出了二元序列的随机复杂度度量,f-correlation measure of orderk以及 correlation measure of order k。利用有限域上不完全特征和的weil引理,可以说明legendre序列具有理想的随机分布性质,序列中的k元子序列具备一致分布的统计属性。
9.关于legendre序列的生成,j.zhao等人设计了一个并行化的高效legendre序列生成算法。此外,一系列随机性测试证实了legendre序列在包括nist测试套件在内的不同随机性测试中均具有良好的随机性。
10.为了消除当前pow机制中存在的数据安全隐患,本发明使用legendre序列设计了一个新型的区块链pow共识算法,提供了一种基于随机序列区块链共识算法的交易数据安全处理方法。


技术实现要素:

11.本发明的目的是提出一种基于随机序列区块链共识算法的交易数据安全处理方法,可替换基于传统密码学哈希函数(如sha-256)进行穷举搜索。在具有严格可证明的随机性和好的安全性保证的同时,可达到符合区块链共识场景需求的交易数据吞吐量和延迟水平,并实现共识机制难度自动调节机制。
12.本发明的技术方案:一种基于随机序列区块链共识算法的交易数据安全处理方法,包括以下步骤:步骤1,区块链初始化阶段:选取legendre序列的周期,将这个周期划分为长度相等的个缝隙,并规定共识机制的穷举搜索的目标难度值,穷举搜索的目标为:在legendre序列中确定当前区块穷举搜索所对应的缝隙,根据该缝隙找到当前区块所对应的legendre子序列的一个起点,使得该起点所对应的当前区块的legendre子序列的值满足小于当前目标难度值;其中,所述起点是由和拼接构成,是的高位组成部分,是的低位组成部分;步骤2,基于legendre序列的区块链pow共识阶段:s2.1更新当前目标难度值;s2.2当前节点收集区块链网络上待处理的交易数据,将这些交易数据打包到区块体中;s2.3当前节点寻找当前区块的legendre子序列的起点,包括以下步骤:
s2.31通过异或运算得到当前区块所对应的缝隙,;s2.32初始化为0;s2.33将与拼接得到,然后计算出该对应的legendre 子序列,比较的值与当前目标难度值的大小,如果不满足,则继续执行下一步骤;如果满足,则将该填入并组装到当前区块的区块头,广播该区块;s2.34将得到新的;s2.35将新的代入步骤s2.33,循环执行步骤s2.33-s2.34,直至找到满足要求的为止;s2.4如果在当前节点完成步骤s2.3之前,当前节点接收到了区块链网络上的其他节点广播的区块,则暂停当前的穷举搜索,对接收到的区块做检查,若检查通过,则将该区块追加到区块链的尾部,然后从步骤s2.1开始重新打包新区块,进行穷举搜索;若检查不通过,则返回到步骤s2.3,继续当前的穷举搜索过程。
13.在上述技术方案中,步骤1中,选取梅森素数作为legendre序列的周期;将这个周期划分为个缝隙,每个缝隙长度为。
14.在上述技术方案中,步骤s2.1中,每当区块链网络全节点共识生产个区块后,根据整个区块链网络的出块速率,更新当前目标难度值,更新策略如下:其中是已有的目标难度值;是过去区块链网络全节点共识生产个区块所花费的时间;是预设的平均出块时间。
15.在上述技术方案中,为。
16.在上述技术方案中,步骤s2.2中,将当前区块版本号、当前区块生成的时间、当前区块的交易的成员证明、当前共识机制的穷举搜索的目标难度值
和上一个区块的legendre子序列的起点填入区块头。
17.在上述技术方案中,步骤2中,将所有交易数据的哈希数值作为叶子构建一棵默克尔树,在区块链网络上公开默克尔树的根节点作为当前区块的交易的成员证明。
18.在上述技术方案中,检查接收到的区块是否其。
19.相对于现有技术,本发明的优点和有益效果如下:1、本发明所提出的基于legendre序列的pow共识算法是原创的pow算法,可替代传统的使用密码学哈希函数的穷举搜索方案;具有一定可证明安全性;在保证安全性同时,能够达到符合区块链共识场景需求的交易吞吐量和延迟水平,还可实现共识机制难度自动调节机制。
20.2、利用划分的legendre序列共识算法,每次穷举搜索以一个特定的为基础进行,具有更高的独立性,从而避免恶意节点预计算序列并存储为后续带来优势。
21.3、legendre序列具有特定的数学结构,由有限域上的乘法特征生成,具有一定严格数学证明的随机性,可为共识机制提供好的安全性保证。
22.4、本发明具有好的可扩展性,可以通过构造新的伪随机序列发生器和选择不同大的梅森素数等方法,灵活地调整穷举搜索算法。
附图说明
23.图1是实现本发明的方法所对应的系统架构图。
24.图2是本发明的基于随机序列区块链共识算法的交易数据安全处理方法的流程图。
25.对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据以上附图获得其他的相关附图。
具体实施方式
26.以下结合附图和具体实施例对本发明作进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
27.图1给出了实现本发明的方法所对应的系统架构图,包括数据层、网络层和共识层。数据层包含了legendre序列、交易数据、版本号、时间戳、成员证明、目标难度、;在数据层的上方是网络层,主要包含p2p网络、传播机制、验证机制;在网络层的上方是共识层,即本发明设计的基于随机序列区块链共识算法的交易数据安全处理方法。
28.本发明的基于随机序列区块链共识算法的交易数据安全处理方法,包括以下步骤:步骤1,区块链初始化阶段:
选取legendre序列的周期,将这个周期划分为长度相等的个缝隙,并规定共识机制的穷举搜索的目标难度值,穷举搜索的目标为:在legendre序列中确定当前区块(可理解为任意的第n个区块)穷举搜索所对应的缝隙,根据该缝隙找到当前区块所对应的legendre子序列的起点,(即是由和拼接构成,是的高位组成部分,是的低位组成部分),使得该起点所对应的当前区块的legendre子序列的值满足小于当前目标难度值。(具体的讲,本实施例中,是在legendre序列自该起点往后数256位作为当前区块的legendre子序列)。
29.在本实施例中,选取梅森素数作为legendre序列的周期;将这个周期划分为个缝隙,每个缝隙长度为;通过异或运算得出创世区块(即第1个区块)对应的缝隙;其中,是第1个区块内交易的成员证明,设置。
30.步骤2,参见附图2,基于legendre序列的区块链pow共识阶段:s2.1获取共识机制的穷举搜索的目标难度值每当区块链网络全节点共识生产个区块后,根据整个区块链网络的出块速率,更新当前目标难度值,更新策略如下:其中是已有的目标难度值;是过去区块链网络全节点共识生产个区块所花费的时间;是预设的平均出块时间,本实施例中为,当然也可以预设成其他时间。
31.s2.2收集交易数据当前节点收集区块链网络上待处理的交易数据,将这些交易数据打包到区块体中。在该节点收集交易数据时,当前区块所对应的legendre子序列的起点及穷举搜索结果独立于该区块头中的其他字段。为了防止当前区块在整个区块链网络中传播时,其他共识节点篡改当前区块的版本号、当前区块生成的时间和当前区块目标难度值,因此本发明将这些字段一起打包到当前区块的区块头部分:即,将当前
区块版本号、当前区块生成的时间、当前区块的交易的成员证明、当前共识机制的穷举搜索的目标难度值和上一个区块(第n-1个区块)的legendre子序列的起点填入区块头。
32.其中,生成成员证明的方法有很多,在本实施例中以默克尔树的方法为例构建。将所有交易数据的哈希数值作为叶子构建一棵默克尔树,在区块链网络上公开默克尔树的根节点作为当前区块的交易的成员证明。
33.s2.3当前节点寻找当前区块的legendre子序列的起点,包括以下步骤:s2.31通过异或运算得到当前区块所对应的缝隙,。
34.s2.32初始化为0。
35.s2.33计算出,即,将与拼接得到;然后计算出该对应的legendre 子序列,比较的值与当前目标难度值的大小,如果不满足,则继续执行下一步骤;如果满足,则将该填入并组装到当前区块的区块头,广播该区块。
36.s2.34将得到新的,即,将向后移动256位。
37.s2.35将新的代入步骤s2.33,循环执行步骤s2.33-s2.34,直至找到满足要求的为止。找到后,将该填入并组装到当前区块的区块头,广播该区块。
38.进一步的说,为了提高效率,当前节点可预先检查步骤s2.33中子序列中最长的零游程,如果其长度超过了穷举搜索条件等价所需的前导0个数,那么向后移动到该最长零游程的起点,就自然找到了满足难度要求的子序列,不必向后移动256位。
39.在确定之前,由于随机的不能被预先计算或存储在内存,使得每次穷举搜索生成的序列有更高的独立性,可防止预先穷举搜索和存储攻击,消除了恶意节点的优势;同时,当前节点每次穷举搜索仅能以一个特定的为基础进行(作为
的高位,作为的低位),且可能的取值散布在一个足够大的(以大于为例)的空间内,均匀分布在整个空间内,根据生日悖论,碰撞的概率极小。
40.s2.4检查区块如果在当前节点完成步骤s2.3之前,当前节点接收到了区块链网络上的其他节点广播的区块,则暂停当前的穷举搜索(即,在当前节点完成步骤s2.3之前,区块链网络上已经有其他节点完成了穷举搜索并广播其区块),对接收到的区块做检查(检查接收到的区块是否其),若检查通过,则将该区块追加到区块链的尾部,然后从步骤s2.1开始重新打包新区块,进行穷举搜索;若检查不通过,则返回到步骤s2.3,继续当前的穷举搜索过程。
41.以上所述仅为本发明的实施例说明,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献