区块链的蜜链欺骗防御系统及方法

文档序号:33245043发布日期:2023-02-17 22:56阅读:51来源:国知局
区块链的蜜链欺骗防御系统及方法

1.本发明涉及通信技术领域,具体涉及一种区块链的蜜链欺骗防御系统及方法。


背景技术:

2.区块链技术作为一种分布式数据存储、点对点传输、共识机制、加密算法等技术的新型集成应用,具有分布式、开放性、防篡改、匿名性、可追溯等特点。区块链系统不依赖于任何中心性化的可信机构,通过激励措施及共识机制保证节点诚信。使用时间戳、哈希值指针和数字签名保证事务交易不可逆和可追溯性,使用数字签名保证事务交易不可伪造、不可篡改、不可否认等特点。数字签名使用一次性公钥,保证用户身份私密性,只有被多数记账节点认可的记录才能加入区块链中。
3.现有的有关区块链的欺骗防御方法主要采取使用欺骗攻击防御技术,基于区块链的arp欺骗攻击防御方法:获取局域网内源主机向目标主机发送的arp请求,arp请求中包含:目标主机的ip地址;获取目标主机向源主机返回的arp响应结果,arp响应结果中包含:目标主机的第一mac地址;根据目标主机的ip地址,查询区块链网络上存储的目标主机的第二mac地址;判断第一mac地址与第二mac地址是否一致;当第一mac地址与第二mac地址不一致的情况下,将第二mac地址发送给源主机,使得源主机根据第二mac地址与目标主机通信。而该技术存在着如下问题:缺乏将共识算法、共识流程与欺骗防御技术的有机融合,从而只能被动处理共识失效状况。


技术实现要素:

4.鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的区块链的蜜链欺骗防御系统及方法。
5.根据本发明实施例的一个方面,提供了一种区块链的蜜链欺骗防御系统,包括:多个共识节点系统,其中,任一共识节点系统包括:重定向器、区块链共识节点、蜜链共识节点;
6.区块链共识节点,适于对接收到的交易集进行共识验证,得到第一共识验证结果;接收其他区块链共识节点通过共识通信广播的第二共识验证结果,根据第一共识验证结果和第二共识验证结果确定是否达成共识;若否,则通过重定向器将交易集及共识结果重定向给同一共识节点系统的蜜链共识节点;根据共识甄别处理结果确定是否重新选取区块链共识节点;
7.蜜链共识节点,适于根据重定向的交易集及共识结果进行欺骗甄别处理,接收其他蜜链共识节点通过共识通信广播的甄别处理结果;通过重定向器将共识甄别处理结果反馈给区块链共识节点。
8.根据本发明实施例的另一方面,提供了一种区块链的蜜链欺骗防御方法,该方法应用于上述区块链的蜜链欺骗防御系统,方法包括:
9.区块链共识节点对接收到的交易集进行共识验证,得到第一共识验证结果;接收
其他区块链共识节点通过共识通信广播的第二共识验证结果,根据第一共识验证结果和第二共识验证结果确定是否达成共识;若否,则通过重定向器将交易集及共识结果重定向给同一共识节点方法的蜜链共识节点;根据共识甄别处理结果确定是否重新选取区块链共识节点;
10.蜜链共识节点根据重定向的交易集及共识结果进行欺骗甄别处理,接收其他蜜链共识节点通过共识通信广播的甄别处理结果;通过重定向器将共识甄别处理结果反馈给区块链共识节点。
11.根据本发明实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
12.存储器用于存放至少一可执行指令,可执行指令使处理器执行上述区块链的蜜链欺骗防御方法对应的操作。
13.根据本发明实施例的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述区块链的蜜链欺骗防御方法对应的操作。
14.根据本发明上述实施例提供的方案,将蜜链技术嵌入区块链共识算法中,主动提升区块链系统的高可靠性,保障满足前提条件,而不只是被动处理前提条件失效的状况。
15.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明实施例的具体实施方式。
附图说明
16.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
17.图1a示出了本发明实施例提供的区块链的蜜链欺骗防御系统的示意图;
18.图1b为有向无环图dag蜜链日志的示意图;
19.图1c为区块链共识节点所维护的工作区块链与蜜链共识节点所维护的影子蜜链的示意图;
20.图1d为事务回滚操作后工作区块链与影子蜜链的示意图;
21.图2示出了本发明实施例提供的区块链的蜜链欺骗防御方法流程图;
22.图3示出了本发明实施例提供的计算设备的结构示意图。
具体实施方式
23.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
24.图1示出了本发明实施例提供的区块链的蜜链欺骗防御系统的示意图。如图1所示,该系统包括:多个共识节点系统,其中,任一共识节点系统包括:重定向器、区块链共识
节点、蜜链共识节点;
25.区块链共识节点,适于对接收到的交易集进行共识验证,得到第一共识验证结果;接收其他区块链共识节点通过共识通信广播的第二共识验证结果,根据第一共识验证结果和第二共识验证结果确定是否达成共识;若否,则通过重定向器将交易集及共识结果重定向给同一共识节点系统的蜜链共识节点;根据共识甄别处理结果确定是否重新选取区块链共识节点。
26.蜜链共识节点,适于对重定向的交易集及共识结果进行欺骗甄别处理,接收其他蜜链共识节点通过共识通信广播的甄别处理结果;通过重定向器将共识甄别处理结果反馈给区块链共识节点。
27.本实施例提供的区块链的蜜链欺骗防御系统,区块链共识节点运行共识算法,例如,拜占庭容错共识算法,当然还可以是其它共识算法,这里不做具体限定。
28.各区块链共识节点对其接收到的交易集进行共识验证,得到第一共识验证结果;各区块链共识节点之间可以进行共识通信,接收系统中的其他区块链共识节点通过共识通信广播的第二共识验证结果,根据第一共识验证结果和第二共识验证结果确定是否达成共识;若否,则通过重定向器将交易集及共识结果重定向给属于同一共识节点系统的蜜链共识节点,此时交易集并没有被上链至工作区块链,从而能够保证系统的安全;根据共识甄别处理结果确定是否重新选取区块链共识节点。
29.蜜链共识节点,适于根据重定向的交易集及共识结果进行欺骗甄别处理,接收其他蜜链共识节点通过共识通信广播的甄别处理结果;通过重定向器将共识甄别处理结果反馈给区块链共识节点。
30.在本发明一种可选实施方式中,区块链共识节点还适于:统计未达成共识的区块链共识节点数量;
31.若未达成共识的区块链共识节点数量小于或等于预设数量,则将交易集上链至工作区块链,并根据未达成共识的区块链共识节点数量确定共识失效风险等级;通过重定向器将共识失效风险等级、交易集及共识结果重定向给同一共识节点系统的蜜链共识节点;
32.若未达成共识的区块链共识节点数量大于预设数量,则通过重定向器将交易集及共识结果重定向给同一共识节点系统的蜜链共识节点。
33.这里将以共识算法为拜占庭容错共识算法为例进行说明,当然并不限于上述算法,拜占庭容错(pbft,practical byzantine fault tolerance)共识算法指出能保证系统正常运行的前提条件,即当出错区块链共识节点数量小于等于f时,区块链系统仍然正常工作,得到正确结果。
34.如图1a所示,设区块链的蜜链欺骗防御系统中有3f+1=4个区块链共识节点,分布在4个相互独立的共识节点系统a、b、c、d中,其中f=1,即该区块链的蜜链欺骗防御系统中出现一个被控的区块链共识节点,区块链的蜜链欺骗防御系统仍然能够正常工作。在的共识节点系统中,各个共识节点系统除了独立地进行正常交易验证、加密解密、智能合约执行、共识算法运行、验证结果投票、广播通讯、区块链存储等操作,还有蜜链欺骗防御技术,提升加固区块链的安全性。
35.设x表示共识过程中未达成共识的区块链共识节点数量,其中未达成共识的区块链共识节点是指共识过程中,这些区块链共识节点的共识结果与不小于2f+1个区块链共识
节点的共识结果不一致;z表示完成共识后出块的轮数,z表示出块的轮数的阈值;y表示共识结果一致性小于2f+1的轮数,y表示共识结果不一致的轮数的阈值;r表示pbft的前提条件失效的风险等级,例如,高中低三个等级,根据x与f的比率。
36.区块链的蜜链欺骗防御系统启动后,从共识节点池(假设共识节点池的所有区块链共识节点都处于安全健康状态)选出3f+1个共识节点参与区块链的蜜链欺骗防御系统的共识操作,从3f+1个区块链共识节点选出建块的区块链共识主节点。选中的主节点从其交易池里按序取出一定量的交易建块,并将该块广播给其他选出的共识节点;3f+1个共识节点执行拜占庭容错算法。
37.如果未达成共识的区块链共识节点数量不超过f,则出块并判断出块的轮数z是否不超过z。如果是继续从交易池中获取交易集,如果超过z,则重新从选出的3f+1个区块链共识节点中选出区块链共识主节点,继续共识操作;与此同时根据x的值,计算出风险等级,将该风险等级、交易集及共识结果通过重定向器重定向给同一共识节点系统的蜜链共识节点,由蜜链共识节点做进一步处理;
38.如果未达成共识的区块链共识节点数量超过f,则进一步判断未达成共识的轮数y是否小于或等于阈值y,若未达成共识的轮数y小于或等于阈值y则将该交易区块的交易放回交易池中,重新获得交易集,由区块链共识主节点建块继续运行;如果未达成共识的轮数y大于阈值y,整个区块链安全处于严重威胁状态,需要重新从共识节点池选出3f+1个区块链共识节点参与共识操作。与此同时交易集及共识结果态通过重定向器重定向给同一共识节点系统的蜜链共识节点,由蜜链共识节点做进一步处理。
39.在本发明一种可选实施方式中,蜜链共识节点还适于:利用私钥对交易集及共识结果进行签名生成请求验证包,将请求验证包接入本地的有向无环图dag蜜链日志中,将请求验证包广播给其他蜜链共识节点,以供其他蜜链共识节点将该请求验证包接入各自本地的有向无环图dag蜜链日志中,对该请求验证包进行验证得到验证包,并对验证包进行广播处理;接收其他蜜链共识节点广播的验证包,根据所接收到的验证包确定待追踪的目标交易集,对目标交易集进行交易方追踪处理,并通知重定向器将交易方对应的目标交易集路由至该蜜链共识节点。
40.其中,各个蜜链共识节点将第1个请求验证包连接本地的有向无环图dag蜜链日志的创世包;将第n个请求验证包连接到有向无环图dag蜜链日志最新接入的验证包;若预设时间段内没有接入的验证包,则将请求验证包直接连接到最新连接的请求验证包,其中,n≥2。
41.蜜链共识节点还适于:定时将增量有向无环图dag蜜链日志广播给其他蜜链共识节点;根据其他蜜链共识节点通过共识通信广播的增量有向无环图dag蜜链日志及本地的有向无环图dag蜜链日志,识别该蜜链共识节点是否被控制。
42.具体地,虽然强调区块链上的数据具有难以篡改、去中心化特性,但是区块链的攻击也是无时不在的。这些攻击可能由于区块链本身以及智能合约的漏洞,还有黑客攻击各自层出不穷的攻击方式,包括一些钓鱼网站、对交易所的ddos攻击、欺骗等手段。
43.对区块链系统的可用性攻击,类似于传统的ddos攻击,让区块链停止处理网络中有价值的交易和数据,从而让整个系统停止。黑客采取的方法可能比较简单,比如发送大量垃圾交易堵塞网络,或者恶意围堵某个或若干个区块链共识节点造成对这些共区块链识节
点的日蚀攻击等。
44.以基于pbft的联盟链为例,黑客为了阻止并破坏交易的正常进行,使区块链系统处于瘫痪状态,采取的方式可能是向区块链系统中的一些区块链共识节点,发送大量甚至是超大量的交易,耗尽网络宽带资源,形成对这些区块链共识节点的围堵,造成不能达成共识的区块链共识节点数量超过f个,最终导致区块链系统不能正常出块,处于瘫痪状态。
45.假设共识节点系统a被围堵,持续接收到超大量的交易处理请求,致使区块链共识节点a无法接收其他正常交易处理请求,无法验证这些正常交易,无法参加共识投票。一轮共识结束时,被其他三个区块链共识节点确认为出错节点。区块链共识节点a将其收到的交易集合sa连同该轮的共识结果r一起发给重定向器,由重定向器转发给蜜链共识节点a,如图1b所示。
46.蜜链共识节点a将交易集sa及共识结果r打包,使用其私钥签名形成请求验证包p,一方面将p接入本地的有向无环图dag蜜链日志(简称,蜜志)中,请求验证包p在dag蜜志中用正方形表示,另一方面将p广播给其他共识节点系统的蜜链共识节点b、c、d。蜜链共识节点b、c、d接收到请求验证包p,各自将请求验证包p接入本地的dag蜜志中。假设黑客的目标是蜜链共识节点a,因而从蜜链共识节点a发出的p中的交易集sa,大部分交易蜜链共识节点b、c、d都没有收到。蜜链共识节点b、c、d都会将没有接收到的交易标记出,并各自将验证结果打包使用各自私钥签名形成验证包v,将各自验证包v接入本地的dag蜜志中,v包在dag中用三角形表示,另一方面将各自打包签名的验证结果v包广播给其他共识节点系统的蜜链共识节点。这些蜜链共识节点接收到验证结果v包,各自将收到的所有验证结果接入本地的dag蜜志中。假设蜜链共识节点b、c、d都能正常执行验证请求,所广播的v包都能被正常接收到。蜜链共识节点a根据其他三个蜜链共识节点的三个v包,确定待追踪的目标交易集t。
47.蜜链共识节点a在确定待追踪的目标交易集后,同时采取三个行动,一方面对于目标交易集t实施基于水印技术跟踪交易的发起方,提供攻击路径和其他被攻击的证据;另外一方面在身份认证中心ca查询目标交易集用户的注册信息,核对水印技术跟踪交易与身份认证中心ca查询结果,进一步确认交易的发起方的真实身份,以便对于交易的发起方实施经济及法律追责。与此同时,通知共识节点系统a的重定向器将交易方所涉及的目标交易集都路由到蜜链共识节点a,一方面蜜链共识节点a继续追踪分析这些交易的发起方,另一方面避免这些交易对于区块链共识节点a处理正常交易请求的压力,使得区块链共识节点a能够恢复正常工作,确保拜占庭容错算法的前提条件总是得到满足。
48.本实施例使用有向无环图dag数据结构作为蜜链日志的载体,而非块链式的数据结构或其他类型的数据结构,是因为基于dag的分布式账本技术,拥有高可扩展、高并发等特性并适用于区块链系统安全检测场景。蜜链共识节点的日志运行目标不是处理业务交易,而是确保区块链系统安全运行;蜜链日志需要安全,也需要高效率高吞吐量处理蜜链技术产生的大量日志。本实施例通过私钥签名、独立存储有向无环图dag蜜志来提示安全性。本实施例中的有向无环图dag蜜志,不仅各自独立地记录请求验证包p,以及验证包v,还可以基于有向无环图dag蜜志作一系列的安全分析检测。
49.dag蜜志的起始节点是创世包,各个蜜链共识节点将第一次提交的请求验证直接连接创世节点;之后提交的请求验证包连接到最近自己完成的验证包,如果一定时间没有参与验证,则将请求验证包直接连接到最近一次提交的请求验证包。通过对dag蜜志进行分
析,处理dag蜜志的各个请求验证包及验证包的信息之外,同一个dag蜜志中的节点之间的关联关系也提供重要信息,例如,(1)各个蜜链共识节点参与验证的情况,不能及时参加蜜链共识节点可能存在某种问题或风险等;(2)蜜链共识节点不断发出请求验证,在dag蜜志中表现为请求验证节点相互持续直接相连,对应的区块链共识节点可能遭遇严重威胁,应引起其他区块链共识节点的高度警觉。
50.另外,通过定时或按事先约定的方式,各个蜜链共识节点之间相互迭代转发增量的dag蜜志,通过不同蜜链共识节点的dag的相似性分析,可以发现是否有蜜链共识节点被控的可能性,从而提升并保障蜜链子系统的安全性。
51.在本发明一种可选实施方式中,蜜链共识节点还适于:启动蜜链方舱,在蜜链方舱中根据目标交易集执行智能合约,并将执行结果存入方舱交易池中;对蜜链共识主节点创建的影子区块进行共识验证,得到第三共识验证结果;接收其他蜜链共识节点通过共识通信广播的第四共识验证结果,根据第三共识验证结果和第四共识验证结果确定是否达成共识,若是,则将共识影子区块上链至影子蜜链;
52.若预设隔离窗口期结束,判断针对智能合约是否存在攻击行为;
53.若不存在攻击行为,则关闭蜜链方舱以解除对智能合约运行及目标交易集的隔离,并将影子蜜链上的影子区块同步至工作区块链上;
54.若存在攻击行为,对影子蜜链进行事务回滚处理,以使影子蜜链回滚至初始状态。
55.具体地,智能合约是一种经过共识的规则,以代码的形式存于区块链上,在合约条件满足是,合约代码自动执行,不受任何方的干预或控制,合约所触发执行的交易可追踪且不可逆转。智能合约虽然强大,但开发一个完全无误的代码是不可能的。如果代码书写的合约具有法律效力,并且在一个不可改变的区块链中存储信息,智能合约代码的漏洞会带来巨大的风险、造成不可估量的经济损失,是区块链安全问题的重灾区。
56.区块链系统中的各个共识系统经过共识后,独立存储并维护各自的工作区块链和影子蜜链,如图1c所示。其中工作区块链是指区块链共识系统中经过共识节点验证达成共识的区块后连接而成,而影子蜜链是指由区块链共识系统中蜜链共识节点达成共识后,通过指向对应的工作区块,或是将蜜链共识的区块同步到工作区块链中。
57.其中,智能合约受到的攻击类型包括,重入攻击、权限控制、整型溢出、未检查的call返回值、交易顺序依赖、时间戳依赖、条件竞争等。智能合约的攻击往往会造成巨大的经济损失。例如,攻击者传入了一个非常大参数value值,通过赋值导致支付整数变量amount溢出,使其值为零,如果智能合约代码没有对amount进行检测,虽然之后的代码做了严格的检测,但是因为amount达到零之后,它绕过了检测,结果就使黑客获取了非常大value值的数字货币,而他自己的钱包里却没有支付一分钱。这是一个典型的整型溢出攻击。重入实质是递归,就是对于一个函数的循环调用和对自身的循环调用。代码合约的withdraw函数其实是可以进行递归操作,存在的问题在于,事先没有进行先判断后转账的操作,这样就可以给攻击者产生能够成功进行重入漏洞的一个条件。因此,需要进行影子蜜链处理,具体处理流程如下:
58.重定向器将区块链共识节点发送的交易集以及蜜链共识节点通知重定向器重定向的目标交易集重定向给蜜链共识节点,这些交易请求执行疑似有问题的智能合约。
59.蜜链共识节点之间预先通过共识机制预设隔离窗口期,蜜链共识节点启动蜜链方
舱,智能合约在蜜链方舱中执行:蜜链合约的“读账户”操作可在工作区块链上;但蜜链合约的“写账户”操作只能在影子蜜链上。各个蜜链共识节点在蜜链方舱中执行智能合约,执行结果放入方舱的待验证的交易池中。
60.如果隔离窗口期没有结束,检查建块条件是否成立,例如交易池中的交易量达到一定阈值或是过了一定时间段。如果建块条件成立,各个蜜链共识节点从蜜链方舱的交易池中取出交易集,由蜜链共识节点中的蜜链共识主节点建块,各个蜜链共识节点验证合约执行结果,将共识的影子区块接入到影子蜜链中,继续查看隔离窗口期是否结束。如果建块条件不成立,则继续执行智能合约,并将执行结果放入方舱的交易池中。
61.如果隔离窗口期结束,诊断是否有智能合约漏洞以及黑客攻击行为,如果能确认没有任何攻击行为,则关闭蜜链方舱,以解除对智能合约运行及数据的隔离,将影子蜜链上的共识区块同步到工作区块链上,如图1d所示,以区块链共识系统a为例,影子蜜链上的区块a2’和a3’是在隔离的方舱中执行合约验证结果、投票、区块上影子蜜链,当确认没有任何攻击行为时,就将影子蜜链上的区块a2’和a3’同步工作区块链上,作为到a2和a3。如果确认有智能合约漏洞并发生了攻击行为,蜜链子系统采取事务回滚操作,可能采用区块链系统事先预定好的事务回滚操作,如saga机制。最为高效直接的方法是使影子蜜链上的区块数据失效,回滚到工作区块链的最后一个区块状态,如图1d所示,假设蜜链共识节点在蜜链方舱中处理的影子区块到了a5’,那么丢掉影子蜜链的影子区块数据a5’,区块链系统处理的工作区块链的最后一个区块就是a4。
62.影子蜜链的各个蜜链共识节点是在隔离的方舱中独立执行智能合约的代码,合约代码所访问的数据以及执行的操作收到约束,即合约的“读账户”操作可在工作区块链上;但合约的“写账户”操作只能在蜜链上。这样一方面使潜在的攻击者感到区块链系统在执行合约代码,却感受不到来自蜜链的欺骗,提升蜜链系统的高交互性;另一方面又不使潜在的威胁对于区块链系统造成破坏。当确认不是攻击威胁后,蜜链系统中各个蜜链共识节点所执行的智能合约,验证建块的结果都将被同步复用;而当确认有智能合约漏洞并发生了攻击行为,蜜链共识节点采取事务回滚操作,可以采用区块链系统事先预定好的事务回滚操作,使区块链系统回到一个状态,好像没有发生过攻击一样,有效阻断攻击所造成的任何恶果。
63.基于拜占庭容错共识算法的联盟链系统中,3f+1个区块链共识节点运行拜占庭容错共识算法,如果出现小于等于f个区块链共识节点没有提供一致的共识结果,那么一方面进行正常的建块并将该块上链;同时另一方面通过重定向器触发蜜链子系统,识别是交易异常,还是这些共识节点被控;如果是交易异常,蜜链子系统将记录、分析并追踪交易发起方,如果是共识节点被控,蜜链子系统将启动影子蜜链技术,生成影子区块并支持交易回滚,避免恶意攻击所带来的经济损失;蜜链子系统及时将分析及追踪结果反馈给重定向器,重定向器将蜜链系统的检测结果反馈给区块链共识系统,由区块链共识系统根据当前出错节点数清严重程度,决定是否从共识节点池中重新选取共识节点集,确保共识节点集始终满足共识算法正常工作的前提条件。
64.本发明提供的方案:将蜜链技术嵌入区块链共识算法中,主动提升区块链系统的高可靠性,保障满足前提条件,而不只是被动处理前提条件失效的状况。提出基于dag数据结构的蜜链日志,支持独立又协调、高效又易于分析:蜜链子系统中,将疑似受攻击、有漏洞
的智能合约放在蜜链方舱中运行,既防止入侵给区块链系统可能带来的严重损害,又使区块链系统具有很高的交互性,提升欺骗防御的效果。影子蜜链支持交易回滚,使区块链系统回到一个状态,好像没有发生过攻击一样,有效阻断攻击所造成的任何恶果。
65.图2示出了本发明另一个实施例提供的区块链的蜜链欺骗防御方法的流程图。该方法应用于图1所示实施例的区块链的蜜链欺骗防御系统,如图2所示,该方法包括以下步骤:
66.步骤s201,区块链共识节点对接收到的交易集进行共识验证,得到第一共识验证结果;接收其他区块链共识节点通过共识通信广播的第二共识验证结果,根据第一共识验证结果和第二共识验证结果确定是否达成共识;若否,则通过重定向器将交易集及共识结果重定向给同一共识节点方法的蜜链共识节点;根据共识甄别处理结果确定是否重新选取区块链共识节点。
67.步骤s202,蜜链共识节点根据重定向的交易集及共识结果进行欺骗甄别处理,接收其他蜜链共识节点通过共识通信广播的甄别处理结果;通过重定向器将共识甄别处理结果反馈给区块链共识节点。
68.可选地,蜜链共识节点根据重定向的交易集及共识结果进行欺骗甄别处理,接收其他蜜链共识节点通过共识通信广播的甄别处理结果;通过重定向器将共识甄别处理结果反馈给区块链共识节点进一步包括:
69.利用私钥对交易集及共识结果进行签名生成请求验证包,将请求验证包接入本地的有向无环图dag蜜链日志中,将请求验证包广播给其他蜜链共识节点,以供其他蜜链共识节点将该请求验证包接入各自本地的有向无环图dag蜜链日志中,对该请求验证包进行验证得到验证包,并对验证包进行广播处理;接收其他蜜链共识节点广播的验证包,根据所接收到的验证包确定待追踪的目标交易集,对目标交易集进行交易方追踪处理,并通知重定向器将交易方对应的目标交易集路由至该蜜链共识节点。
70.可选地,各个蜜链共识节点将第1个请求验证包连接本地的有向无环图dag蜜链日志的创世包;将第n个请求验证包连接到有向无环图dag蜜链日志最新接入的验证包;若预设时间段内没有接入的验证包,则将请求验证包直接连接到最新连接的请求验证包,其中,n≥2。
71.可选地,方法还包括:蜜链共识节点定时将增量有向无环图dag蜜链日志广播给其他蜜链共识节点;根据其他蜜链共识节点通过共识通信广播的增量有向无环图dag蜜链日志及本地的有向无环图dag蜜链日志,识别该蜜链共识节点是否被控制。
72.可选地,方法还包括:蜜链共识节点启动蜜链方舱,在蜜链方舱中根据目标交易集执行智能合约,并将执行结果存入方舱交易池中;对蜜链共识主节点创建的影子区块进行共识验证,得到第三共识验证结果;接收其他蜜链共识节点通过共识通信广播的第四共识验证结果,根据第三共识验证结果和第四共识验证结果确定是否达成共识,若是,则将共识影子区块上链至影子蜜链;
73.若预设隔离窗口期结束,判断针对智能合约是否存在攻击行为;
74.若不存在攻击行为,则关闭蜜链方舱以解除对智能合约运行及目标交易集的隔离,并将影子蜜链上的影子区块同步至工作区块链上;
75.若存在攻击行为,对影子蜜链进行事务回滚处理,以使影子蜜链回滚至初始状态。
76.可选地,区块链共识节点根据第一共识验证结果和第二共识验证结果确定是否达成共识进一步包括:
77.统计未达成共识的区块链共识节点数量;
78.若未达成共识的区块链共识节点数量小于或等于预设数量,则将交易集上链至工作区块链,并根据未达成共识的区块链共识节点数量确定共识失效风险等级;通过重定向器将共识失效风险等级、交易集及共识结果重定向给同一共识节点方法的蜜链共识节点。
79.可选地,方法还包括:若未达成共识的区块链共识节点数量大于预设数量,则区块链共识节点通过重定向器将交易集及共识结果重定向给同一共识节点方法的蜜链共识节点。
80.本发明提供的方案:将蜜链技术嵌入区块链共识算法中,主动提升区块链系统的高可靠性,保障满足前提条件,而不只是被动处理前提条件失效的状况。提出基于dag数据结构的蜜链日志,支持独立又协调、高效又易于分析:蜜链子系统中,将疑似受攻击、有漏洞的智能合约放在蜜链方舱中运行,既防止入侵给区块链系统可能带来的严重损害,又使区块链系统具有很高的交互性,提升欺骗防御的效果。影子蜜链支持交易回滚,使区块链系统回到一个状态,好像没有发生过攻击一样,有效阻断攻击所造成的任何恶果。
81.本发明实施例提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的区块链的蜜链欺骗防御方法。
82.图3示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
83.如图3所示,该计算设备可以包括:处理器(processor)、通信接口(communications interface)、存储器(memory)、以及通信总线。
84.其中:处理器、通信接口、以及存储器通过通信总线完成相互间的通信。通信接口,用于与其它设备比如客户端或其它服务器等的网元通信。处理器,用于执行程序,具体可以执行上述用于计算设备的区块链的蜜链欺骗防御方法实施例中的相关步骤。
85.具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。
86.处理器可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
87.存储器,用于存放程序。存储器可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
88.程序具体可以用于使得处理器执行上述任意方法实施例中的区块链的蜜链欺骗防御方法。程序中各步骤的具体实现可以参见上述区块链的蜜链欺骗防御实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
89.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求
的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明实施例的内容,并且上面对特定语言所做的描述是为了披露本发明实施例的最佳实施方式。
90.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
91.类似地,应当理解,为了精简本发明实施例并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
92.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
93.此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
94.本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
95.应该注意的是上述实施例对本发明实施例进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单
词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1