CN111343208B - 基于区块链的数据检测方法、装置及计算机可读存储介质 - Google Patents

基于区块链的数据检测方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111343208B
CN111343208B CN202010433284.9A CN202010433284A CN111343208B CN 111343208 B CN111343208 B CN 111343208B CN 202010433284 A CN202010433284 A CN 202010433284A CN 111343208 B CN111343208 B CN 111343208B
Authority
CN
China
Prior art keywords
block
verification
node
consensus node
consensus
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.)
Active
Application number
CN202010433284.9A
Other languages
English (en)
Other versions
CN111343208A (zh
Inventor
杨常青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010433284.9A priority Critical patent/CN111343208B/zh
Publication of CN111343208A publication Critical patent/CN111343208A/zh
Application granted granted Critical
Publication of CN111343208B publication Critical patent/CN111343208B/zh
Priority to PCT/CN2021/088624 priority patent/WO2021233048A1/zh
Priority to JP2022539369A priority patent/JP7398000B2/ja
Priority to KR1020227018299A priority patent/KR102578019B1/ko
Priority to US17/742,227 priority patent/US20220272105A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本申请公开了一种基于区块链的数据检测方法、装置及计算机可读存储介质,该方法包括:获取至少两个共识节点针对待验证区块的区块验证结果;统计至少两个共识节点针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;根据第一数量和第二数量,确定待验证区块的目标验证结果;对比目标验证结果和至少两个共识节点针对待验证区块的区块验证结果,根据对比结果对每个共识节点对应的历史验证异常次数进行更新,得到目标共识节点统计的每个共识节点的目标验证异常次数;根据目标共识节点统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。采用本申请,可提高针对区块链网络的网络安全性。

Description

基于区块链的数据检测方法、装置及计算机可读存储介质
技术领域
本申请涉及区块链的技术领域,尤其涉及一种基于区块链的数据检测方法、装置及计算机可读存储介质。
背景技术
随着计算机网络的不断发展,区块链相关技术越发成熟。在区块链相关应用场景中,在将一个区块进行上链时,需要共识节点对该区块进行验证,当大多数共识节点对该区块验证通过时,才可将该区块进行上链。
现有技术中,一个区块链网络中通常有多个共识节点,该多个共识节点之中可能会存在作恶共识节点。该作恶共识节点可以生成包含虚假交易数据的异常区块,以请求对该异常区块进行上链。并且,作恶共识节点可以持续性地提交不同的异常区块请求上链。虽然通过多个共识节点之间的共识机制,在一般情况下,该异常区块并不会被验证通过,但是,若是作恶共识节点持续性地尝试提交异常区块以请求上链,那么少数的异常区块就有可能被验证通过。
由上可知,现有技术中,作恶共识节点可以潜伏在多个共识节点之中,并不断尝试提交异常区块以请求上链,这导致区块链网络的网络安全得不到保障。
发明内容
本申请提供了一种基于区块链的数据检测方法、装置及计算机可读存储介质,可提高区块链网络的网络安全性。
本申请一方面提供了一种基于区块链的数据检测方法,由目标共识节点执行,包括:
获取至少两个共识节点分别针对待验证区块的区块验证结果;
统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;
根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;
对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;
根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。
本申请一方面提供了一种基于区块链的数据检测装置,应用于目标共识节点,包括:
结果获取模块,用于获取至少两个共识节点分别针对待验证区块的区块验证结果;
数量统计模块,用于统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;
结果确定模块,用于根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;
次数确定模块,用于对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;
节点确定模块,用于根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。
其中,结果获取模块,包括:
区块生成单元,用于生成待验证区块;
广播单元,用于将待验证区块广播给每个共识节点,以使每个共识节点对待验证区块进行区块验证;
结果获取单元,用于获取每个共识节点针对待验证区块的区块验证结果。
其中,结果确定模块,包括:
第一结果确定单元,用于当第一数量大于第二数量时,将合法验证结果确定为目标验证结果;
第二结果确定单元,用于当第一数量小于第二数量时,将非法验证结果确定为目标验证结果。
其中,数量统计模块,包括:
票数获取模块,用于获取每个共识节点分别对应的区块验证票数;
第一节点确定单元,用于将至少两个共识节点分别针对待验证区块的区块验证结果中,区块验证结果为合法验证结果的共识节点,确定为第一共识节点;
第二节点确定单元,用于将至少两个共识节点分别针对待验证区块的区块验证结果中,区块验证结果为非法验证结果的共识节点,确定为第二共识节点;
数量确定单元,用于将第一共识节点对应的区块验证票数之和,确定为第一数量,将第二共识节点对应的区块验证票数之和,确定为第二数量。
其中,目标共识节点是由至少两个共识节点基于投票机制所投票确定的;
数据检测装置,还包括:
高度差值获取模块,用于获取待验证区块的区块高度,获取区块高度与验证起始高度之间的高度差值;验证起始高度指目标共识节点当基于投票机制被投票确定时,所持有的区块的最高区块高度;
重投票模块,用于当高度差值大于高度差值阈值时,向每个共识节点发送投票请求,以使每个共识节点根据投票请求以及投票机制,对目标共识节点进行重新投票。
其中,次数确定模块,包括:
结果对比单元,用于对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果;
冲突确定单元,用于将至少两个共识节点分别针对待验证区块的区块验证结果中,对比出的与目标验证结果不同的区块验证结果所对应的共识节点,确定为冲突共识节点;
匹配确定单元,用于将至少两个共识节点中,除冲突共识节点之外的共识节点确定为匹配共识节点;
次数确定单元,用于将冲突共识节点对应的历史验证异常次数增加单位异常次数,得到冲突共识节点对应的目标验证异常次数,将匹配共识节点对应的历史验证异常次数,确定为匹配共识节点对应的目标验证异常次数;当待验证区块不存在前继区块时,每个共识节点分别对应的历史验证异常次数均为默认初始次数;当待验证区块存在前继区块时,每个共识节点分别对应的历史验证异常次数,为通过至少两个共识节点分别针对前继区块的区块验证结果所得到的每个共识节点的验证异常次数。
其中,节点确定模块,包括:
待审查单元,用于将目标共识节点所统计的每个共识节点的目标验证异常次数中,数值大于异常次数阈值的目标验证异常次数所对应的共识节点,确定为待审查共识节点;
次数获取单元,用于获取每个共识节点分别统计的待审查共识节点的目标验证异常次数;
异常确定单元,用于根据每个共识节点分别统计的待审查共识节点的目标验证异常次数,将待审查共识节点确定为异常共识节点。
其中,异常确定单元,包括:
节点数量获取子单元,用于获取每个共识节点分别统计的待审查共识节点的目标验证异常次数中,数值大于异常次数阈值的目标验证异常次数所对应的共识节点的节点数量;
异常确定子单元,用于当节点数量与至少两个共识节点的节点总数量之间的比值大于比值阈值时,将待审查共识节点确定为异常共识节点。
其中,数据检测装置,还用于:
当节点数量与至少两个共识节点的节点总数量之间的比值小于或者等于比值阈值时,将待审查共识节点确定为正常共识节点。
其中,数据检测装置,还用于:
向每个共识节点广播异常共识节点,以使每个共识节点将异常共识节点添加至节点黑名单;节点黑名单用于拒绝接收异常共识节点所发起的区块交易。
本申请一方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如本申请中一方面中的方法。
本申请一方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时使该处理器执行上述一方面中的方法。
本申请获取至少两个共识节点分别针对待验证区块的区块验证结果;统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。由此可见,本申请提出的方法可以从至少两个共识节点中检测出异常共识节点,通过主动发现区块链网络中的异常共识节点,后续可以对该异常共识节点作出相应处理(例如添加到黑名单),以提高针对区块链网络的网络安全性。
附图说明
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的一种网络架构示意图;
图2是本申请提供的一种数据检测的场景示意图;
图3是本申请提供的一种基于区块链的数据检测方法的流程示意图;
图4是本申请提供的一种获取验证异常次数的场景示意图;
图5是本申请提供的一种检测异常共识节点的场景示意图;
图6是本申请提供的一种剔除异常共识节点方法的流程示意图;
图7是本申请提供的一种基于区块链的数据检测装置的结构示意图;
图8是本申请提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。在一个区块链网络中可以包括多个共识节点,该多个共识节点用于对区块链网络中所生成的区块进行共识,以决定是否可以将所生成的区块进行上链。由于在实际应用场景中,区块链网络中的多个共识节点中可能会存在异常共识节点,该异常共识节点会对区块链网络的网络安全性造成威胁,而在本申请中主要就是描述了如何检测出区块链网络的多个共识节点中的异常共识节点,请参见下述。
请参见图1,是本申请提供的一种网络架构示意图。如图1所示,该网络架构示意图表示的可以为一个区块链网络,该区块链网络中可以包括多个共识节点以及多个业务节点,该多个共识节点和该多个业务节点均为区块链网络中的区块链节点。其中,上述多个共识节点具体可以是节点集合106a中的共识节点101a、共识节点102a、共识节点103a、共识节点104a和共识节点105a。上述多个业务节点可以包括节点集合109a中的业务节点107a和业务节点108a等多个业务节点。本申请中的多个可以指两个或者两个以上。
实际上,区块链网络中的共识节点也是区块链网络中的业务节点,可以理解为,共识节点是从区块链网络中的所有业务节点中选出的、具有打包区块以及对区块进行共识的能力的区块链节点。在图1中的网络架构示意图中,节点集合106a中的区块链节点(包括上述共识节点101a、共识节点102a、共识节点103a、共识节点104a和共识节点105a)为区块链网络中的共识节点,节点集合109a中的区块链节点(包括上述业务节点107a和业务节点108a等多个业务节点)为区块链网络中除共识节点之外的区块链节点。区块链网络中的共识节点可以对业务节点(包括图1的网络架构示意图中的所有区块链节点)所产生的交易数据进行打包,打包成区块,并将该区块在所有共识节点之间进行共识验证,验证通过即可以将区块进行上链,验证不通过则不能将区块进行上链。
更多的,上述图1的网络架构示意图中的一个区块链节点可以指一个服务器、多个服务器或者终端设备等。其中,构成区块链节点的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱或者智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在本申请中,还涉及到云安全相关技术领域。其中,云安全(Cloud Security) 是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知病毒行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。
云安全主要研究方向包括:1. 云计算安全,主要研究如何保障云自身及云上各种应用的安全,包括云计算机系统安全、用户数据的安全存储与隔离、用户接入认证、信息传输安全、网络攻击防护、合规审计等;2. 安全基础设施的云化,主要研究如何采用云计算新建与整合安全基础设施资源,优化安全防护机制,包括通过云计算技术构建超大规模安全事件、信息采集与处理平台,实现对海量信息的采集与关联分析,提升全网安全事件把控能力及风险控制能力;3. 云安全服务,主要研究各种基于云计算平台为用户提供的安全服务,如防病毒服务等。
其中,本申请主要涉及到了云安全技术领域中的云安全服务。该云安全服务在本申请中主要体现在,检测区块链网络中的多个共识节点之中的异常共识节点,并对检测出的异常共识节点进行拉黑处理,进而可以为用户提供更安全的云服务。该云服务可以将用户所提交的交易数据进行共识上链等。
在本申请中重点描述如何根据各个共识节点对区块的验证结果,来找出区块链网络的多个共识节点之中的异常共识节点(也可称之为作恶共识节点),具体请参见下述图2对应的实施例中所描述的过程。
请参见图2,是本申请提供的一种数据检测的场景示意图。如图2所示,此处以检测出上述图1中的共识节点101a、共识节点102a、共识节点103a、共识节点104a和共识节点105a中的异常共识节点为例进行说明。首先,共识节点101a、共识节点102a、共识节点103a、共识节点104a和共识节点105a之间可以相互进行投票,选出领导共识节点(也可以称之为目标共识节点),该领导共识节点用于发现所有共识节点之中的可疑共识节点,并领导全部共识节点对该可疑共识节点发起仲裁,根据仲裁结果判断是否需要将该可疑共识节点踢出区块链网络。此处,假设选出共识节点101a作为领导共识节点。
更多的,每对一个区块进行共识时,每个共识节点均会根据各个共识节点针对区块的验证结果,统计各个共识节点的验证异常次数,可以将每个共识节点统计出的各个共识节点的验证异常次数,称之为目标验证异常次数。其中,每对一个区块进行共识后,都会统计得到相应区块所对应的各个共识节点的目标验证异常次数;后一个区块对应的各个共识节点的目标验证异常次数是在前一个区块对应各个共识节点的目标验证异常次数的基础上更新得到,可以将前一个区块对应的各个共识节点的目标验证异常次数称之为后一个区块对应的各个共识节点的历史验证异常次数。此处,以共识节点101a来统计对区块s进行共识后,各个共识节点的目标验证异常次数为例进行说明,可以理解的是,每个共识节点统计各个共识节点的目标验证异常次数的过程与共识节点101a统计各个共识节点的目标验证异常次数的过程相同,并且,根据每个区块的共识结果来更新得到各个共识节点的验证异常次数的原理与根据区块s的共识结果来更新得到各个共识节点的验证异常次数的原理也相同。请参见下述:
当对区块s进行共识时,每个共识节点都会对区块s进行验证,每个共识节点也都会得到自己对区块s进行验证后的验证结果。该验证结果可以包括合法验证结果和非法验证结果。其中,一个区块中可以有多个交易数据,当某个共识节点对区块s进行验证得到合法验证结果,表明该个共识节点验证出区块s中所包含的交易数据是真实可信的。反之,当某个共识节点对区块s进行验证得到非法验证结果,表明该个共识节点验证出区块s中包含不真实的交易数据,即验证出区块s中所包含的交易数据不是真实可信的。共识节点101a可以获取到其他共识节点对区块s进行验证后的验证结果。共识节点101a可以统计所获取到的所有共识节点针对区块s的共识结果中,合法验证结果的数量和非法验证结果的数量。当合法验证结果的数量大于非法验证结果的数量,则可以将合法验证结果作为针对区块s的目标验证结果。反之,当合法验证结果的数量小于非法验证结果的数量,则可以将非法验证结果作为针对区块s的目标验证结果。该目标验证结果即为通过区块链网络中的所有共识节点对区块s进行验证所得到的最终的验证结果。
举个例子,共识节点101a可以获取到共识节点102a针对区块s的验证结果、共识节点103a针对区块s的验证结果、共识节点104a针对区块s的验证结果和共识节点105a针对区块s的验证结果。假设,共识节点101a对区块s的验证结果为非法验证结果,共识节点101a所获取到的共识节点102a对区块s的验证结果为非法验证结果,共识节点101a所获取到的共识节点103a对区块s的验证结果为非法验证结果,共识节点101a所获取到的共识节点104a对区块s的验证结果为合法验证结果,共识节点101a所获取到的共识节点105a对区块s的验证结果为合法验证结果。那么,共识节点101a所获取到的所有共识结果中非法验证结果的数量为3,合法验证结果的数量为2,非法验证结果的数量3大于合法验证结果的数量2,那么共识节点101a可以将非法验证结果作为区块s的目标验证结果。
其中,可以称共识节点101a一开始所记录的各个共识节点初始的验证异常次数为默认初始次数,该默认初始次数可以自行进行设置,例如设置为0。共识节点101a可以对比各个共识节点针对区块s的验证结果和目标验证结果,当对比出某个共识节点(例如共识节点102a)针对区块s的验证结果与区块s的目标验证结果不同时,共识节点101a可以对共识节点102a初始的验证异常次数加1,得到共识节点102a的目标验证异常次数。当对比出某个共识节点(例如共识节点103a)针对区块s的验证结果与区块s的目标验证结果相同时,共识节点101a可以保持共识节点103a初始的验证异常次数不变,即将共识节点103a初始的验证异常次数作为共识节点103a的目标验证异常次数。可以理解的是,当共识节点101a通过各个共识节点针对区块s的下一个区块的验证结果来更新各个共识节点的验证异常次数时,可以将通过区块s的验证结果更新后的各个共识节点的验证异常次数,作为此时各个共识节点初始的验证异常次数。换句话说,通过上一个区块的验证结果更新后的各个共识节点的验证异常数据,即为在通过下一个区块的验证结果更新各个共识节点的验证异常次数时,各个共识节点初始的验证异常次数。
进一步理解,可以将区块s的上一个区块称之为区块s的前继区块,若区块s为共识节点101a作为领导共识节点期间,区块链网络中所进行共识的第一个区块,则此时,区块s没有前继区块。若区块s不为共识节点101a作为领导共识节点期间,区块链网络中所进行共识的第一个区块,则区块s就存在前继区块。若区块s不存在前继区块,则此时各个共识节点的历史验证异常次数就为设置的各个共识节点的默认初始次数(例如为0)。当区块s存在前继区块,则此时各个共识节点的历史验证异常次数就为通过各个共识节点针对区块s的前继区块的验证结果所得到的各个共识节点的目标验证异常次数,即区块s对应的各个共识节点的历史验证异常次数就为区块s的前继区块对应的各个共识节点的目标验证异常次数。其中,通过各个共识节点针对区块s的前继区块的验证结果来得到该前继区块对应的各个共识节点的目标验证异常次数的过程,与通过各个共识节点针对区块s的验证结果来得到区块s对应的各个共识节点的目标验证异常次数的过程相同。
更多的,可以设定一个单位时间,例如该单位时间可以是1小时、1天或者1周等。在该单位时间内,可以生成多个需要进行共识的区块,共识节点101a通过每个区块的验证结果来更新得到各个共识节点的目标验证异常次数的过程,与上述共识节点101a通过区块s的验证结果来更新得到各个共识节点的目标验证异常次数的过程相同。那么,在该单位时间之后,共识节点101a就可以得到通过该单位时间内的所有区块的验证结果对各个共识节点的验证异常次数进行更新后的最终结果,即得到该单位时间中所共识的最后一个区块对应的各个共识节点的目标验证异常次数。
例如,此处共识节点101a所得到的最终结果可以是结果101b。结果101b具体包括:共识节点101a最终记录的针对共识节点101a的目标验证异常次数为5次,共识节点101a最终记录的针对共识节点102a的目标验证异常次数为10次,共识节点101a最终记录的针对共识节点103a的目标验证异常次数为15次,共识节点101a最终记录的针对共识节点104a的目标验证异常次数为21次,共识节点101a最终记录的共识节点105a的目标验证异常次数为17次。
其中,可以设定一个异常次数阈值,例如,可以设置该异常次数阈值为20次,该异常次数阈值表明了在单位时间内共识节点的目标验证异常次数在正常范围内的最大值。假设异常次数阈值就为20次,在步骤102b中,即为共识节点101a检测到共识节点104a的目标验证异常次数21次大于了异常次数阈值20次。需要进行说明的是,共识节点102a、共识节点103a、共识节点104a和共识节点105a均可以以与上述共识节点101a一样的过程,记录下各个共识节点在单位时间内的目标验证异常次数。换句话说,每个共识节点都会记录下自己所统计的各个共识节点的目标验证异常次数,每个共识节点都会记录下与结果101b类似的结果。当共识节点101a检测到共识节点104a的目标验证异常次数大于异常次数阈值时,共识节点101a可以向其他共识节点获取到此时其他共识节点所统计的共识节点104a的目标验证异常次数。
例如,共识节点101a可以获取到共识节点102a所记录的共识节点104a的目标验证异常次数,共识节点101a可以获取到共识节点103a所记录的共识节点104a的目标验证异常次数,共识节点101a可以获取到共识节点104a所记录的针对共识节点104a的目标验证异常次数,共识节点101a可以获取到共识节点105a所记录的共识节点104a的目标验证异常次数。
接下来,共识节点101a执行步骤103b,步骤103b可以为:共识节点101a可以统计获取到的每个共识节点所记录的共识节点104a的目标验证异常次数中,超过异常次数阈值的目标验证异常次数所对应的共识节点的节点数量。还可以设定一个节点数量阈值,若该节点数量大于节点数量阈值,则判定共识节点104a是异常共识节点(即得到结果104b);若该节点数量小于或者等于该节点数量阈值,则判定共识节点104a不是异常共识节点,而是正常共识节点(即得到结果105b)。当共识节点101a判定共识节点104a为异常共识节点时,共识节点101a可以向其他共识节点(包括共识节点102a、共识节点103a、共识节点104a和共识节点105a)广播共识节点104a,使得其他共识节点可以将共识节点104a添加到节点黑名单中,同时,共识节点101a自己也会将共识节点104a添加到节点黑名单中(即步骤106b)。
各个共识节点将共识节点104a添加到节点黑名单中之后,即表明将共识节点104a踢出了区块链网络,后续,区块链网络中的共识节点不会再接收到共识节点104a所发起的区块交易,该区块交易可以是请求将区块进行上链等。可以理解的是,各个共识节点将共识节点104a添加到节点黑名单中之后,就相当于将图1中的共识节点的网络架构(包括共识节点101a、共识节点102a、共识节点103a、共识节点104a和共识节点105a)变为了图2中的共识节点的网络架构107b(包括共识节点101a、共识节点102a、共识节点103a和共识节点105a)。
通过采用本申请所提供的方法,可以主动发现区块链网络的多个共识节点中的异常共识节点,并可以将该异常共识节点踢出区块链网络,保障了区块链网络的网络安全性。
请参见图3,是本申请提供的一种基于区块链的数据检测方法的流程示意图,如图3所示,该方法可以包括:
步骤S101,获取至少两个共识节点分别针对待验证区块的区块验证结果;
具体的,本实施例中的执行主体可以是目标共识节点,目标共识节点可以是区块链网络中的任意一个共识节点。其中,区块链网络中可以有多个(至少两个)共识节点,目标共识节点可以是通过区块链网络中的全部共识节点通过投票机制投票选举出来的。举个例子,投票机制可以是:一个共识节点持有两票,每个共识节点可以将一票投给自己,将一票投给其他任意一个共识节点。最后再统计每个共识节点总共被投票的票数,票数最高的共识节点就可以作为目标共识节点。举个例子,假设区块链网络中有共识节点1、共识节点2和共识节点3,共识节点1投票给了共识节点1和共识节点2,共识节点2投票给了共识节点2和共识节点1,共识节点3投票给了共识节点3和共识节点1。那么,共识节点1的票数就为3票,共识节点2的票数就为2票,共识节点3的票数也为1票,则可以将共识节点1作为目标共识节点。
可以将区块链网络中需要进行共识的区块都称之为待验证区块。目标共识节点可以设定一个单位时间,该单位时间的起始时间可以是目标共识节点被投票确定的时候,该单位时间的时长可以是1小时、1天或者一周等。该单位时间的时长根据实际应用场景决定,对此不作限制。在该单位时间内,区块链网络中可以产生多个待验证区块,上一个待验证区块被所有共识节点验证完成才会开始下一个待验证区块的验证。待验证区块被共识时,需要被所有的共识节点进行验证,每个共识节点对待验证区块进行验证后,都可以得到针对待验证区块的区块验证结果,该区块验证结果可以简称为验证结果。每当对一个待验证区块共识完成之后,目标共识节点都可以获取到其他共识节点针对该待验证区块的区块验证结果。
以获取各个共识节点针对一个待验证区块的区块验证结果为例进行说明:目标共识节点可以生成待验证区块,目标共识节点可以将所生成的该待验证区块广播给其他各个共识节点。其他共识节点可以获取到目标共识节点向其广播的待验证区块,并对该待验证区块进行区块验证,得到针对该待验证区块的区块验证结果。每个共识节点在得到针对待验证区块的区块验证结果之后,都可以将自己所得到的区块验证结果广播给其他共识节点,因此共识节点之间也会知道每个共识节点针对待验证区块的区块验证结果。因此,目标共识节点也能获取到每个共识节点针对待验证区块的区块验证结果。
其中,可以理解的是,待验证区块不仅可以是目标共识节点生成的,也可以是除目标共识节点之外的其他共识节点生成的。同理,若待验证区块是其他共识节点生成的,那么就是由生成待验证区块的共识节点将所生成的待验证区块广播给其他共识节点(此处包括目标共识节点)进行验证。此种情况下,目标共识节点同样可以获取到其他共识节点针对待验证区块的区块验证结果。
步骤S102,统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;
具体的,本实施例中,目标共识节点可以通过各个共识节点对待验证区块的区块验证结果,来统计各个共识节点的目标验证异常次数。其中,每个共识节点的目标验证异常次数用于判断每个共识节点是否为异常共识节点。下述以如何根据一个待验证区块的区块验证结果来得到每个共识节点的目标验证异常次数为例进行说明,可以理解的是,根据每个待验证区块的区块验证结果来得到每个共识节点的目标验证异常次数的原理相同。
其中,共识节点对待验证区块进行验证所得到的区块验证结果可以是合法验证结果,或者是非法验证结果。一个共识节点对一个待验证区块验证后所得到的区块验证结果为合法验证结果和非法验证结果中的任一个验证结果。合法验证结果表明共识节点对待验证区块验证通过,非法验证结果表明共识节点对待验证区块验证不通过。一个待验证区块中可以包括多个交易数据,对一个待验证区块验证通过,表明验证出该待验证区块中的交易数据都是真实可信的交易数据;反之,对一个待验证区块验证不通过,表明验证出该待验证区块中的交易数据中存在不真实不可信的交易数据。
目标共识节点可以统计每个共识节点(包括目标共识节点,指所有共识节点)对待验证区块(指一个)进行验证后的区块验证结果中,合法验证结果的数量以及非法验证结果的数量。可以将统计出的合法验证结果的数量称之为第一数量,将统计出的非法验证结果的数量称之为第二数量。举个例子,假设有共识节点1、共识节点2和共识节点3,共识节点1对待验证区块的区块验证结果为合法验证结果,共识节点2对待验证区块的区块验证结果为非法验证结果,共识节点3对待验证区块的区块验证结果为非法验证结果,那么,合法验证结果的第一数量就为1,非法验证结果的数量就为2。
上述过程,默认每个共识节点持有的区块验证票数均为1票,可选的,区块链网络中的各个共识节点也可以拥有不同的区块验证票数。例如,系统可以根据每个共识节点不同的权威性来为每个共识节点分配区块验证票数,共识节点的权威性越高,共识节点的区块验证票数也就越多。例如,假设有共识节点1、共识节点2、共识节点3、共识节点4和共识节点5。共识节点1、共识节点2、共识节点3、共识节点4和共识节点5的权威性依次变高,则共识节点1、共识节点2、共识节点3、共识节点4和共识节点5的区块验证票数可以依次是1、2、3、4和5。
其中,在统计合法验证结果的第一数量和非法验证结果的第二数量时,可以根据每个共识节点的区块验证票数来得到。例如,可以将所有共识节点中对待验证区块的区块验证结果为合法验证结果的共识节点,称之为第一共识节点;将共识节点中对待验证区块的区块验证结果为非法验证结果的共识节点,称之为第二共识节点。可以将所有第一共识节点对应的区块验证票数加起来,得到一个求和值,可以将该求和值作为针对合法验证结果的第一数量。可以将所有第二共识节点对应的区块验证票数加起来,得到一个求和值,可以将该求和值作为针对非法验证结果的第二数量。
举个例子,假设共识节点1、共识节点2、共识节点3、共识节点4和共识节点5的区块验证票数可以依次是1、2、3、4和5。其中,共识节点1、共识节点2和共识节点3对待验证区块进行验证后所得到的区块验证结果均为非法验证结果。共识节点4和共识节点5对待验证区块进行验证后所得到的区块验证结果均为合法验证结果。那么,第一共识节点就包括共识节点1、共识节点2和共识节点3,第二共识节点就包括共识节点4和共识节点5,则合法验证结果的第一数量就为1+2+3等于6,非法验证结果的第二数量就为4+5等于9。
步骤S103,根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;
具体的,当上述统计出的合法验证结果的第一数量大于非法验证结果的第二数量时,目标共识节点可以将合法验证结果作为待验证区块的目标验证结果。当上述统计出的合法验证结果的第一数量小于非法验证结果的第二数量时,目标共识节点可以将非法验证结果作为待验证区块的目标验证结果。该目标验证结果表明目标共识节点统计出的所有共识节点针对待验证区块最终的验证结果。
步骤S104,对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;
具体的,由于待验证区块可以有多个,并且,对上一个待验证区块验证完成之后,才会进行下一个待验证区块的验证。本实施例中目标共识节点会通过各个共识节点针对每个待验证区块的区块验证结果,来更新得到每个待验证区块的目标验证异常次数。可以将通过每个待验证区块对应的区块验证结果,更新得到的各个共识节点的验证异常次数均称之为目标验证异常次数。并且,在通过每个待验证区块对应的区块验证结果,来更新得到各个共识节点的目标验证异常次数时,均是在各个共识节点的历史验证异常次数的基础上进行更新的。若多个待验证区块中包括待验证区块s,并且待验证区块s是在目标共识节点被投票确定作为领导共识节点期间区块链网络中所生成的第一个待验证区块,那么,表明待验证区块s没有前继区块(即上一个区块),此时各个共识节点的历史验证异常次数就为最初所设定的各个共识节点的默认初始次数,该默认初始次数可以为0。若待验证区块s不是在目标共识节点被投票确定作为领导共识节点期间区块链网络中所生成的第一个待验证区块,那么,表明待验证区块s有前继区块,此时各个共识节点的历史验证异常次数就是通过待验证区块s的前继区块对应的区块验证结果所得到的各个共识节点的目标验证异常次数。
因此,在通过各个共识节点针对待验证区块s的区块验证结果来更新得到各个共识节点的目标验证异常次数时,是通过待验证区块s对应的对比结果来更新通过待验证区块s的前继区块对应的区块验证结果所得到的各个共识节点的目标共识节点,进而得到通过待验证区块s对应的各个共识节点的目标共识节点。
具体更新过程参见下述:
目标共识节点中最开始所记录的每个共识节点的历史验证异常次数(即默认初始次数)均可以为0。目标共识节点可以对比每个共识节点针对待验证区块的区块验证结果与目标验证结果是否相同,可以将目标共识节点对比出的区块验证结果与目标验证结果不同的共识节点,称之为冲突共识节点。可以将目标共识节点对比出的区块验证结果与目标验证结果相同的共识节点,称之为匹配共识节点。可以在冲突共识节点对应的历史验证异常次数上加上单位异常次数,得到冲突共识节点的目标验证异常次数。其中,单位异常次数可以自行设置,例如可以为1。可以将匹配共识节点对应的历史验证异常次数直接作为匹配共识节点的目标验证异常次数。需要进行说明的是,在使用下一个待验证区块的区块验证结果来得到各个共识节点的目标验证异常次数时,是将通过上一个待验证区块的区块验证结果所得到的各个共识节点的目标验证异常次数来作为各个共识节点的历史验证异常次数的。
举个例子,请参见图4,是本申请提供的一种获取验证异常次数的场景示意图。如图4所示,区域101c中显示的是目标共识节点在最开始记录的各个共识节点(可以包括目标共识节点自己)的历史验证异常次数,均为0。目标共识节点可以是共识节点1、共识节点2、共识节点3、共识节点4和共识节点5中的任意一个共识节点。区域101c中具体显示了共识节点1最开始的历史验证异常次数为0,共识节点2最开始的历史验证异常次数为0,共识节点3最开始的历史验证异常次数为0,共识节点4最开始的历史验证异常次数为0,共识节点5最开始的历史验证异常次数为0。
接着,对待验证区块1进行共识时,目标共识节点获取到的共识节点1对待验证区块1的区块验证结果为合法验证结果,共识节点2对待验证区块1的区块验证结果为合法验证结果,共识节点3对待验证区块1的区块验证结果为非法验证结果,共识节点4对待验证区块1的区块验证结果为非法验证结果,共识节点5对待验证区块1的区块验证结果为合法验证结果。假设每个共识节点的区块验证票数均为1,那么针对待验证区块1的合法验证结果的第一数量就为3,针对待验证区块1的非法验证结果的第二数量就为2。那么,由于第一数量3大于第二数量2,待验证区块1的目标验证结果就为合法验证结果。
此时,各个共识节点的历史验证异常次数就为区域101c中所显示的次数。由于,共识节点1、共识节点2和共识节点5所验证出的针对待验证区块1的区块验证结果均与待验证区块1的目标验证结果相同,因此,可以将区域101c中的共识节点1的历史验证异常次数0直接作为共识节点1的目标验证异常次数,可以将区域101c中的共识节点2的历史验证异常次数0直接作为共识节点2的目标验证异常次数,可以将区域101c中的共识节点5的历史验证异常次数0直接作为共识节点5的目标验证异常次数。
假设单位异常次数为1次,由于,共识节点3和共识节点4所验证出的针对待验证区块1的区块验证结果均与待验证区块1的目标验证结果不相同,因此,可以将区域101c中的共识节点3的历史验证异常次数0加上单位异常次数1的结果1,作为共识节点3的目标验证异常次数。可以将区域101c中的共识节点4的历史验证异常次数0加上单位异常次数1的结果1,作为共识节点4的目标验证异常次数。
因此,通过待验证区块1对应的区块验证结果所得到的各个共识节点的目标验证异常次数就为区域102c中所显示的次数,区域102c中所显示的各个共识节点的目标验证异常次数具体为:共识节点1的目标验证异常次数为0、共识节点2的目标验证异常次数为0、共识节点3的目标验证异常次数为1、共识节点4的目标验证异常次数为1以及共识节点5的目标验证异常次数为0。
接着,待验证区块2为待验证区块1的下一个待验证区块,即待验证区块1为待验证区块2的前继区块。其中,共识节点1对待验证区块2的区块验证结果为合法验证结果,共识节点2对待验证区块2的区块验证结果为合法验证结果,共识节点3对待验证区块2的区块验证结果为非法验证结果,共识节点4对待验证区块2的区块验证结果为合法验证结果,共识节点5对待验证区块2的区块验证结果为合法验证结果。因此,针对待验证区块2的合法验证结果的第一数量为4,针对待验证区块2的非法验证结果的第二数量为1,待验证区块2的目标验证结果为合法验证结果。
此时,是将区域102c中所显示的各个共识节点的目标验证异常次数作为各个共识节点的历史验证异常次数的。因此,由于共识节点1、共识节点2、共识节点4和共识节点5对待验证区块2的区块验证结果均与待验证区块2的目标验证结果相同,因此,可以将区域102c中的共识节点1的历史验证异常次数0作为共识节点1此时的目标验证异常次数,可以将区域102c中的共识节点2的历史验证异常次数0作为共识节点2此时的目标验证异常次数,可以将区域102c中的共识节点4的历史验证异常次数1作为共识节点4此时的目标验证异常次数,可以将区域102c中的共识节点5的历史验证异常次数0作为共识节点5此时的目标验证异常次数。
由于共识节点3对待验证区块2的区块验证结果与待验证区块2的目标验证结果不相同,因此,可以将区域102c中的共识节点3的历史验证异常次数1加上单位异常次数1得到2,将2作为共识节点3此时的目标验证异常次数。
因此,通过待验证区块2对应的区块验证结果所得到的各个共识节点的目标验证异常次数就为区域103c中所显示的次数,区域103c中所显示的各个共识节点的目标验证异常次数具体为:共识节点1的目标验证异常次数为0、共识节点2的目标验证异常次数为0、共识节点3的目标验证异常次数为2、共识节点4的目标验证异常次数为1以及共识节点5的目标验证异常次数为0。
接着,待验证区块3为待验证区块2的下一个待验证区块,即待验证区块2为待验证区块3的前继区块。其中,共识节点1对待验证区块3的区块验证结果为合法验证结果,共识节点2对待验证区块3的区块验证结果为合法验证结果,共识节点3对待验证区块3的区块验证结果为非法验证结果,共识节点4对待验证区块3的区块验证结果为合法验证结果,共识节点5对待验证区块3的区块验证结果为非法验证结果。因此,针对待验证区块3的合法验证结果的第一数量为3,针对待验证区块3的非法验证结果的第二数量为2,待验证区块3的目标验证结果为合法验证结果。
此时,是将区域103c中所显示的各个共识节点的目标验证异常次数作为各个共识节点的历史验证异常次数的。因此,由于共识节点1、共识节点2和共识节点4对待验证区块3的区块验证结果均与待验证区块3的目标验证结果相同,因此,可以将区域103c中的共识节点1的历史验证异常次数0作为共识节点1此时的目标验证异常次数,可以将区域103c中的共识节点2的历史验证异常次数0作为共识节点2此时的目标验证异常次数,可以将区域103c中的共识节点4的历史验证异常次数1作为共识节点4此时的目标验证异常次数。
由于,共识节点3和共识节点5对待验证区块3的区块验证结果均与待验证区块3的目标验证结果不相同,因此,可以将区域103c中的共识节点3的历史验证异常次数2加上单位异常次数1得到3,将3作为共识节点3此时的目标验证异常次数,可以将区域103c中的共识节点5的历史验证异常次数0加上单位异常次数1得到1,将1作为共识节点5此时的目标验证异常次数。
因此,通过待验证区块3对应的区块验证结果所得到的各个共识节点的目标验证异常次数就为区域104c中所显示的次数,区域104c中所显示的各个共识节点的目标验证异常次数具体为:共识节点1的目标验证异常次数为0、共识节点2的目标验证异常次数为0、共识节点3的目标验证异常次数为3、共识节点4的目标验证异常次数为1以及共识节点5的目标验证异常次数为1。同理,若是在待验证区块3后面还有更多的待验证区块,则通过后面的待验证区块对应的区块验证结果来得到各个共识节点的目标验证异常次数的原理与上述过程所描述的原理相同。
步骤S105,根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点;
具体的,目标共识节点可以根据自己所统计的每个共识节点的目标验证异常次数,来检测出区块链网络中的多个共识节点中的异常共识节点,该异常共识节点会对区块链网络的网络安全性造成威胁。其中,目标共识节点来检测多个共识节点中的异常共识节点所使用到的各个共识节点的目标验证异常次数,均为当前所统计到的各个共识节点最新的目标验证异常次数。例如,假设上述图4中的待验证区块3即为当前最近时间所生成和验证的一个待验证区块,即此时,在待验证区块3之后还没有下一个待验证区块,那么,目标共识节点可以是根据区域104c中所显示的各个共识节点的目标验证异常次数来判断此时多个共识节点中是否存在异常共识节点。
目标共识节点可以时刻检测所统计到的各个共识节点最新的目标验证异常次数,当发现在单位时间(上述步骤S101中的单位时间)内(可以是在到达单位时间的结束时刻之前的任意一个时刻),目标共识节点所记录的某个共识节点的目标验证异常次数大于异常次数阈值时,目标共识节点就可以将该共识节点作为待审查共识节点。其中,可以理解的是,区块链网络中的每个共识节点都会自行统计各个共识节点的目标验证异常次数,每个共识节点统计各个共识节点的目标验证异常次数的过程与上述目标共识节点统计各个共识节点的目标验证异常次数的过程相同。因此,可以理解的是,每个共识节点都统计有待审查共识节点的目标验证异常次数。
目标共识节点可以向其他共识节点获取到此时其分别统计的待审查共识节点的目标验证异常次数。其中,目标共识节点向其他共识节点获取针对待审查共识节点的目标验证异常次数时,获取到的也是当前其他共识节点最新统计到的待审查共识节点的目标验证异常次数。举个例子,若区块链网络中除了目标共识节点之外,还有共识节点1、共识节点2和共识节点3,那么目标共识节点可以获取到共识节点1最新统计的待审查共识节点的目标验证异常次数、共识节点2最新统计的待审查共识节点的目标验证异常次数以及共识节点3最新统计的待审查共识节点的目标验证异常次数。
目标共识节点可以统计出所获取到的各个共识节点所统计的待审查共识节点的目标验证异常次数中,数值大于异常次数阈值的目标验证异常次数所对应的共识节点的节点数量。举个例子,若区块链网络中的共识节点包括目标共识节点、共识节点1、共识节点2和共识节点3,其中,目标共识节点、共识节点1和共识节点2所统计的待审查共识节点的目标验证异常次数均大于异常次数阈值,共识节点3所统计的待审查共识节点的目标验证异常次数小于异常次数阈值,那么目标共识节点所统计得到的上述节点数量就为3。
目标共识节点还可以获取到上述统计到的节点数量与全部共识节点的节点总数量之间的比值,若该比值大于比值阈值,则目标共识节点就可以将该待审查共识节点判定为异常共识节点。若该比值小于或者等于该比值阈值,则目标共识节点就可以将该待审查共识节点判定为正常共识节点。其中,上述比值阈值可以根据实际情况自行设置,例如,比值阈值可以为1/2,表明若超过一半的共识节点所统计到的待审查共识节点的目标验证异常次数都大于异常次数阈值,那么,就可以判定待审查共识节点为异常共识节点。
其中,每个共识节点都可以维护一个节点黑名单,被添加到节点黑名单中的共识节点,就不能再向对应的共识节点发起交易,该交易可以是请求将某个区块进行上链的交易。例如,若共识节点1将共识节点2添加到了自己的节点黑名单中,则共识节点2就不能再向共识节点1发起交易。若目标共识节点判定待审查共识节点为异常共识节点,则目标共识节点可以将该异常共识节点广播给其他每个共识节点,使得其他每个共识节点都可以将该异常共识节点添加到节点黑名单中,并且,目标共识节点自己也会将异常共识节点添加到节点黑名单。若是每个共识节点都将异常共识节点添加到了节点黑名单中,表明异常共识节点已经被踢出区块链网络了。通过将异常共识节点踢出区块链网络,可以提高区块链网络的网络安全性。
更多的,当目标共识节点通过各个共识节点所统计的待审查共识节点的目标验证异常次数,判定待审查共识节点为正常共识节点时,那么,后续,在单位时间内,当目标共识节点所统计的待审查共识节点的目标验证异常次数每增加1次(可以自行设置,也可以是每增加2次等),目标共识节点都可以再次向其他共识节点获取其分别统计的针对待审查共识节点的目标验证异常次数,再根据所获取到的其他共识节点分别统计的针对待审查共识节点的目标验证异常次数,再次判断待审查共识节点是否为异常共识节点,这个过程可以一直持续到上述单位时间的终止时刻。
可选的,当目标共识节点检测到已经到达上述单位时间的终止时刻时,目标共识节点可以清空目前所统计的各个共识节点的目标验证异常次数,将各个共识节点的目标验证异常次数均重置到0。目标共识节点还可以通知其他共识节点也可以将其当前所统计的各个共识节点的目标验证异常次数重置到0。当将每个共识节点所统计的各个共识节点的目标验证异常次数重置到0之后,每个共识节点就可以以该重置时刻作为下一个单位时间的起始时刻,重新开始统计各个共识节点的目标验证异常次数,并在该下一个单位时间内,通过目标共识节点可以再次检测多个共识节点中的异常共识节点,检测的过程与上述过程相同。
更多的,在本实施例中的执行主体目标共识节点,可以在一段时间之后进行重新投票选举。其中,该一段时间的标准可以是设定某个时长,还可以是根据待交易区块的区块高度决定。例如,可以以目标共识节点被投票确定的时刻为起始时刻,设定以该起始时刻之后达到24小时(也可以自行设置为5小时、30小时等)时,就再次通过区块链网络中的所有共识节点通过投票机制进行投票,重新投票选举出新的目标共识节点。实际上,重新投票选举出的新的目标共识节点也可以是原来的那个目标共识节点。
或者,目标共识节点可以检测待验证区块(该待验证区块为该目标共识节点来检测异常共识节点期间所产生的区块)的最高区块高度,当该最高区块高度与验证起始高度之间的高度差值大于高度差值阈值(可以自行设定)时,目标共识节点就可以向其他共识节点发送投票请求,使得区块链网络中的所有共识节点可以再次根据该投票请求以及投票机制,重新投票选举出新的目标共识节点。其中,上述验证起始高度指,目标共识节点被所有共识节点投票确定的时刻,目标共识节点的账本中存在的区块的最高区块高度。
举个例子,若目标共识节点被投票选举确定时,所持有的区块的最高区块高度为10,以目标共识节点被投票选举确定时为起始时刻,之后,经过一段时间,产生了新的20个区块(该20个区块均为待验证区块)。此时,目标共识节点所持有的区块一共为10加上20为30个,即待验证区块的最高区块高度为30,验证起始高度为10,上述高度差值为20。若高度差值阈值就为20,则目标共识节点就可以向其他共识节点发送投票请求,以重新投票选举出新的目标共识节点。
请参见图5,是本申请提供的一种检测异常共识节点的场景示意图。如图5所示,假设目标共识节点是共识节点1,目标共识节点所统计的各个共识节点的目标验证异常次数如区域101d中所显示的:共识节点1的目标验证异常次数为5次,共识节点2的目标验证异常次数为10次,共识节点3的目标验证异常次数为13次,共识节点4的目标验证异常次数为16次,共识节点5的目标验证异常次数为11次。若异常次数阈值为15次,那么,目标共识节点可以检测到其所统计的共识节点4的目标验证异常次数已经超过了异常次数阈值,目标共识节点可以将共识节点4作为待审查共识节点(如步骤102d)。
接着,目标共识节点可以向共识节点2获取共识节点2所统计的共识节点4的目标验证异常次数,向共识节点3获取共识节点3所统计的共识节点4的目标验证异常次数,向共识节点4获取共识节点4所统计的共识节点4的目标验证异常次数,向共识节点5获取共识节点5所统计的共识节点4的目标验证异常次数。此处,目标共识节点获取到的每个共识节点所统计的各个共识节点的目标验证异常次数如区域103d中所显示的:共识节点1记录的共识节点4的目标验证异常次数为16次,共识节点2记录的共识节点4的目标验证异常次数为18次,共识节点3记录的共识节点4的目标验证异常次数为16次,共识节点4记录的共识节点4的目标验证异常次数为6次,共识节点5记录的共识节点4的目标验证异常次数为17次。那么,目标验证异常次数大于异常次数阈值15的共识节点的节点数量就为4(包括共识节点1、共识节点2、共识节点3和共识节点5),该节点数量与共识节点的节点总数量5之间的比值为4/5,假设比值阈值为1/2,4/5大于1/2,则目标共识节点可以判定共识节点4就为异常共识节点(如步骤106d)。目标共识节点可以将共识节点广播至其他共识节点,使得每个共识节点都可以将共识节点4添加到自己的节点黑名单中(如步骤107d),达到将共识节点4踢出区块链网络的目的。
本申请获取至少两个共识节点分别针对待验证区块的区块验证结果;统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。由此可见,本申请提出的方法可以从至少两个共识节点中检测出异常共识节点,通过主动发现区块链网络中的异常共识节点,后续可以对该异常共识节点作出相应处理(例如添加到黑名单),以提高针对区块链网络的网络安全性。
请参见图6,是本申请提供的一种剔除异常共识节点方法的流程示意图。如图6所示,该方法可以包括:
步骤S201,打包区块;
具体的,区块链网络中的任意一个共识节点均可以打包区块,此处,所打包的区块就是指上述待验证区块。
步骤S202,广播区块;
具体的,打包待验证区块的共识节点可以将所打包的待验证区块广播给其他共识节点,使得其他共识节点可以对所广播的待验证区块进行区块验证,进行区块验证之后,可以得到针对待验证区块的区块验证结果。
步骤S203,收集其他节点验证结果;
具体的,目标共识节点可以获取到其他每个共识节点对待验证区块的区块验证结果。
步骤S204,当根据其他节点的验证结果判断出区块达成大多数共识时,提交区块,否则,不提交区块;
具体的,上述过程就为一个对区块的共识过程,达成大多数共识可以指有超过一半的共识节点对待验证区块的区块验证结果为合法验证结果。若目标共识节点检测到待验证区块达成大多数共识,则目标共识节点就可以将待验证区块进行上链,即添加到自己的账本中。若目标共识节点检测到待验证区块未达成大多数共识,则目标共识节点就不会将待验证区块进行上链。
步骤S205,统计各节点投票结果;
具体的,步骤S205为与步骤S204并列的一个步骤,此处,统计各节点投票结果是指统计各共识节点针对待验证区块的区块验证结果。目标共识节点可以根据各共识节点针对待验证区块的区块验证结果,统计得到各个共识节点的目标验证异常次数,此具体过程可以参见上述步骤S101-步骤S104。
步骤S206,单位时间内是否有节点验证结果异常;
具体的,目标共识节点可以检测在单位时间内所统计的各个共识节点的目标验证异常次数中,是否有大于异常次数阈值的验证异常次数。若有,该大于异常次数阈值的目标验证异常次数所对应的共识节点的节点验证结果就是异常的,可以将该共识节点作为上述待审查共识节点。
步骤S207,发起节点诚实仲裁;
具体的,发起诚实仲裁即为发起投票,目标共识节点可以向其他共识节点发起投票,即投票待审查共识节点是否为异常共识节点。
步骤S208,收集其他节点仲裁结果;
具体的,上述诚实仲裁的实现方式就是,目标共识节点可以获取到其他共识节点所统计的针对该待审查共识节点的目标验证异常次数,目标共识节点可以根据每个共识节点所统计针对待审查共识节点的目标验证异常次数,来判断多个共识节点中是否存在异常共识节点。
步骤S209,达成共识;
具体的,目标共识节点若是统计出有大部分共识节点(例如一半的共识节点)所统计的待审查共识节点的目标验证异常次数均大于异常次数阈值,则表明共识节点之间达成共识,一致认为待审查共识节点为异常共识节点。
步骤S210,广播剔除恶意节点;
具体的,恶意节点即为异常共识节点,目标共识节点可以向其他共识节点广播异常共识节点(即上述待审查共识节点),使得每个共识节点都可以将该异常共识节点添加到节点黑名单中,达到将异常共识节点踢出区块链网络的目的。
本申请获取至少两个共识节点分别针对待验证区块的区块验证结果;统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。由此可见,本申请提出的方法可以从至少两个共识节点中检测出异常共识节点,通过主动发现区块链网络中的异常共识节点,后续可以对该异常共识节点作出相应处理(例如添加到黑名单),以提高针对区块链网络的网络安全性。
请参见图7,是本申请提供的一种基于区块链的数据检测装置的结构示意图。该基于区块链的数据检测装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该基于区块链的数据同步装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。该数据检测装置还可应用于目标共识节点,如图7所示,该数据检测装置1可以包括:结果获取模块11、数量统计模块12、结果确定模块13、次数确定模块14和节点确定模块15;
结果获取模块11,用于获取至少两个共识节点分别针对待验证区块的区块验证结果;
数量统计模块12,用于统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;
结果确定模块13,用于根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;
次数确定模块14,用于对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;
节点确定模块15,用于根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。
其中,结果获取模块11、数量统计模块12、结果确定模块13、次数确定模块14和节点确定模块15的具体功能实现方式请参见图3对应的实施例中的步骤S101-步骤S105,这里不再进行赘述。
其中,结果获取模块11,包括:区块生成单元111、广播单元112和结果获取单元113;
区块生成单元111,用于生成待验证区块;
广播单元112,用于将待验证区块广播给每个共识节点,以使每个共识节点对待验证区块进行区块验证;
结果获取单元113,用于获取每个共识节点针对待验证区块的区块验证结果。
其中,区块生成单元111、广播单元112和结果获取单元113的具体功能实现方式请参见图3对应的实施例中的步骤S101,这里不再进行赘述。
其中,结果确定模块13,包括:第一结果确定单元131和第二结果确定单元132;
第一结果确定单元131,用于当第一数量大于第二数量时,将合法验证结果确定为目标验证结果;
第二结果确定单元132,用于当第一数量小于第二数量时,将非法验证结果确定为目标验证结果。
其中,第一结果确定单元131和第二结果确定单元132的具体功能实现方式请参见图3对应的实施例中的步骤S103,这里不再进行赘述。
其中,数量统计模块12,包括:票数获取模块121、第一节点确定单元122、第二节点确定单元123和数量确定单元124;
票数获取模块121,用于获取每个共识节点分别对应的区块验证票数;
第一节点确定单元122,用于将至少两个共识节点分别针对待验证区块的区块验证结果中,区块验证结果为合法验证结果的共识节点,确定为第一共识节点;
第二节点确定单元123,用于将至少两个共识节点分别针对待验证区块的区块验证结果中,区块验证结果为非法验证结果的共识节点,确定为第二共识节点;
数量确定单元124,用于将第一共识节点对应的区块验证票数之和,确定为第一数量,将第二共识节点对应的区块验证票数之和,确定为第二数量。
其中,票数获取模块121、第一节点确定单元122、第二节点确定单元123和数量确定单元124的具体功能实现方式请参见图3对应的实施例中的步骤S102,这里不再进行赘述。
其中,目标共识节点是由至少两个共识节点基于投票机制所投票确定的;
数据检测装置1,还包括:高度差值获取模块16和重投票模块17;
高度差值获取模块16,用于获取待验证区块的区块高度,获取区块高度与验证起始高度之间的高度差值;验证起始高度指目标共识节点当基于投票机制被投票确定时,所持有的区块的最高区块高度;
重投票模块17,用于当高度差值大于高度差值阈值时,向每个共识节点发送投票请求,以使每个共识节点根据投票请求以及投票机制,对目标共识节点进行重新投票。
其中,高度差值获取模块16和重投票模块17的具体功能实现方式请参见图3对应的实施例中的步骤S105,这里不再进行赘述。
其中,次数确定模块14,包括:结果对比单元141、冲突确定单元142、匹配确定单元143和次数确定单元144;
结果对比单元141,用于对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果;
冲突确定单元142,用于将至少两个共识节点分别针对待验证区块的区块验证结果中,对比出的与目标验证结果不同的区块验证结果所对应的共识节点,确定为冲突共识节点;
匹配确定单元143,用于将至少两个共识节点中,除冲突共识节点之外的共识节点确定为匹配共识节点;
次数确定单元144,用于将冲突共识节点对应的历史验证异常次数增加单位异常次数,得到冲突共识节点对应的目标验证异常次数,将匹配共识节点对应的历史验证异常次数,确定为匹配共识节点对应的目标验证异常次数;当待验证区块不存在前继区块时,每个共识节点分别对应的历史验证异常次数均为默认初始次数;当待验证区块存在前继区块时,每个共识节点分别对应的历史验证异常次数,为通过至少两个共识节点分别针对前继区块的区块验证结果所得到的每个共识节点的验证异常次数。
其中,结果对比单元141、冲突确定单元142、匹配确定单元143和次数确定单元144的具体功能实现方式请参见图3对应的实施例中的步骤S104,这里不再进行赘述。
其中,节点确定模块15,包括:待审查单元151、次数获取单元152和异常确定单元153;
待审查单元151,用于将目标共识节点所统计的每个共识节点的目标验证异常次数中,数值大于异常次数阈值的目标验证异常次数所对应的共识节点,确定为待审查共识节点;
次数获取单元152,用于获取每个共识节点分别统计的待审查共识节点的目标验证异常次数;
异常确定单元153,用于根据每个共识节点分别统计的待审查共识节点的目标验证异常次数,将待审查共识节点确定为异常共识节点。
其中,待审查单元151、次数获取单元152和异常确定单元153的具体功能实现方式请参见图3对应的实施例中的步骤S105,这里不再进行赘述。
其中,异常确定单元153,包括:节点数量获取子单元1531和异常确定子单元1532;
节点数量获取子单元1531,用于获取每个共识节点分别统计的待审查共识节点的目标验证异常次数中,数值大于异常次数阈值的目标验证异常次数所对应的共识节点的节点数量;
异常确定子单元1532,用于当节点数量与至少两个共识节点的节点总数量之间的比值大于比值阈值时,将待审查共识节点确定为异常共识节点。
其中,节点数量获取子单元1531和异常确定子单元1532的具体功能实现方式请参见图3对应的实施例中的步骤S105,这里不再进行赘述。
其中,数据检测装置1,还用于:
当节点数量与至少两个共识节点的节点总数量之间的比值小于或者等于比值阈值时,将待审查共识节点确定为正常共识节点。
其中,数据检测装置1,还用于:
向每个共识节点广播异常共识节点,以使每个共识节点将异常共识节点添加至节点黑名单;节点黑名单用于拒绝接收异常共识节点所发起的区块交易。
本申请获取至少两个共识节点分别针对待验证区块的区块验证结果;统计至少两个共识节点分别针对待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;根据第一数量和第二数量,确定针对待验证区块的目标验证结果;目标验证结果为合法验证结果或者非法验证结果;对比目标验证结果和至少两个共识节点分别针对待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到目标共识节点所统计的每个共识节点的目标验证异常次数;根据目标共识节点所统计的每个共识节点的目标验证异常次数,确定至少两个共识节点中的异常共识节点。由此可见,本申请提出的方法可以从至少两个共识节点中检测出异常共识节点,通过主动发现区块链网络中的异常共识节点,后续可以对该异常共识节点作出相应处理(例如添加到黑名单),以提高针对区块链网络的网络安全性。
请参见图8,是本申请提供的一种计算机设备的结构示意图。如图8所示,计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在图8所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现前文图3所对应实施例中对数据检测方法的描述。应当理解,本申请中所描述的计算机设备1000也可执行前文图7所对应实施例中对数据检测装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的数据检测装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3所对应实施例中对数据检测方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,上述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,上述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖范围。

Claims (15)

1.一种基于区块链的数据检测方法,其特征在于,由目标共识节点执行,包括:
获取至少两个共识节点分别针对待验证区块的区块验证结果;
统计所述至少两个共识节点分别针对所述待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;
根据所述第一数量和所述第二数量,确定针对所述待验证区块的目标验证结果;所述目标验证结果为所述合法验证结果或者所述非法验证结果;
对比所述目标验证结果和所述至少两个共识节点分别针对所述待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到所述目标共识节点所统计的所述每个共识节点的目标验证异常次数;
根据所述目标共识节点所统计的所述每个共识节点的目标验证异常次数,确定所述至少两个共识节点中的异常共识节点。
2.根据权利要求1所述的方法,其特征在于,所述获取至少两个共识节点分别针对待验证区块的区块验证结果,包括:
生成所述待验证区块;
将所述待验证区块广播给所述每个共识节点,以使所述每个共识节点对所述待验证区块进行区块验证;
获取所述每个共识节点针对所述待验证区块的区块验证结果。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一数量和所述第二数量,确定针对所述待验证区块的目标验证结果,包括:
当所述第一数量大于所述第二数量时,将所述合法验证结果确定为所述目标验证结果;
当所述第一数量小于所述第二数量时,将所述非法验证结果确定为所述目标验证结果。
4.根据权利要求1所述的方法,其特征在于,所述统计所述至少两个共识节点分别针对所述待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量,包括:
获取所述每个共识节点分别对应的区块验证票数;
将所述至少两个共识节点分别针对所述待验证区块的区块验证结果中,区块验证结果为所述合法验证结果的共识节点,确定为第一共识节点;
将所述至少两个共识节点分别针对所述待验证区块的区块验证结果中,区块验证结果为所述非法验证结果的共识节点,确定为第二共识节点;
将所述第一共识节点对应的区块验证票数之和,确定为所述第一数量,将所述第二共识节点对应的区块验证票数之和,确定为所述第二数量。
5.根据权利要求1所述的方法,其特征在于,所述目标共识节点是由所述至少两个共识节点基于投票机制所投票确定的;
还包括:
获取所述待验证区块的区块高度,获取所述区块高度与验证起始高度之间的高度差值;所述验证起始高度指所述目标共识节点当基于所述投票机制被投票确定时,所持有的区块的最高区块高度;
当所述高度差值大于高度差值阈值时,向所述每个共识节点发送投票请求,以使所述每个共识节点根据所述投票请求以及所述投票机制,对所述目标共识节点进行重新投票。
6.根据权利要求1所述的方法,其特征在于,所述根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到所述目标共识节点所统计的所述每个共识节点的目标验证异常次数,包括:
对比所述目标验证结果和所述至少两个共识节点分别针对所述待验证区块的区块验证结果;
将所述至少两个共识节点分别针对所述待验证区块的区块验证结果中,对比出的与所述目标验证结果不同的区块验证结果所对应的共识节点,确定为冲突共识节点;
将所述至少两个共识节点中,除所述冲突共识节点之外的共识节点确定为匹配共识节点;
将所述冲突共识节点对应的历史验证异常次数增加单位异常次数,得到所述冲突共识节点对应的目标验证异常次数,将所述匹配共识节点对应的历史验证异常次数,确定为所述匹配共识节点对应的目标验证异常次数;当所述待验证区块不存在前继区块时,所述每个共识节点分别对应的历史验证异常次数均为默认初始次数;当所述待验证区块存在前继区块时,所述每个共识节点分别对应的历史验证异常次数,为通过所述至少两个共识节点分别针对所述前继区块的区块验证结果所得到的所述每个共识节点的验证异常次数。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标共识节点所统计的所述每个共识节点的目标验证异常次数,确定所述至少两个共识节点中的异常共识节点,包括:
将所述目标共识节点所统计的所述每个共识节点的目标验证异常次数中,数值大于异常次数阈值的目标验证异常次数所对应的共识节点,确定为待审查共识节点;
获取所述每个共识节点分别统计的所述待审查共识节点的目标验证异常次数;
根据所述每个共识节点分别统计的所述待审查共识节点的目标验证异常次数,将所述待审查共识节点确定为所述异常共识节点。
8.根据权利要求7所述的方法,其特征在于,所述根据所述每个共识节点分别统计的所述待审查共识节点的目标验证异常次数,将所述待审查共识节点确定为所述异常共识节点,包括:
获取所述每个共识节点分别统计的所述待审查共识节点的目标验证异常次数中,数值大于所述异常次数阈值的目标验证异常次数所对应的共识节点的节点数量;
当所述节点数量与所述至少两个共识节点的节点总数量之间的比值大于比值阈值时,将所述待审查共识节点确定为所述异常共识节点。
9.根据权利要求8所述的方法,其特征在于,还包括:
当所述节点数量与所述至少两个共识节点的节点总数量之间的比值小于或者等于所述比值阈值时,将所述待审查共识节点确定为正常共识节点。
10.根据权利要求1所述的方法,其特征在于,还包括:
向所述每个共识节点广播所述异常共识节点,以使所述每个共识节点将所述异常共识节点添加至节点黑名单;所述节点黑名单用于拒绝接收所述异常共识节点所发起的区块交易。
11.一种基于区块链的数据检测装置,其特征在于,应用于目标共识节点,包括:
结果获取模块,用于获取至少两个共识节点分别针对待验证区块的区块验证结果;
数量统计模块,用于统计所述至少两个共识节点分别针对所述待验证区块的区块验证结果中,合法验证结果的第一数量和非法验证结果的第二数量;
结果确定模块,用于根据所述第一数量和所述第二数量,确定针对所述待验证区块的目标验证结果;所述目标验证结果为所述合法验证结果或者所述非法验证结果;
次数确定模块,用于对比所述目标验证结果和所述至少两个共识节点分别针对所述待验证区块的区块验证结果,根据对比结果对每个共识节点分别对应的历史验证异常次数进行更新,得到所述目标共识节点所统计的所述每个共识节点的目标验证异常次数;
节点确定模块,用于根据所述目标共识节点所统计的所述每个共识节点的目标验证异常次数,确定所述至少两个共识节点中的异常共识节点。
12.根据权利要求11所述的装置,其特征在于,所述结果获取模块,包括:
区块生成单元,用于生成所述待验证区块;
广播单元,用于将所述待验证区块广播给所述每个共识节点,以使所述每个共识节点对所述待验证区块进行区块验证;
结果获取单元,用于获取所述每个共识节点针对所述待验证区块的区块验证结果。
13.根据权利要求11所述的装置,其特征在于,所述结果确定模块,包括:
第一结果确定单元,用于当所述第一数量大于所述第二数量时,将所述合法验证结果确定为所述目标验证结果;
第二结果确定单元,用于当所述第一数量小于所述第二数量时,将所述非法验证结果确定为所述目标验证结果。
14.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-10中任一项所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,执行如权利要求1-10任一项所述的方法。
CN202010433284.9A 2020-05-21 2020-05-21 基于区块链的数据检测方法、装置及计算机可读存储介质 Active CN111343208B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010433284.9A CN111343208B (zh) 2020-05-21 2020-05-21 基于区块链的数据检测方法、装置及计算机可读存储介质
PCT/CN2021/088624 WO2021233048A1 (zh) 2020-05-21 2021-04-21 基于区块链的数据检测方法、装置及计算机可读存储介质
JP2022539369A JP7398000B2 (ja) 2020-05-21 2021-04-21 ブロックチェーンに基づくデータ検出方法及び装置並びにコンピュータ装置及びプログラム
KR1020227018299A KR102578019B1 (ko) 2020-05-21 2021-04-21 블록체인 기반 데이터 검출 방법 및 디바이스, 및 컴퓨터 판독가능 저장 매체
US17/742,227 US20220272105A1 (en) 2020-05-21 2022-05-11 Blockchain-based data detection method, apparatus, and computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010433284.9A CN111343208B (zh) 2020-05-21 2020-05-21 基于区块链的数据检测方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111343208A CN111343208A (zh) 2020-06-26
CN111343208B true CN111343208B (zh) 2020-08-14

Family

ID=71187577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010433284.9A Active CN111343208B (zh) 2020-05-21 2020-05-21 基于区块链的数据检测方法、装置及计算机可读存储介质

Country Status (5)

Country Link
US (1) US20220272105A1 (zh)
JP (1) JP7398000B2 (zh)
KR (1) KR102578019B1 (zh)
CN (1) CN111343208B (zh)
WO (1) WO2021233048A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343208B (zh) * 2020-05-21 2020-08-14 腾讯科技(深圳)有限公司 基于区块链的数据检测方法、装置及计算机可读存储介质
CN112200578A (zh) * 2020-09-23 2021-01-08 裴俊伟 基于区块链的金融业务校验方法和金融业务校验平台
CN112202875A (zh) * 2020-09-28 2021-01-08 北京八分量信息科技有限公司 基于区块链节点权重进行安全检测的方法、装置及相关产品
CN113312333A (zh) * 2020-10-24 2021-08-27 曹青青 基于区块链和云计算的安全服务更新方法及云计算中心
CN114615002B (zh) * 2020-12-03 2024-02-27 中国移动通信集团设计院有限公司 运营商关键基础设施被控识别方法及系统
CN113177196A (zh) * 2021-04-29 2021-07-27 广东粤信智能科技有限公司 一种基于区块链的数据标准验证方法、存储介质及系统
CN113868216B (zh) * 2021-12-03 2022-02-22 中国信息通信研究院 区块链监测方法及装置
CN114385761B (zh) * 2022-03-23 2022-07-12 支付宝(杭州)信息技术有限公司 一种基于共识系统的共识数据存储、获取方法及装置
WO2024004485A1 (ja) * 2022-06-30 2024-01-04 株式会社CountUp ブロックチェーンネットワークの構成方法及びその方法を実施するためのコンピュータソフトウエアプログラム
WO2024009650A1 (ja) * 2022-07-04 2024-01-11 株式会社CountUp ブロックチェーンネットワークの構成方法及びその方法を実施するためのコンピュータソフトウエアプログラム
CN117081861B (zh) * 2023-10-16 2023-12-26 北京亚大通讯网络有限责任公司 基于区块链的智能合约数据管理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107579848A (zh) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
CN109034851A (zh) * 2018-09-05 2018-12-18 深圳正品创想科技有限公司 基于区块链的商品防伪溯源方法及其装置、区块链节点
CN109086619A (zh) * 2018-07-05 2018-12-25 广东天泽汇通科技有限公司 基于区块链的停车信用调整方法及其装置、电子设备
CN110445619A (zh) * 2017-03-30 2019-11-12 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质
CN110932892A (zh) * 2019-11-21 2020-03-27 腾讯科技(深圳)有限公司 基于区块链的信息预警方法、装置、相关节点及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112865982A (zh) * 2017-07-26 2021-05-28 创新先进技术有限公司 数字证书管理方法、装置及电子设备
US20190333030A1 (en) * 2018-04-30 2019-10-31 Bank Of America Corporation Blockchain-based digital token utilization
CN109218311B (zh) * 2018-09-18 2021-09-03 北京京东尚科信息技术有限公司 区块链的结块方法、区块链的节点和区块链
US11729186B2 (en) * 2018-10-04 2023-08-15 Research Foundation Of The City University Of New York Blockchain architecture for computer security applications
CN110232634A (zh) * 2019-06-05 2019-09-13 湖南道业信息科技有限公司 区块链共识方法、区块链共识系统和计算机可读存储介质
CN110247774A (zh) * 2019-06-28 2019-09-17 深圳市网心科技有限公司 一种区块链数据的共识方法及相关设备
CN111343208B (zh) * 2020-05-21 2020-08-14 腾讯科技(深圳)有限公司 基于区块链的数据检测方法、装置及计算机可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110445619A (zh) * 2017-03-30 2019-11-12 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质
CN107579848A (zh) * 2017-08-30 2018-01-12 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
CN109086619A (zh) * 2018-07-05 2018-12-25 广东天泽汇通科技有限公司 基于区块链的停车信用调整方法及其装置、电子设备
CN109034851A (zh) * 2018-09-05 2018-12-18 深圳正品创想科技有限公司 基于区块链的商品防伪溯源方法及其装置、区块链节点
CN110932892A (zh) * 2019-11-21 2020-03-27 腾讯科技(深圳)有限公司 基于区块链的信息预警方法、装置、相关节点及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种改进的区块链共识机制的研究与实现;张永;《电子设计工程》;20180105;全文 *

Also Published As

Publication number Publication date
WO2021233048A1 (zh) 2021-11-25
KR102578019B1 (ko) 2023-09-14
KR20220091560A (ko) 2022-06-30
JP2023509889A (ja) 2023-03-10
JP7398000B2 (ja) 2023-12-13
CN111343208A (zh) 2020-06-26
US20220272105A1 (en) 2022-08-25

Similar Documents

Publication Publication Date Title
CN111343208B (zh) 基于区块链的数据检测方法、装置及计算机可读存储介质
CN107220130B (zh) 一种在区块链的节点处实现的信息共识方法、装置及系统
CN111506656B (zh) 区块链系统的共识处理方法、装置及智能设备、存储介质
EP3429122B1 (en) Method and apparatus for controlling electronic voting
CN111898124B (zh) 进程访问控制方法和装置、存储介质及电子设备
EP2770690A1 (en) Protecting multi-factor authentication
CN110598410B (zh) 一种恶意进程的确定方法、装置、电子设备及存储介质
CN110928880A (zh) 基于区块链的数据处理方法、装置、终端及介质
CN107872588B (zh) 呼叫处理方法、相关装置及系统
CN110661656B (zh) 一种区块链快速共识方法及装置
CN113196265A (zh) 安全检测分析
CN111147625B (zh) 获取本机外网ip地址的方法、装置及存储介质
CN111327602B (zh) 一种设备接入处理方法、设备及存储介质
CN114979109B (zh) 行为轨迹检测方法、装置、计算机设备和存储介质
CN114928452B (zh) 访问请求验证方法、装置、存储介质及服务器
CN112465516B (zh) 基于区块链网络的设备管理方法,相关设备及存储介质
CN111800407B (zh) 网络攻击的防御方法、装置、电子设备及存储介质
CN112765588A (zh) 一种身份识别方法、装置、电子设备及存储介质
CN111814204A (zh) 基于区块链的数据共识方法、相关设备及存储介质
CN114465866B (zh) 基于信任度和PBFT的DPoS方法
CN117040929B (zh) 一种访问处理方法、装置、设备、介质及程序产品
CN115392912B (zh) 随机数生成方法、系统、设备及存储介质
CN114615002B (zh) 运营商关键基础设施被控识别方法及系统
CN117318959B (zh) 一种数字证书的到期预警方法、装置、系统、设备及介质
CN108521449B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024819

Country of ref document: HK