本发明涉及电数据处理领域,具体涉及基于区块链的智能合约数据管理系统。
背景技术:
1、在计算机科学和区块链领域,合约通常是指在特定条件下,由各方之间达成的一种协议、规定或契约,以实现特定的操作或交换价值。合约数据就是在这个合约中所涉及的数据内容。
2、合约数据在区块链技术中尤其重要,因为它存储在不可篡改的区块链上,并且可以在各方之间进行共享和验证。合约数据对于智能合约的执行和结果产生重要影响,通过对合约数据的管理和处理,可以实现自动化和可信任的交易和业务逻辑。
3、对于用户,需要验证区块链上其他用户接入是否异常,对用户接入的特点产生分析,避免攻击者通过接入点对区块链进行攻击。若当前区块链中存在用户接入时,可能存在用户传递虚假的信息导致其他用户受到欺骗,造成节点之间沟通失败,最终导致区块链上不能够写入公允的合约数据,影响区块链上性能。
技术实现思路
1、为了解决上述问题,本发明提供基于区块链的智能合约数据管理系统,所述系统包括:
2、节点信息获取模块,获取区块链中的所有节点的信息;
3、可疑节点识别模块,当节点接收到积极节点发送的数据时,对积极节点进行可疑节点识别;
4、可疑节点告知模块,将任意一个节点作为当前节点,若当前节点识别到可疑节点,但未收到其他节点发送的可疑节点通知数据包时,当前节点向与当前节点相连的节点发送可疑节点通知数据包;若当前节点收到其他节点发送的可疑节点通知数据包,但还未收到可疑节点发送的异常数据时,根据向当前节点发送可疑节点通知数据包的节点获取当前节点的第一集合以及第二集合;根据当前节点的第二集合获取当前节点对应的节点平均传输距离;根据第一集合、第二集合以及当前节点对应的节点平均传输距离计算当前节点对于可疑节点通知数据包的转发必要性;根据转发必要性进行可疑节点通知数据包的转发;
5、异常节点投票模块,各个节点对可疑节点进行投票,得到异常节点,将异常节点排除出合约签订;
6、异常节点处置模块,对异常节点进行处置。
7、优选的,所述对积极节点进行可疑节点识别,包括的步骤为:
8、对积极节点发送的数据利用静态分析工具进行扫描,检查积极节点发送的数据中是否存在已知的漏洞或不安全的代码模式,当积极节点发送的数据中存在已知的漏洞或不安全的代码模式时,将该积极节点作为可疑节点。
9、优选的,所述当前节点向与当前节点相连的节点发送可疑节点通知数据包,包括的步骤为:
10、当前节点将可疑节点的可疑信息制作为可疑节点通知数据包,并将可疑节点通知数据包发送给与当前节点相连的节点。
11、优选的,所述第一集合的获取方法为:
12、将当前节点记为,将向当前节点发送可疑节点通知数据包的节点记为,以为圆心,以到之间的距离为半径,构建一个圆形区域,将构建的圆形区域内包含的节点构成一个集合,记为第一集合。
13、优选的,所述第二集合的获取方法为:
14、将当前节点记为,将向当前节点发送可疑节点通知数据包的节点记为,以为圆心,以到之间的距离为半径,构建一个圆形区域,从构建的圆形区域中剔除,将剩余的节点构成一个集合,记为第二集合。
15、优选的,所述根据当前节点的第二集合获取当前节点对应的节点平均传输距离,包括的步骤为:
16、将第二集合中包含的节点两两之间的距离的均值作为当前节点对应的节点平均传输距离。
17、优选的,所述根据第一集合、第二集合以及当前节点对应的节点平均传输距离计算当前节点对于可疑节点通知数据包的转发必要性,包括的步骤为:
18、
19、其中为当前节点对于可疑节点通知数据包的转发必要性;为当前节点;为向当前节点发送可疑节点通知数据包的节点;为第一集合;为第二集合;为交集符号;为当前节点对应的节点平均传输距离;为计数函数。
20、优选的,所述根据转发必要性进行可疑节点通知数据包的转发,包括的步骤为:
21、若当前节点对于可疑节点通知数据包的转发必要性大于或等于预设的转发阈值,当前节点将可疑节点通知数据包转发给与当前节点相连的每个节点。
22、优选的,所述各个节点对可疑节点进行投票,得到异常节点,包括的步骤为:
23、若当前节点识别到可疑节点,当前节点对可疑节点进行一次异常节点投票;若当前节点接收到其他节点发送的可疑节点通知数据包,则统计当前节点接收到的可疑节点通知数据包的个数占与当前节点相连的节点的个数的比例,作为通知比例,当通知比例大于或等于预设的比例阈值时,当前节点对可疑节点进行一次异常节点投票,当通知比例小于预设的比例阈值时,当前节点认为可疑节点不为异常节点,当前节点对可疑节点不进行异常节点投票;
24、将可疑节点累计的投票数与当前签订合约的全部节点数量减去1之后的比值作为可疑节点的投票比例,当可疑节点的投票比例大于或等于预设的投票阈值时,将可疑节点作为异常节点。
25、优选的,所述对异常节点进行处置,包括的步骤为:
26、当区块链检测到异常节点时,隔离异常节点,启动容错机制,启动节点验证机制,进行数据回滚和恢复。
27、本发明具有如下有益效果:目前通常单一通过签订合约时区块链中节点的贡献情况进行异常节点识别,下一次合约未签订时,部分高信誉的节点受到攻击后转为异常节点,利用现有的方法无法及时对异常节点进行识别,可能会导致下一次合约签订前,异常节点对区块链中的节点进行异常指令攻击,导致区块链瘫痪。本发明获取区块链中的所有节点的信息,当节点接收到积极节点发送的数据时,对积极节点进行可疑节点识别,获取当前节点的第一集合以及第二集合,根据当前节点的第二集合获取当前节点对应的节点平均传输距离,进一步得到当前节点对于可疑节点通知数据包的转发必要性,根据转发必要性进行可疑节点通知数据包的转发,在进行下一合约签订前,防止了可疑节点对区块链中节点的攻击,确保了区块链的安全。本发明通过计算可疑节点通知数据包的转发必要性,根据转发必要性进行可疑节点通知数据包的转发,防止了过多节点发送可疑节点通知数据包导致区块链上有限的信道资源被过多的可疑节点通知数据包阻塞。本发明利用各个节点对可疑节点进行投票,得到异常节点,将异常节点排除出合约签订,使得对区块链中异常节点识别及时且准确,有助于保持区块链中网络环境。
1.基于区块链的智能合约数据管理系统,其特征在于,所述系统包括:
2.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述对积极节点进行可疑节点识别,包括的步骤为:
3.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述当前节点向与当前节点相连的节点发送可疑节点通知数据包,包括的步骤为:
4.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述第一集合的获取方法为:
5.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述第二集合的获取方法为:
6.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述根据当前节点的第二集合获取当前节点对应的节点平均传输距离,包括的步骤为:
7.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述根据第一集合、第二集合以及当前节点对应的节点平均传输距离计算当前节点对于可疑节点通知数据包的转发必要性,包括的步骤为:
8.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述根据转发必要性进行可疑节点通知数据包的转发,包括的步骤为:
9.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述各个节点对可疑节点进行投票,得到异常节点,包括的步骤为:
10.根据权利要求1所述的基于区块链的智能合约数据管理系统,其特征在于,所述对异常节点进行处置,包括的步骤为: