
技术摘要:
本发明公开了一种防止区块链大算力攻击的方法,所述方法包括:设定多条区块链的绑定结网关系;在所述多条区块链中选择一条区块链作为基准区块链;当所述基准区块链的新区块出块并向全网络发出新区块出块广播时,所述基准区块链同时搜寻其他区块链的新区块出块广播;相 全部
背景技术:
请结合参见图1、图2和图3,区块链的51%大算力攻击问题引起了人们的高度关 注,图1至图3显示的以数字货币网络为例的51%大算力攻击过程,如图1所示的正常交易过 程,假设用户A付给用户B10个数字货币,以换得 B的等值商品的一笔交易打包到第100号区 块,通常情况下,当后面再增加5 个区块后,在第6个区块确认该交易;如果用户A掌握了 51%大算力,用户 A付给用户B10个数字货币,随后就发起了一次给自己10个数字货币的交 易,并且用户A对这笔交易选择不广播,而是对区块链主链进行“分叉”,即生成另外一个第 100号区块,并在其中打包第二笔交易;这样就产生了两条链,把第一笔交易所在链称为C1, 第二笔交易所在链称为C2。其他矿工继续在 C1上打包数据,而A自己在C2上挖矿,由于A具 有超51%的大算力资源,有更强的计算能力,通过挖矿,很快生成的C2的区块数就会超过 C1,如图3 所示,C2在区块N 1时超过了区块链C1,其中N为自然数,这时,按照区块链最长链 优先原则,其他矿工会自动转到C2上挖矿,使C2变成主链;C1 会被抛弃,打包在C1上的所有 交易(包括第一笔A支付给B10数字货币的交易),都变为无效。结果A不花一分钱拥有了属于 B的商品。这就是常见的“51%大算力攻击”。 近年来,区块链网络受到大算力攻击的新闻时有报道,往往使被攻击者遭受严重 的损失;特别是,相比于一些长期安全稳定运行的区块链网络,如以太坊数字货币网络,新 构建的区块链网络更显得脆弱,容易遭到攻击,导致新构建的区块链网络因失去信任而被 废除;而且,随着量子计算技术的理论和实践的不断完善,量子计算在未来可能实现超大计 算力,对区块链的安全已构成潜在的隐患;所以,如何防止区块链大算力攻击这个问题受到 越来越多的重视。
技术实现要素:
本发明提供一种防止区块链大算力攻击的方法、装置及存储介质,旨在解决防止 区块链大算力攻击的问题,实现区块链的安全稳定运行。 本发明提供一种防止区块链大算力攻击的方法,所述方法包括: 步骤S10:设定多条区块链的绑定结网关系; 步骤S20:在所述多条区块链中选择一条区块链作为基准区块链; 步骤S30:当所述基准区块链的新区块出块并向全网络发出新区块出块广播时,所 述基准区块链同时搜寻其他所述多条区块链的新区块出块广播; 步骤S40:当搜寻所述新区块出块广播时,相应得到新出块区块的区块哈希; 步骤S50:将所述基准区块链的新区块哈希和得到的所述新出块区块的区块哈希 作为骨干区块链的业务并生成所述骨干区块链的新区块; 4 CN 111598567 A 说 明 书 2/8 页 步骤S60:所述骨干区块链的新区块出块并向全网络发出新区块出块广播; 步骤S70:任一所述多条区块链根据收到的所述骨干区块链的新区块出块广播,在 该区块链的新出块区块的区块头中加入所述骨干区块链的区块哈希或空值; 步骤S80:随着所述多条区块链的区块和所述骨干区块链的区块不断出块,得到用 以防止区块链大算力攻击的区块链网。 进一步地,其特征在于,基于适当出块时间从所述多条区块链中选择所述基准区 块链。 进一步地,所述适当出块时间为所述多条区块链中最小出块时间与最大出块时间 之间的出块时间; 进一步地,所述适当出块时间越短,所述区块链网越致密。 进一步地,所述骨干区块链的新区块结构包括区块头和区块体,所述区块头至少 包括本区块哈希、上一区块哈希、随机数、根哈希和时间戳,所述区块体的业务至少包括收 到的所述多条区块链的新出块区块的区块哈希。 进一步地,所述步骤S70包括: 步骤S710:任一所述多条区块链收到的所述骨干区块链的新区块出块广播;其中, 所述任一所述k条区块链为区块链Ci; 步骤S720:根据收到所述骨干区块链的新区块出块广播的间隔时间进行所述区块 链Ci新出块数量判断;当在所述间隔时间所述区块链Ci的新出块区块数量为大于1个时,执 行步骤S730;当在所述间隔时间所述区块链Ci的新出块区块数量为等于1个时,执行步骤 S740;当在所述间隔时间所述区块链 Ci的新出块区块数量为小于1个时,执行步骤S750; 步骤S730:在所述间隔时间内,所述区块链Ci的最先出块区块的区块头中加入所 述骨干区块链的区块哈希,后面区块的区块头中加入空值; 步骤S740:在所述间隔时间内,所述区块链Ci的新出块区块的区块头中加入所述 骨干区块链的区块哈希; 步骤S750:在所述间隔时间内,所述区块链Ci的新出块区块的区块头中加入在所 述间隔时间内的未被加入过的最先的所述骨干区块链的区块哈希。 进一步地,所述区块链的新区块以最长连接链优先原则确认进入各区块链的主链 内;所述最长连接链优先原则是指在一定时间内连接所述区块链网中最多区块链的区块链 优先。 为实现上述目的,本发明还提供了一种防止区块链大算力攻击的装置,所述防止 区块链大算力攻击的装置包括存储器模组和处理器模组,所述存储器模组上存储有可在所 述处理器模组上运行的防止区块链大算力攻击的程序,所述防止区块链大算力攻击的程序 被所述处理器模组执行时实现上述防止区块链大算力攻击的方法的步骤。 此外,为实现上述目的,本发明还提供了一种存储介质,所述存储介质为计算机可 读存储介质,所述存储介质上存储有防止区块链大算力攻击的程序,所述防止区块链大算 力攻击的程序可被一个或者多个处理器模组执行,以实现上述防止区块链大算力攻击的方 法的步骤。 本发明提供一种防止区块链大算力攻击的方法、装置及存储介质,通过新构建骨 干区块链实现多条区块链相互绑定的区块链网,增加了大算力攻击的难度,从而有效避免 5 CN 111598567 A 说 明 书 3/8 页 区块链网络遭受大算力攻击,实现区块链的安全稳定运行。 附图说明 图1为通常情况下区块链产生正常交易的过程示意图; 图2为大算力攻击时产生“分叉”的过程示意图; 图3为大算力攻击时产生的链C2取代链C1的过程示意图; 图4为本发明一实施例提供的防止区块链大算力攻击的方法流程示意图; 图5为本发明一实施例提供的基准区块链的新区块出块时向全网络发出新区块出 块广播的示意图; 图6为本发明一实施例提供的骨干区块链的区块结构示意图; 图7为本发明一实施例提供的骨干区块链的生成示意图; 图8为图4中的步骤S70的流程示意图; 图9为本发明一实施例提供的任一所述k条区块链的区块结构示意图; 图10为本发明一实施例提供的区块链网的结构示意图。 图11为本发明一实施例提供的防止区块链大算力攻击的装置内部结构示意图; 图12为本发明一实施例提供的防止区块链大算力攻击的装置中的防止区块链大 算力攻击的程序模块示意图。