[发明专利]防攻击方法、设备和存储介质有效
申请号: | 202010373917.1 | 申请日: | 2020-05-06 |
公开(公告)号: | CN111523897B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 何玉斌;王志文;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06Q20/38 | 分类号: | G06Q20/38;G06F16/27;G06F16/2455;G06F16/22 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市西湖*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 攻击 方法 设备 存储 介质 | ||
本发明提供一种防攻击方法、设备和存储介质,该方法包括:在交易广播阶段根据交易全哈希对交易进行查重;在获取第一区块高度的第一区块的打包权时,从本地交易池打包若干交易以生成第一区块,根据第一区块生成第一数据集合;向其它区块链节点广播第一数据集合,以供其它区块链节点:根据第一数据集合的第一交易全哈希列表在本地交易池查找第一区块的各交易;在经过梅克尔根验证后,根据第一数据集合和所查找到的各交易组装还原第一区块。上述方法提高区块链稳定性。
技术领域
本申请涉及区块链技术领域,具体涉及一种防攻击方法、设备和存储介质。
背景技术
在申请人先前所提出的交易广播机制(具体可参考申请人所申请的各项交易广播或区块广播等专利文本)中,交易哈希由交易的交易内容生成,区块的区块头信息中的梅克尔根由区块的各交易的交易哈希计算生成,区块链节点在收到一笔交易,假设该交易内容为content(X),区块链节点先判断本地是否已存有与content(X)相同的另一笔交易:若存有,则丢弃新接收的交易;若未存有,则将新接收的交易存入本地交易池。在申请人先前所提出的区块验证机制(具体可参考申请人所申请的各项区块生成、区块广播或区块验证等专利文本)中,生成区块的区块链节点将所生成的区块的数据集合(包括所生成的区块的区块头信息和交易哈希列表)发送给其它区块链节点;其它区块链节点在接收区块时,根据交易哈希列表在本地交易池查找所接收区块的各交易,根据所查找到的各交易的交易哈希计算梅克尔根,在判断所计算的梅克尔根与区块头信息中的梅克尔根相同时,再根据所接收的数据集合和所查找到的各交易组装还原第一区块,执行所还原的第一区块得到执行结果,在执行结果与区块头信息中的执行结果不一致时,区块链节点认为该问题(梅克尔根相同,执行结果不同)是版本不一致导致的,区块链节点停止运行并等待版本更新。
假设区块链中有ABCD四个区块链节点,用户a为恶意用户,用户a用两个账户的私钥对同一笔交易内容进行签名生成两笔不同的交易tx1(sig_a1(content(M)))和tx2(sig_a2(content(M)));假设A、B先收到tx1,C、D先收到tx2;A、B收到tx1后,再收到tx2时,由于tx1和tx2的交易内容相同,A、B不会将tx2存入本地交易池;同理,C、D不会将tx1存入本地交易池;假设A生成了包括tx1的区块block(N),并将blockheader(N)和block(N)的交易哈希列表广播给B、C、D;由于交易哈希由交易的交易内容生成,因此A、B、C、D的梅克尔根均相同;在梅克尔根相同的情况下,B、C、D根据所查找到的交易组装还原block(N);B根据hash(content(M))从本地查找到tx1,而C、D根据hash(content(M))从本地查找到tx2;因此,A、B执行block(N)所生成的第一执行结果相同,C、D执行block(N)所生成的第二执行结果相同,而第一执行结果与第二执行结果不同。C、D认为该问题是版本不一致导致的,C、D停止运行并等待版本更新。可见,在上述交易广播机制中,一笔交易可以让很多区块链节点无法正常工作,降低了区块链运行的稳定性。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种提高区块链稳定性的防攻击方法、设备和存储介质。
第一方面,本发明提供一种适用于区块链节点的防攻击方法,区块链系统不支持生成和执行交易组,上述方法包括:
接收客户端发送的或其它区块链节点广播的第一交易,根据第一交易的第一交易内容和第一签名信息生成第一交易全哈希;
在本地交易池中不存在与第一交易全哈希相同的第二交易时,存储第一交易并向其它区块链节点广播第一交易;
在获取第一区块高度的第一区块的打包权时,从本地交易池打包若干交易以生成第一区块,根据第一区块生成第一数据集合;其中,第一数据集合包括第一区块的第一区块头信息和第一交易全哈希列表,第一区块头信息包括第一梅克尔根,第一梅克尔根由所打包的各交易的交易全哈希生成;以及,
向其它区块链节点广播第一数据集合,以供其它区块链节点:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010373917.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种沙漠地区光伏板清洗车
- 下一篇:一种适用密集型特征视觉测量的零度光源