基于区块链的数据共识方法、相关设备及存储介质技术

技术编号:26032190 阅读:16 留言:0更新日期:2020-10-23 21:10
本发明专利技术实施例公开了一种基于区块链的数据共识方法、相关设备及存储介质,其中方法包括:检测到针对目标数据的共识触发事件,获取多个共识节点中的每个共识节点的签名信息;基于每个共识节点的签名信息,确定每个共识节点对目标数据进行共识投票的投票权重;多个共识节点中,在可信计算环境中进行签名处理的共识节点所对应的投票权重,大于在可信计算环境之外进行签名处理的共识节点所对应的投票权重;根据每个共识节点的投票权重统计目标数据的投票结果,并根据统计结果确定目标数据的共识结果,可提升对目标数据(交易数据)进行共识处理得到的共识结果的准确性。

【技术实现步骤摘要】
基于区块链的数据共识方法、相关设备及存储介质
本申请涉及计算机
,尤其涉及一种基于区块链的数据共识方法、相关设备及存储介质。
技术介绍
随着区块链技术的不断深入发展,越来越多的交易数据依赖于区块链网络进行存储,以保证存储的交易数据的安全性和准确性,当前在将交易数据提交到区块链网络进行存储时,通常采用的方法是由区块链网络中的共识节点对该交易数据进行共识投票,从而可通过统计每个共识节点对该交易数据的共识投票结果,完成对交易数据的共识过程,但如果该区块链网络中的共识节点被本地监控,那么就可能存在对应节点私钥被窃取的可能,而在共识节点的节点私钥被窃取后,则可能出现篡改对交易数据的共识投票结果的问题,所以,如何提升共识节点对交易数据进行共识处理后得到的共识结果的准确性成为了当前的研究热点。
技术实现思路
本专利技术实施例提供了一种基于区块链的数据共识方法、相关设备及存储介质,可提升对目标数据(交易数据)进行共识处理得到的共识结果的准确性。一方面,本专利技术实施例提供了一种基于区块链的数据共识方法,所述数据共识方法由区块链网络的目标共识节点执行,所述目标共识节点是所述区块链网络包括的多个共识节点中的任一个,包括:检测到针对目标数据的共识触发事件,获取所述多个共识节点中的每个共识节点的签名信息,所述签名信息是由所述每个共识节点对所述目标数据执行共识投票得到的投票结果进行签名处理后得到的;基于所述每个共识节点的签名信息,确定所述每个共识节点对所述目标数据进行共识投票的投票权重;所述多个共识节点中,在可信计算环境中进行签名处理的共识节点所对应的投票权重,大于在所述可信计算环境之外进行签名处理的共识节点所对应的投票权重;根据所述每个共识节点的投票权重统计所述目标数据的投票结果,并根据统计结果确定所述目标数据的共识结果。一方面,本专利技术实施例提供了一种基于区块链的数据共识装置,所述数据共识装置内置于区块链网络的目标共识节点,所述目标共识节点是所述区块链网络包括的多个共识节点中的任一个,包括:获取单元,用于检测到针对目标数据的共识触发事件,获取所述多个共识节点中的每个共识节点的签名信息,所述签名信息是由所述每个共识节点对所述目标数据执行共识投票得到的投票结果进行签名处理后得到的;确定单元,用于基于所述每个共识节点的签名信息,确定所述每个共识节点对所述目标数据进行共识投票的投票权重;所述多个共识节点中,在可信计算环境中进行签名处理的共识节点所对应的投票权重,大于在所述可信计算环境之外进行签名处理的共识节点所对应的投票权重;统计单元,用于根据所述每个共识节点的投票权重统计所述目标数据的投票结果;所述确定单元,还用于根据统计结果确定所述目标数据的共识结果。一方面,本专利技术实施例提供了一种目标共识节点,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下步骤:检测到针对目标数据的共识触发事件,获取所述多个共识节点中的每个共识节点的签名信息,所述签名信息是由所述每个共识节点对所述目标数据执行共识投票得到的投票结果进行签名处理后得到的;基于所述每个共识节点的签名信息,确定所述每个共识节点对所述目标数据进行共识投票的投票权重;所述多个共识节点中,在可信计算环境中进行签名处理的共识节点所对应的投票权重,大于在所述可信计算环境之外进行签名处理的共识节点所对应的投票权重;根据所述每个共识节点的投票权重统计所述目标数据的投票结果,并根据统计结果确定所述目标数据的共识结果。一方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时,用于执行如第一方面所述的基于区块链的数据共识方法。在本专利技术实施例中,目标共识节点在检测到针对该目标数据的共识触发事件后,可获取该区块链网络中每个共识节点对该目标数据的投票结果进行签名处理得到的签名信息,进一步地,该目标共识节点可通过判断该签名信息是否是基于可信计算环境进行签名处理得到的,从而可确定出该每个共识节点对该目标数据进行共识投票的投票权重,并基于该投票权重对该目标数据的投票结果进行统计,从而确定出针对该目标数据的共识结果,基于投票权重对该目标数据的投票结果进行统计,可有效防止区块链网络中共识节点被篡改后的共识节点作恶问题,从而提升了对目标数据进行投票共识得到的共识结果的准确性。附图说明为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的一种区块链网络的示意图;图2是本专利技术实施例提供的一种基于区块链的数据共识方法的示意流程图;图3是本专利技术实施例提供的一种对目标数据的投票结果进行签名处理的示意图;图4是本专利技术实施例提供的一种基于区块链的数据共识方法的示意流程图;图5a是本专利技术实施例提供的一种目标共识节点向区块链网络注册可信计算环境的示意图;图5b是本专利技术实施例提供的一种目标共识节点注册的可信计算环境的示意图;图6是本专利技术实施例提供的一种对目标数据进行共识处理的示意图;图7是本专利技术实施例提供的一种基于区块链的数据共识装置的示意性框图;图8是本专利技术实施例提供的一种目标共识节点的示意性框图。具体实施方式本专利技术实施例提出了一种基于区块链的数据共识方法,使得目标共识节点在统计区块链网络中每个共识节点对目标数据进行共识投票的投票结果时,可先确定该每个共识节点对投票结果进行签名处理时,是否包括基于可信计算环境(TrustedExecutionEnvironment,TEE)对该投票结果进行签名处理得到的第二签名信息,进而确定出该每个共识节点对该目标数据进行共识投票的投票权重,进一步地,该目标共识节点可基于该每个共识节点的投票权重统计针对该目标数据的投票结果,从而确定出该目标数据的共识结果,可提升对目标数据进行共识处理时得到的共识结果的准确性。在一个实施例中,可信计算环境也可称为可信执行环境,该可信计算环境可为共识节点(如上述的目标共识节点)中的交易数据(如上述的目标数据),以及执行代码提供一个相比于中央处理器更加安全可靠的执行空间,从而可保证在可信计算环境中执行的交易数据,或程序代码的可靠性和完整性,以防止区块链网络中共识节点中相关数据的泄漏而导致的共识节点作恶的问题,从而可提升共识节点进行数据处理时的准确性。在一个实施例中,区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据共识方法,所述数据共识方法由区块链网络的目标共识节点执行,所述目标共识节点是所述区块链网络包括的多个共识节点中的任一个,其特征在于,所述方法包括:/n检测到针对目标数据的共识触发事件,获取所述多个共识节点中的每个共识节点的签名信息,所述签名信息是由所述每个共识节点对所述目标数据执行共识投票得到的投票结果进行签名处理后得到的;/n基于所述每个共识节点的签名信息,确定所述每个共识节点对所述目标数据进行共识投票的投票权重;所述多个共识节点中,在可信计算环境中进行签名处理的共识节点所对应的投票权重,大于在所述可信计算环境之外进行签名处理的共识节点所对应的投票权重;/n根据所述每个共识节点的投票权重统计所述目标数据的投票结果,并根据统计结果确定所述目标数据的共识结果。/n

【技术特征摘要】
1.一种基于区块链的数据共识方法,所述数据共识方法由区块链网络的目标共识节点执行,所述目标共识节点是所述区块链网络包括的多个共识节点中的任一个,其特征在于,所述方法包括:
检测到针对目标数据的共识触发事件,获取所述多个共识节点中的每个共识节点的签名信息,所述签名信息是由所述每个共识节点对所述目标数据执行共识投票得到的投票结果进行签名处理后得到的;
基于所述每个共识节点的签名信息,确定所述每个共识节点对所述目标数据进行共识投票的投票权重;所述多个共识节点中,在可信计算环境中进行签名处理的共识节点所对应的投票权重,大于在所述可信计算环境之外进行签名处理的共识节点所对应的投票权重;
根据所述每个共识节点的投票权重统计所述目标数据的投票结果,并根据统计结果确定所述目标数据的共识结果。


2.根据权利要求1所述的方法,其特征在于,所述基于所述每个共识节点的签名信息,确定所述每个共识节点对所述目标数据进行共识投票的投票权重,包括:
根据所述每个共识节点的签名信息,将所述多个共识节点划分为第一类共识节点和第二类共识节点;所述第一类共识节点是指同时包括第一签名信息和第二签名信息的共识节点,所述第一签名信息是指采用节点私钥对投票结果进行签名处理得到的信息,所述第二签名信息是指采用可信计算环境的设备私钥对投票结果进行签名处理得到的信息,所述第二类共识节点是指仅包括第一签名信息的共识节点;
分别确定所述第一类共识节点的第一投票权重,以及所述第二类共识节点的第二投票权重,所述第一投票权重大于所述第二投票权重。


3.根据权利要求2所述的方法,其特征在于,所述分别确定所述第一类共识节点的第一投票权重,以及所述第二类共识节点的第二投票权重,包括:
获取第一预设权重和第二预设权重,且所述第一预设权重大于所述第二预设权重;
将所述第一预设权重作为多个第一类共识节点中每个共识节点的第一投票权重,并将所述第二预设权重作为多个第二类共识节点中每个共识节点的第二投票权重。


4.根据权利要求2所述的方法,其特征在于,所述确定所述第一类共识节点的第一投票权重,包括:
获取所述第一类共识节点中每个共识节点包括的可信计算环境的设备信息,并基于所述设备信息验证所述第一类共识节点中每个共识节点包括的可信计算环境的安全性;
根据对所述第一类共识节点中每个共识节点的安全性的验证,得到所述第一类共识节点中每个共识节点包括的可信计算环境的安全分值;
根据所述安全分值确定所述第一类共识节点中每个共识节点分别对应的第一投票权重。


5.根据权利要求4所述的方法,其特征在于,所述设备信息是所述第一类共识节点中每个共识节点向所述区块链网络发送针对可信计算环境的注册请求时,发送给所述目标共识节点的;
所述安全性的验证包括:可靠性验证和完备性验证中的一种或两种。


6.根据权利要求1所述的方法,其特征在于,所述投票结果包括支持通过共识的结果,以及反对通过共识的结果;所述根据所述每个共识节点的投票权重统计所述目标数据的投票结果,包括:
从所述多个共识节点中,确定出所述投票结果为支持通过共识的结果的共识节点,并按照对应的投票权重统计所述投票结果为支持通过共识的结果的共识节点的第一数量;

【专利技术属性】
技术研发人员:朱耿良
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1