预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112054990A(43)申请公布日2020.12.08(21)申请号202010708776.4(22)申请日2020.07.21(71)申请人杜晓楠地址新加坡大牌233碧山22街门牌05-132,570233(72)发明人杜晓楠(74)专利代理机构深圳市顺天达专利商标代理有限公司44217代理人邹秋菊(51)Int.Cl.H04L29/06(2006.01)H04L9/06(2006.01)H04L9/08(2006.01)权利要求书1页说明书5页附图2页(54)发明名称区块链系统中预防哈希洪水攻击的方法、计算机可读介质和区块链系统(57)摘要本发明涉及区块链系统中预防哈希洪水攻击的方法。初始化加载哈希算法指令集,所述哈希算法指令集包括固定指令集和可变指令集。加载和同步区块链系统的区块。运行区块链系统并生成种子哈希值。停止哈希运算并根据所述种子哈希值更新所述可变指令集,并在所述可变指令集更新完毕之后,继续运行区块链系统。本发明还涉及计算机可读介质和区块链系统。本发明通过周期性更新内存密集算法程序的可变指令集,使得攻击者无法通过使用FPGA和ASCI等硬件在短期内产生大量哈希值,从而对区块链进行哈希洪水攻击,因此可以稳定区块链网络性能,提高区块链网络性能的健壮性和适应性。CN112054990ACN112054990A权利要求书1/1页1.一种区块链系统中预防哈希洪水攻击的方法,其特征在于,包括:S1、初始化加载哈希算法指令集,所述哈希算法指令集包括固定指令集和可变指令集;S2、加载和同步区块链系统的区块;S3、运行区块链系统并生成种子哈希值;S4、停止哈希运算并根据所述种子哈希值更新所述可变指令集,并在所述可变指令集更新完毕之后,继续运行区块链系统。2.根据权利要求1所述的区块链系统中预防哈希洪水攻击的方法,其特征在于,所述步骤S1进一步包括:将所述哈希算法指令集从硬盘读取到内存中并记录所述可变指令集的起始地址和结束地址。3.根据权利要求2所述的区块链系统中预防哈希洪水攻击的方法,其特征在于,所述哈希算法指令集包括第一固定指令集、可变指令集和第二固定指令集。4.根据权利要求1所述的区块链系统中预防哈希洪水攻击的方法,其特征在于,所述步骤S2进一步包括:区块链系统加载本地区块并询问周围节点的区块高度;如果周围节点的高度高于所述本地区块的区块高度,则与所述周围节点进行数据同步直至所述本地区块的区块高度等于周围节点的区块高度。5.根据权利要求1-4中任意一项所述的区块链系统中预防哈希洪水攻击的方法,其特征在于,所述步骤S3进一步包括:S31、运行区块链系统并根据当前区块高度选择种子高度;S32、基于选择的种子高度和当前种子高度选择种子区块;S33、将所述种子区块的哈希值作为种子哈希值。6.根据权利要求5所述的区块链系统中预防哈希洪水攻击的方法,其特征在于,所述步骤S31进一步包括:判定当前区块高度是否小于种子切换周期与种子选取延时之和;如果是,则种子高度=0;否则将当前区块高度与种子选取延时之差减去1所得的数值,与种子切换周期与1之差值进行按位与运算,然后取反作为种子高度。7.根据权利要求6所述的区块链系统中预防哈希洪水攻击的方法,其特征在于,所述步骤S32进一步包括:比较选择的种子高度和当前种子高度,如果相等则不修改种子区块,否则读取位于选择的种子高度的区块作为种子区块。8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-7中任意一项权利要求所述的区块链系统中预防哈希洪水攻击的方法。9.一种区块链系统,包括多个区块链节点,所述区块链节点上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-7中任意一项权利要求所述的区块链系统中预防哈希洪水攻击的方法。2CN112054990A说明书1/5页区块链系统中预防哈希洪水攻击的方法、计算机可读介质和区块链系统技术领域[0001]本发明涉及区块链领域,更具体地说,涉及一种区块链系统中预防哈希洪水攻击的方法、计算机可读介质和区块链系统。背景技术[0002]区块链技术是一种共享的分布式数据库技术,其优势主要突出表现在分布式去中心化、无须信任系统、不可篡改和加密安全性等方面。它是一种使用去中心化共识机制去维护一个完整的、分布式的、不可篡改的账本数据库的技术,它能够让区块链中的参与者在无须建立信任关系的前提下实现一个统一的账本系统。[0003]在区块链的构建过程中,将不断为新产生的区块计算哈希值。因此,攻击者使用现场可编程逻辑门阵列(FieldProgrammableGateArray,FPGA)和专用集成电路(ApplicationSpecif