CN113225335A - 区块链出块安全校验方法、装置、设备及存储介质 - Google Patents
区块链出块安全校验方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113225335A CN113225335A CN202110488943.3A CN202110488943A CN113225335A CN 113225335 A CN113225335 A CN 113225335A CN 202110488943 A CN202110488943 A CN 202110488943A CN 113225335 A CN113225335 A CN 113225335A
- Authority
- CN
- China
- Prior art keywords
- block
- node
- output
- difficulty value
- checking
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及区块链技术领域,并公开了一种区块链出块安全校验方法、装置、设备及存储介质,所述方法包括:获取当前出块周期内的待出块节点;对各个所述待出块节点进行节点可信度校验,根据通过校验的待出块节点生成可信节点子集;对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值;根据各个所述待出块节点的出块难度值,确定当前出块周期内的各个待出块节点的出块安全性。能够提高区块链出块的安全性校验。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链出块安全校验方法、装置、设备及存储介质。
背景技术
寄生链攻击(Parasite Chain Attack)是一种常见的,在开放式的区块链网络中,恶意节点可以使用的攻击主链的技术方案。该攻击行为一般由区块链一个节点,以若干主链钱包组成小型网络的形式,秘密地互相验证彼此提交的新区块,并在特定高度(Height)开始维持由所有新区块组成的不同于主链的私链。在特定时刻,攻击者通过将该私链合并入主链来对主链进行攻击。一般而言,如果攻击者在区块链网络中不具备算力优势,则该攻击不能造成不可逆后果,但需要消耗主链节点双倍的时间来重新验证前述特定高度开始的所有区块,进而起到对区块网络的其他附带损害。
因此,现有的区块链网络存在对寄生链攻击校验不准确,导致区块链出块存在不安全的问题。
发明内容
本申请提供了一种区块链出块安全校验方法、装置、设备及存储介质,通过对出块节点的可信度进行校验,并结合可信度校验结果对可信节点的出块难度值进行校验和调整,可以有效避免寄生链的出块,进而提高区块链出块的安全性。
第一方面,本申请提供了一种区块链出块安全校验方法,所述方法包括:
获取当前出块周期内的待出块节点;
对各个所述待出块节点进行节点可信度校验,将通过校验的待出块节点生成可信节点子集;
对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值;
根据各个所述待出块节点的出块难度值,确定当前出块周期内的各个待出块节点的出块安全性。
第二方面,本申请还提供了一种区块链出块安全校验装置,包括:
获取模块,用于获取当前出块周期内的待出块节点;
校验模块,用于对各个所述待出块节点进行节点可信度校验,将通过校验的待出块节点生成可信节点子集;
调整模块,用于对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值;
控制模块,用于根据各个所述待出块节点的出块难度值,确定当前出块周期内的各个待出块节点的出块安全性。
第三方面,本申请还提供了一种区块链出块安全校验设备,包括:
存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如上第一方面所述的区块链出块安全校验方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如上第一方面所述的区块链出块安全校验方法的步骤。
本申请公开了一种区块链出块安全校验方法、装置、设备及存储介质,通过对区块链当前出块周期内的各个出块节点进行节点可信度校验,并对通过可信度校验的出块节点进行出块难度值校验,结合出块节点的出块可信度校验和出块难度值校验结果,确定当前出块周期内各个待出块节点的出块安全性。可以有效避免寄生链的出块,进而提高区块链出块的安全性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的区块链出块安全校验方法的示意流程图;
图2是本申请实施例提供的区块链出块安全校验装置的结构示意图;
图3是本申请实施例提供区块链出块安全校验设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请的实施例提供了一种区块链出块安全校验方法、装置、设备及存储介质。本申请实施例提供的区块链出块安全校验方法可用于对区块链当前出块周期内的出块节点进行节点可信度校验,并对通过校验的可信节点进行出块难度值校验,将节点可信度校验和出块难度值相结合,可以有效避免寄生链的出块,提高区块链出块的安全性。
例如,本申请的实施例提供的区块链出块安全校验方法,可应用于终端或者服务器,通过对区块链当前出块周期内的出块节点进行可信度校验,并将通过可信度校验的可信出块节点,再次进行出块难度值校验,来提高区块链出块的安全性。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请一实施例提供的区块链出块安全校验方法的示意流程图。该微区块链出块安全校验方法可以由终端或者服务器实现,所述终端可以是手持终端、笔记本电脑、可穿戴设备或者机器人等;所述服务器可以是单个服务器或者服务器集群。
如图1所示,本实施例提供的区块链出块安全校验方法,具体包括:步骤S101至步骤S103。详述如下:
S101、获取当前出块周期内的待出块节点。
其中,区块链网络在共识机制下,每个节点均可作为处理事务的候选节点。一旦有节点通过共识机制被选中为处理事务的节点,则该被选中的节点需要产生新的区块来处理事务,该被选中的节点产生新的区块的过程为区块链出块的过程,被选中的节点可以称为待出块节点。通常待出块节点在区块链的主链(或主网络)中产生。
在一些实施例中,获取当前出块周期内区块链主链上的待出块节点。由于区块链主链为工作量最多的网络,在区块链主链上往往会组成多个小型的网络,该多个小型的网络可以私下秘密地互相验证彼此提交的新区块,并在一个特定高度下,开始维持由所有新区块组成的不同于主链的私链,由该私链冒充主链进行出块,对主链出块造成攻击。因此,在一些实施例中,需要对获取的当前出块周期内区块链主链上的待出块节点进行节点可信度校验,以避免由主链产生的冒充主链的私链完成出块,对主链造成攻击。
S102、对各个所述待出块节点进行节点可信度校验,将通过校验的待出块节点生成可信节点子集。
其中,由主链产生的私链,由于在竞争性共识的网络中不具备算力优势,因此,该私链对主链的攻击不能造成真正的不可逆后果,但是需要主链消耗较多的时间重新验证私链开始的所有区块,对区块网络会造成较大功率消耗等其它附带损害。
在一实施例中,通过对各个待出块节点基于预设的区块链共识协议进行节点可信度校验,从待出块节点中校验出满足预设的区块链共识协议的可信节点,并根据通过校验的待出块节点生成可信节点子集,可以有效将在竞争性共识的网络中,不具备共识协议的节点从待出块节点中剔除,避免主链对不满足共识协议的区块进行重新验证,提高主链验证的效率。
可选地,在一些实施例中,在将通过校验的待出块节点生成可信节点子集之前,还可以将通过节点可信度校验的待出块节点保存在区块链的区块头信息字段中;对应地,将通过校验的待出块节点生成可信节点子集,包括:在该区块头信息字段中,获取通过节点可信度校验的待出块节点,生成可信节点子集。
其中,将通过可信度校验的待出块节点保存在区块链的区块头信息字段中,可以保证通过校验的待出块节点的信息不被纂改。
其中,预设的区块链共识协议为根据区块链的出块率与区块链的其它性能之间的关系,例如区块链的出块率与算力成正比的关系,预先约定的共识协议。
在一实施例中,对各个所述待出块节点进行节点可信度校验,包括:确定各个待出块节点在与当前出块周期(例如,1小时)连续的预设数量出块周期内(例如,连续的3个出块周期内)是否出块;若在与当前出块周期连续的预设数量出块周期内,均有大于或等于预设百分比的待出块节点出块(例如,当前出块周期内出块的节点数有50%,均在与当前出块周期连续的3个出块周期内出块),则确定各个待出块节点均通过节点可信度校验;若在与当前出块周期连续的预设数量出块周期内,有小于预设百分比的待出块节点出块,则确定各个待出块节点中存在不可信节点,对各个待出块节点基于预设校验算法进行再次校验。
其中,上述预设的区块链共识协议通过要求在当前出块周期内,待出块的节点中,必须有预设数量的节点(例如,50%)来自于最近的预设数量的出块周期内有出块记录,以决定待出块节点是否为可信节点。
在一实施例中,所述预设校验算法为拜占庭容错算法,所述对各个所述待出块节点基于预设校验算法进行校验,包括:基于拜占庭容错算法,对各个待出块节点进行校验。
其中,基于拜占庭容错算法对各个待出块节点进行前置共识过程,具体基于拜占庭容错算法对各个待出块节点发送的请求信息进行验证,以实现基于拜占庭容错算法对各个待出块节点进行前置共识。
在一实施例中,基于拜占庭容错算法,对各个待出块节点基于预设校验算法进行校验,包括:从各个待出块节点中任意选取预设数量的待出块节点作为待校验节点,组成随机区块网络;对待校验节点发送的请求信息基于拜占庭容错算法进行校验,若待校验节点发送的请求信息基于拜占庭容错算法达成共识,则校验通过;若有任意待校验节点发送的请求信息无法达成共识,则校验失败。
其中,拜占庭容错算法的具体实施过程,可以参考现有的拜占庭容错算法,在此,不再赘述。
在本申请的实施例中,通过对区块链中待出块节点的进行前置的可信节点校验,具体地,对于一段特定的时间段内(本实施例以当前出块周期),所有被认证的待出块节点,都必须接受可信节点校验,并且对可信节点校验失败后,还需要接受以上一个出块周期为基础的拜占庭校验。
具体地,通过对待出块节点进行校验,可以有效剔除私链的出块节点,这是由于私链的出块节点来源于某个互相秘密验证的小团体,那么这些出块节点将很难符合可信子集前置校验的要求;此外,如果这一小团体希望增强在可信子集中的占比以达到拜占庭校验的要求,那么这一团体必须在主链中贡献算力,因此,也会削弱它们可以分配到私链中的算力,导致无法通过拜占庭校验。
S103,对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值。
其中,对可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:根据预设难度调整算法对可信节点子集中各个待出块节点的出块难度值进行校验;根据校验结果调整当前出块周期内各个待出块节点的出块难度值。
其中,预设难度调整算法包括:针对任一待出块节点,模拟该任一待出块节点的难度值波动下的标准差是否正比于当前出块周期时间宽度二次方的倒数。具体地,预设难度调整算法可以由下式进行表示:
DF(i)=
coefficient1*DF(i-1)*ExpTime/{AvgActTime(Slot_j)}
+coefficient2*DF(i-Slot)*ExpTimeAdj/{AvgActTime(Slot_(j-1))}
其中,DF(i)表示当前出块周期内的第i个出块节点的出块难度值,coefficient1*DF(i-1)表示当前出块周期内与第i个出块节点相邻的上一个出块节点的出块难度值,coefficient2*DF(i-Slot)*ExpTimeAdj/{AvgActTime(Slot_(j-1))}表示上一个出块周期内第i个出块节点的出块难度值,AvgActTime(.)表示出块时间宽度。
在一些实施例中,根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验,包括:针对可信节点子集中的任一待出块节点,获取该任一待出块节点的出块难度值和出块时间宽度;模拟该任一待出块节点的出块难度值波动下的标准差,根据模拟得到的标准差与出块时间宽度之间的关系,对该任一待出块节点的出块难度值进行校验。
在一些实施例中,根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:针对该任一待出块节点,根据校验结果调整该任一待出块节点的出块时间间隔;根据调整后的出块时间间隔和该任一待出块节点的出块难度值之间的关系,调整该任一待出块节点的出块难度值。
其中,出块时间间隔的二次方的倒数正比于出块难度值。根据出块时间间隔的二次方的倒数与出块难度值之间的比例关系,可以调整该任一待出块节点的出块难度值。
S104,根据各个所述待出块节点的出块难度值,确定当前出块周期内各个待出块节点的出块安全性。
其中,各个待出块节点的出块难度值确定之后,可以根据各个待出块节点的出块难度值确定其对应的出块安全性。具体地,对于当前出块周期内待出块节点的出块难度值不满足调整之后的出块难度值的出块节点,确定该待出块节点的出块存在安全隐患,可以放弃,对于当前出块周期内待出块节点的出块难度值满足调整之后的出块难度值的出块节点,确定该出块节点的出块安全,可以控制该待出块节点出块,实现了对待出块节点的出块安全性进行了二次校验。能够更准确地保证滤除私链的攻击,实现主链出块的安全性。
通过上述分析可知,本申请实施例提供的区块链出块安全校验方法,通过对区块链当前出块周期内的各个出块节点进行节点可信度校验,并对通过可信度校验的出块节点进行出块难度值校验,结合出块节点的出块可信度校验和出块难度值校验结果,调整当前出块周期内各个出块节点的出块难度值;进而根据调整之后的出块难度值,确定当前出块周期内各个待出块节点的出块安全性。可以有效避免寄生链的出块,进而提高区块链出块的安全性。
请参阅图2,图2是本申请实施例提供的区块链出块安全校验装置的结构示意图,该区块链出块安全校验装置用于执行图1所示的区块链出块安全校验方法。该区块链出块安全校验装置可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图2所示,区块链出块安全校验装置200包括:
获取模块201,用于获取当前出块周期内的待出块节点;
校验模块202,用于对各个所述待出块节点进行节点可信度校验,将通过校验的待出块节点生成可信节点子集;
调整模块203,用于对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值;
控制模块204,用于根据各个所述待出块节点的出块难度值,确定当前出块周期内各个待出块节点的出块安全性。
在一实施例中,还包括:
生成模块,用于将通过校验的待出块节点保存在区块链的区块头信息字段中;
校验模块202具体用于:
在所述区块头信息字段中,获取通过节点可信度校验的所述待出块节点,生成所述可信节点子集。
在一实施例中,第一校验单元,包括:
第一确定子单元,用于确定各个所述待出块节点在与当前出块周期连续的预设数量出块周期内是否出块;
第二确定子单元,用于若在与当前出块周期连续的预设数量出块周期内,均有大于或等于预设百分比的待出块节点出块,则确定各个所述待出块节点均通过节点可信度校验;
第三确定子单元,用于若在与当前出块周期连续的预设数量出块周期内,有小于预设百分比的待出块节点出块,则确定各个所述待出块节点中存在不可信节点,对各个所述待出块节点基于预设校验算法进行校验。
在一实施例中,所述预设校验算法为拜占庭容错算法,所述对各个所述待出块节点基于预设校验算法进行校验,包括:
从各个所述待出块节点中任意选取预设数量的待出块节点作为待校验节点,组成随机区块网络;
对所述待校验节点发送的请求信息基于拜占庭容错算法进行校验,若所述待校验节点发送的请求信息基于拜占庭容错算法达成共识,则校验通过;
若有任意待校验节点发送的请求信息无法达成共识,则校验失败。
在一实施例中,调整模块203,包括:
第二校验单元,用于根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验;
调整单元,用于根据校验结果调整当前出块周期内各个待出块节点的出块难度值。
在一实施例中,所述第二校验单元,包括:
获取子单元,员工与针对所述可信节点子集中的任一待出块节点,获取该任一待出块节点的出块难度值和出块时间宽度;
校验子单元,用于模拟该任一待出块节点的出块难度值波动下的标准差,根据模拟得到的标准差与所述出块时间宽度之间的关系,对该任一待出块节点的出块难度值进行校验。
在一实施例中,所述调整单元,包括:
第一调整子单元,用于针对该任一待出块节点,根据校验结果调整该任一待出块节点的出块时间间隔;
第二调整子单元,用于根据调整后的出块时间间隔和该任一待出块节点的出块难度值之间的关系,调整该任一待出块节点的出块难度值。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端和各模块的具体工作过程,可以参考图1所述的区块链出块安全校验方法实施例中的对应过程,在此不再赘述。
上述的区块链出块安全校验方法可以实现为一种计算机程序的形式,该计算机程序可以在如图2所示的装置上运行。
请参阅图3,图3是本申请实施例提供的区块链出块安全校验设备的结构示意性框图。该区块链出块安全校验设备包括通过系统总线连接的处理器、存储器和网络接口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种区块链出块安全校验方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机程序被处理器执行时,可使得处理器执行任意一种区块链出块安全校验方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
其中,在一个实施例中,所述处理器用于运行存储在存储器中的计算机程序,以实现如下步骤:
获取当前出块周期内的待出块节点;
对各个所述待出块节点进行节点可信度校验,将通过校验的待出块节点生成可信节点子集;
对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值;
根据各个所述待出块节点的出块难度值,确定当前出块周期内各个待出块节点的出块安全性。
在一个实施例中,在所述将通过校验的待出块节点生成可信节点子集之前,还包括:
将通过节点可信度校验的待出块节点保存在区块链的区块头信息字段中;
将通过校验的待出块节点生成可信节点子集,包括:
在所述区块头信息字段中,获取通过节点可信度校验的所述待出块节点,生成所述可信节点子集。
在一个实施例中,对各个所述待出块节点进行节点可信度校验,包括:
确定各个所述待出块节点在与当前出块周期连续的预设数量出块周期内是否出块;
若在与当前出块周期连续的预设数量出块周期内,均有大于或等于预设百分比的待出块节点出块,则确定各个所述待出块节点均通过节点可信度校验;
若在与当前出块周期连续的预设数量出块周期内,有小于预设百分比的待出块节点出块,则确定各个所述待出块节点中存在不可信节点,对各个所述待出块节点基于预设校验算法进行校验。
在一个实施例中,所述预设校验算法为拜占庭容错算法,所述对各个所述待出块节点基于预设校验算法进行校验,包括:
从各个所述待出块节点中任意选取预设数量的待出块节点作为待校验节点,组成随机区块网络;
对所述待校验节点发送的请求信息基于拜占庭容错算法进行校验,若所述待校验节点发送的请求信息基于拜占庭容错算法达成共识,则校验通过;
若有任意待校验节点发送的请求信息无法达成共识,则校验失败。
在一个实施例中,所述对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:
根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验;
根据校验结果调整当前出块周期内各个待出块节点的出块难度值。
在一个实施例中,所述根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验,包括:
针对所述可信节点子集中的任一待出块节点,获取该任一待出块节点的出块难度值和出块时间宽度;
模拟该任一待出块节点的出块难度值波动下的标准差,根据模拟得到的标准差与所述出块时间宽度之间的关系,对该任一待出块节点的出块难度值进行校验。
在一个实施例中,所述根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:
针对该任一待出块节点,根据校验结果调整该任一待出块节点的出块时间间隔;
根据调整后的出块时间间隔和该任一待出块节点的出块难度值之间的关系,调整该任一待出块节点的出块难度值。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所述程序指令,实现本申请图1所示实施例提供的区块链出块安全校验方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种区块链出块安全校验方法,其特征在于,所述方法包括:
获取当前出块周期内的待出块节点;
对各个所述待出块节点进行节点可信度校验,将通过校验的待出块节点生成可信节点子集;
对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值;
根据各个所述待出块节点的出块难度值,确定当前出块周期内各个待出块节点的出块安全性。
2.根据权利要求1所述的区块链出块安全校验方法,其特征在于,所述在将通过校验的待出块节点生成可信节点子集之前,还包括:
将通过节点可信度校验的待出块节点保存在区块链的区块头信息字段中;
将通过校验的待出块节点生成可信节点子集,包括:
在所述区块头信息字段中,获取通过节点可信度校验的所述待出块节点,生成所述可信节点子集。
3.根据权利要求2所述的区块链出块安全校验方法,其特征在于,所述对各个所述待出块节点进行节点可信度校验,包括:
确定各个所述待出块节点在与当前出块周期连续的预设数量出块周期内是否出块;
若在与当前出块周期连续的预设数量出块周期内,有大于或等于预设百分比的待出块节点出块,则确定各个所述待出块节点通过节点可信度校验;
若在与当前出块周期连续的预设数量出块周期内,有小于预设百分比的待出块节点出块,则确定各个所述待出块节点中存在不可信节点,对各个所述待出块节点基于预设校验算法进行校验。
4.根据权利要求3所述的区块链安全校验方法,其特征在于,所述预设校验算法为拜占庭容错算法,所述对各个所述待出块节点基于预设校验算法进行校验,包括:
从各个所述待出块节点中任意选取预设数量的待出块节点作为待校验节点,组成随机区块网络;
对所述待校验节点发送的请求信息基于拜占庭容错算法进行校验,若所述待校验节点发送的请求信息基于拜占庭容错算法达成共识,则校验通过;
若有任意待校验节点发送的请求信息无法达成共识,则校验失败。
5.根据权利要求1-4任一项所述的区块链出块安全校验方法,其特征在于,所述对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:
根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验;
根据校验结果调整当前出块周期内各个待出块节点的出块难度值。
6.根据权利要求5所述的区块链出块安全校验方法,其特征在于,所述根据预设难度调整算法对所述可信节点子集中各个待出块节点的出块难度值进行校验,包括:
针对所述可信节点子集中的任一待出块节点,获取该任一待出块节点的出块难度值和出块时间宽度;
模拟该任一待出块节点的出块难度值波动下的标准差,根据模拟得到的标准差与所述出块时间宽度之间的关系,对该任一待出块节点的出块难度值进行校验。
7.根据权利要求6所述的区块链出块安全校验方法,其特征在于,所述根据校验结果调整当前出块周期内各个待出块节点的出块难度值,包括:
针对该任一待出块节点,根据校验结果调整该任一待出块节点的出块时间间隔;
根据调整后的出块时间间隔和该任一待出块节点的出块难度值之间的关系,调整该任一待出块节点的出块难度值。
8.一种区块链出块安全校验装置,其特征在于,包括:
获取模块,用于获取当前出块周期内的待出块节点;
校验模块,用于对各个所述待出块节点进行节点可信度校验,根据通过校验的待出块节点生成可信节点子集;
调整模块,用于对所述可信节点子集中各个待出块节点的出块难度值进行校验,根据校验结果调整当前出块周期内各个待出块节点的出块难度值;
根据各个所述待出块节点的出块难度值,控制当前出块周期内的各个待出块节点出块。
9.一种区块链出块安全校验设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的区块链出块安全校验方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的区块链出块安全校验方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110488943.3A CN113225335B (zh) | 2021-04-28 | 2021-04-28 | 区块链出块安全校验方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110488943.3A CN113225335B (zh) | 2021-04-28 | 2021-04-28 | 区块链出块安全校验方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113225335A true CN113225335A (zh) | 2021-08-06 |
CN113225335B CN113225335B (zh) | 2022-11-15 |
Family
ID=77091093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110488943.3A Active CN113225335B (zh) | 2021-04-28 | 2021-04-28 | 区块链出块安全校验方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113225335B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723534A (zh) * | 2022-04-21 | 2022-07-08 | 平安国际智慧城市科技股份有限公司 | 基于区块链的电商交易合理性判断方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链系统 |
CN111371558A (zh) * | 2020-02-26 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111709049A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 区块链系统中预防时间戳攻击的方法、计算机可读存储介质和区块链系统 |
CN111723406A (zh) * | 2020-06-08 | 2020-09-29 | 上海朝夕网络技术有限公司 | 一种区块链的共识算法及系统 |
CN112202765A (zh) * | 2020-09-28 | 2021-01-08 | 北京八分量信息科技有限公司 | 基于可信计算的区块链共识出块方法、装置及相关产品 |
-
2021
- 2021-04-28 CN CN202110488943.3A patent/CN113225335B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链系统 |
CN111371558A (zh) * | 2020-02-26 | 2020-07-03 | 百度在线网络技术(北京)有限公司 | 区块链数据处理方法、装置、电子设备及介质 |
CN111709049A (zh) * | 2020-05-18 | 2020-09-25 | 杜晓楠 | 区块链系统中预防时间戳攻击的方法、计算机可读存储介质和区块链系统 |
CN111723406A (zh) * | 2020-06-08 | 2020-09-29 | 上海朝夕网络技术有限公司 | 一种区块链的共识算法及系统 |
CN112202765A (zh) * | 2020-09-28 | 2021-01-08 | 北京八分量信息科技有限公司 | 基于可信计算的区块链共识出块方法、装置及相关产品 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114723534A (zh) * | 2022-04-21 | 2022-07-08 | 平安国际智慧城市科技股份有限公司 | 基于区块链的电商交易合理性判断方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113225335B (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11632248B2 (en) | Systems, methods and apparatuses for device attestation based on speed of computation | |
WO2021046668A1 (zh) | 区块链系统及信息传输方法、系统、装置、计算机介质 | |
US11044093B2 (en) | Systems, methods and apparatuses for device attestation based on speed of computation | |
US10057254B2 (en) | Mobile terminal for providing one time password and operating method thereof | |
ES2894726T3 (es) | Protocolo de consenso para libros mayores autorizados | |
CN112118239B (zh) | 区块链共识方法及装置、电子设备、存储介质 | |
CN110190964B (zh) | 身份认证方法及电子设备 | |
JP6780771B2 (ja) | 検証情報付与装置、検証装置、情報管理システム、方法およびプログラム | |
CN110704464B (zh) | 一种分叉问题的处理方法及装置 | |
CN114327803A (zh) | 区块链访问机器学习模型的方法、装置、设备和介质 | |
CN110661779B (zh) | 基于区块链网络的电子证件管理方法、系统、设备及介质 | |
CN113225335B (zh) | 区块链出块安全校验方法、装置、设备及存储介质 | |
CN111125707A (zh) | 一种基于可信密码模块的bmc安全启动方法、系统及设备 | |
CN114338054A (zh) | 区块链可信数据传输、验证和获取方法及装置 | |
CN114205087B (zh) | 一种基于区块链随机数产生的方法 | |
CN114168924B (zh) | 一种基于数字证书的群成员相互认证的方法和系统 | |
CN112907246A (zh) | 基于BFT协议和PoW机制的区块链共识协议实现方法和系统 | |
CN109583177B (zh) | 在用户与银行服务的交互期间识别新设备的系统和方法 | |
CN114692228A (zh) | 安全监控方法、装置、设备和可读存储介质 | |
CN109688158B (zh) | 金融执行链认证方法、电子装置及存储介质 | |
CN110290113A (zh) | 基于PoW算法的设备标识构造方法、装置及计算机可读存储介质 | |
US20170048212A1 (en) | Authentication for cluster peering | |
CN114282237B (zh) | 一种通信方法、装置、设备及存储介质 | |
CN117081744B (zh) | 基于椭圆曲线的签名处理方法、装置及电子设备 | |
CN112804088B (zh) | 基于邻居可信度进行互联网节点认证的方法、系统及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |