CN110868337B - 容错共识机制测试方法、装置、存储介质和计算机设备 - Google Patents
容错共识机制测试方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN110868337B CN110868337B CN201911122151.3A CN201911122151A CN110868337B CN 110868337 B CN110868337 B CN 110868337B CN 201911122151 A CN201911122151 A CN 201911122151A CN 110868337 B CN110868337 B CN 110868337B
- Authority
- CN
- China
- Prior art keywords
- node
- abnormal
- block
- tested
- rogue
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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/1425—Traffic logging, e.g. anomaly detection
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种容错共识机制测试方法、装置、存储介质和计算机设备,所述方法包括:获取异常注入控制信息;根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据;根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点;当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据;分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。本申请提供的方案可以实现对待测试区块链的容错共识机制测试。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种容错共识机制测试方法、装置、存储介质和计算机设备。
背景技术
随着计算机技术的发展,出现了区块链技术。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。在区块链中,各节点都需要根据共识机制进行共识,共识是指不同群体所寻求的共同的认识、价值、想法等,在某一方面达成的一致意见。共识机制就是确定达成某种共识和维护共识的方式,目前已存在多种共识机制设计方式。
然而,目前的共识机制设计方式,未涉及对其共识机制是否合理进行验证,导致设计的共识机制存在不安全的问题。
发明内容
基于此,有必要针对目前的共识机制不安全的技术问题,提供一种容错共识机制测试方法、装置、存储介质和计算机设备。
一种容错共识机制测试方法,包括:
获取异常注入控制信息;
根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据;
根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据;
分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。
一种容错共识机制测试装置,其特征在于,所述装置包括:
获取模块,用于获取异常注入控制信息;
第一处理模块,用于根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据;
控制模块,用于根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
业务处理模块,用于当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据;
第二处理模块,用于分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取异常注入控制信息;
根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据;
根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据;
分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现以下步骤:
获取异常注入控制信息;
根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据;
根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据;
分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。
上述容错共识机制测试方法、装置、存储介质和计算机设备,获取异常注入控制信息,从而可以根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据,进而可以根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点,当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据,从而可以分别获取正常节点的区块数据和作恶节点的区块数据,进而根据获取的区块数据确定容错共识机制测试结果。整个过程,实现了对作恶节点的控制,并通过区块链记链业务操作请求,实现了对正常节点的区块数据和作恶节点的区块数据更新,进而根据正常节点和作恶节点更新的区块数据实现对待测试区块链的容错共识机制测试,支持共识机制的安全设计。
附图说明
图1为一个实施例中容错共识机制测试方法的应用环境图;
图2为一个实施例中容错共识机制测试方法的流程示意图;
图3为一个实施例中容错共识机制测试方法的示意图;
图4为另一个实施例中容错共识机制测试方法的示意图;
图5为又一个实施例中容错共识机制测试方法的示意图;
图6为另一个实施例中容错共识机制测试方法的流程示意图;
图7为一个实施例中容错共识机制测试装置的结构框图;
图8为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中容错共识机制测试方法的应用环境图。参照图1,该容错共识机制测试方法应用于容错共识机制测试系统。该容错共识机制测试系统包括终端110和待测试区块链120,待测试区块链120包括多个区块链节点130。终端110和待测试区块链120通过网络连接。每个区块链节点130在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该待测试区块链120内的共享数据。为了保证待测试区块链120内的信息互通,待测试区块链120中的每个区块链节点130之间可以存在信息连接,区块链节点之间可以通过上述信息连接进行信息传输。
其中,待测试区块链120获取异常注入控制信息,根据异常注入控制信息,确定待测试区块链120中待注入点以及与待注入点对应的异常操作数据,根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点,当接收到终端110发送的区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据;分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。
如图2所示,在一个实施例中,提供了一种容错共识机制测试方法。本实施例主要以该方法应用于上述图1中的待测试区块链120来举例说明。参照图2,该容错共识机制测试方法具体包括如下步骤S202至步骤S210。
步骤S202,获取异常注入控制信息。
其中,异常注入控制主要包括控制异常节点或正常节点的数量,以及异常节点的异常操作。异常注入控制信息是指与待注入的异常操作数据对应的控制信息。异常注入控制信息中包括异常类型信息、异常参数信息、异常节点标识以及其他可以控制的异常信息。其中,其他可以控制的异常信息主要包括控制时长信息等。根据异常注入控制信息可以确定在待测试区块链中的哪个区块链节点中的哪个函数进行怎样的异常操作。
在一个实施例中,步骤获取异常注入控制信息包括:
接收运行操作指令,根据运行操作指令,在待测试区块链中各节点上运行预设的携带注入逻辑的业务版本;
对运行过程进行监控,当运行至注入逻辑时,根据注入逻辑获取异常注入控制信息。
其中,运行操作指令是指控制待测试区块链中各区块链节点运行携带注入逻辑的业务版本的指令。注入逻辑是指注入异常注入控制信息的逻辑。具体的,如图3所示,注入逻辑可以利用AOP(Aspect Oriented Programming,面向切面编程)技术得到,通过利用AOP技术,可以在待测试区块链的代码中插入注入逻辑,使测试人员可以通过注入逻辑控制作恶节点数量以及异常操作(延迟、重复、异常、篡改等),以实现作恶篡改内容。利用AOP技术得到注入逻辑,可以在无需改动源代码、保留源代码的设计架构的基础上,实现异常注入控制。通过这种方式,可以通过注入逻辑获取到准确地异常注入控制信息,进而根据异常注入控制信息实现对容错共识机制的测试。
其中,作恶篡改内容包括改变返回值,拦截异常,抛出异常,函数执行时间,执行次数等。待测试区块链中各区块链节点在运行业务版本的过程中,会对运行过程进行监控,当运行至注入逻辑时,会根据注入逻辑获取异常注入控制信息。进一步的,根据注入逻辑获取异常注入控制信息可以为以下两种方式:当注入逻辑中携带异常注入控制信息时,可直接从注入逻辑中获取异常注入控制信息;当注入逻辑中不携带异常注入控制信息时,可根据注入逻辑到指定位置读取异常注入信息,指定位置可按照需要自行设置,具体可以为指定数据库、指定服务器等。
例如,如图4所示,以验证拜占庭共识协议为例,对本实施例进行说明。在验证拜占庭共识协议时,包括以下步骤:1)利用AOP方式编写注入逻辑;2)通过编译得到携带注入逻辑的业务版本,在待测试区块链上部署该业务版本并运行;3)通过外部控制实现异常注入控制;4)在异常注入后,验证拜占庭共识协议,得到验证结果。
步骤S204,根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据。
其中,待注入点是指待注入异常操作数据的点,比如,待注入点具体可以是区块链节点中的一个函数、一个类等。待注入点可以存在于任何会影响到共识机制的模块,包括交易验证、智能合约执行等模块。与待入点对应的异常操作数据是指待注入点将执行的异常操作方式和异常操作参数。比如,异常操作方式具体可以是延迟、重复、篡改、抛出异常、拦截异常等会影响各节点共识结果的异常操作,异常操作参数具体可以是异常执行时间、异常执行参数等。异常执行参数用于确定具体的异常执行动作。比如,异常执行参数具体可以是篡改金额、重复次数等。
其中,延迟是指延迟执行,即函数、线程或进程的随机或者根据需要的固定等待某个时间执行;重复是指函数、线程或进程根据需要随机或者固定重复执行某个次数;抛出异常是指对函数、线程或者进程的执行中抛出系统或业务定义的异常不向上传递。拦截异常是指拦截函数、线程或进程执行中抛出的异常,不向上传递;篡改是指对函数、线程或者进程的执行结果进行篡改,篡改可以包括同变量类型的值的修改,也可以是变量类型的修改。
在一个实施例中,步骤根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据包括:
根据异常注入控制信息中的异常节点标识,匹配待测试区块链中各节点,确定异常节点;
根据异常注入控制信息中的异常参数信息和异常类型信息,确定异常节点中的待注入点以及与待注入点对应的异常操作数据。
其中,异常节点标识是指用于确定异常节点的标识。通过将异常节点标识匹配待测试区块链中各节点,可以从待测试区块链中确定异常节点。异常节点是指根据异常节点标识确定的、即将注入异常操作、并根据异常操作作恶的节点。异常参数信息与待注入点对应,通过异常参数信息可以确定待注入点。待注入点具体可以是节点中的某个函数或某个类。异常类型信息与异常操作数据对应,通过异常类型信息可以确定异常操作数据。通过这种方式,可以根据异常注入控制信息实现对异常节点、待注入点以及与待注入点对应的异常操作数据的确定。
步骤S206,根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点。
其中,作恶节点是指在待测试区块链中“做坏事”的节点,作恶节点的业务处理过程与其他正常节点不完全一致。通过设置作恶节点,可以实现对容错共识机制的测试。具体的,通过根据异常操作数据对待注入点进行异常操作注入,可以控制作恶节点实现固定或延迟返回结果、篡改结果、抛出异常或者拦截异常等异常操作,即使作恶节点对合法或者非法的请求进行篡改,使之变成非法或者合法的请求。合法是指在待测试区块链正常的情况下,可以被待测试区块链正常执行的请求,非法是指在待测试区块链正常的情况下,不可以被待测试区块链正常执行的请求。例如,双花属于非法的请求,正常节点应该拒绝这笔交易,而对于作恶节点来说,可以通过异常的控制,使该作恶节点接受这笔交易。进一步的,在得到已注入异常操作的作恶节点的过程中,可以控制待测试区块链上各节点同步一致异常或者个性化的定制每个节点的异常类型,即可以给各节点注入相同的异常操作,也可以给各节点注入不相同的异常操作。
步骤S208,当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据。
其中,区块链记链业务操作请求是指会对待测试区块链中存储的数据进行更新的业务操作请求,即会记录在待测试区块链上的业务操作请求。具体的,记链业务操作请求包括向待测试区块链发起资产发行、转账、合约调用等请求。正常节点是指非作恶节点,即未被注入异常操作的节点。正常节点通过处理区块链记链业务操作请求,可以更新正常节点的区块数据,同时,作恶节点通过处理区块链记链业务操作请求,也可以更新作恶节点的区块数据。该区块链记链业务操作请求的处理结果包括在更新的区块数据中。进一步的,待测试区块链中正常节点和作恶节点分别处理区块链记链业务操作请求后,可能会得到不同的处理结果。
在一个实施例中,步骤通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据包括:
通过作恶节点根据已注入异常操作对区块链记链业务操作请求进行处理,更新作恶节点的区块数据。
通过作恶节点根据已注入异常操作对区块链记链业务操作请求进行处理,更新作恶节点的区块数据,即是指异常处理。通过这种方式,可以使作恶节点采取与正常节点不同的方式对区块链记链业务操作请求进行异常操作处理,从而可以根据处理结果,实现对待测试区块链的容错共识机制的测试。
步骤S210,分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。
其中,在获取正常节点的区块数据和作恶节点的区块数据之后,可以通过比对正常节点的区块数据和作恶节点的区块数据,确定正常节点和作恶节点的共识情况,从而可以根据共识情况,确定容错共识机制测试结果,容错共识机制测试结果包括容错共识机制正常生效和未正常生效。
在一个实施例中,步骤分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果包括:
分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定待测试区块链的共识结果;
当共识结果为共识成功时,统计作恶节点数量和正常节点数量,并确定作恶节点数量和正常节点数量的对应关系;
当对应关系满足预设的目标对应关系时,确定容错共识机制正常生效。
其中,根据正常节点的区块数据,可以确定正常节点对区块链记链业务操作请求的第一处理结果,根据作恶节点的区块数据,可以确定作恶节点对区块链记链业务操作请求的第二处理结果,从而可以根据第一处理结果和第二处理结果确定待测试区块链的共识结果,共识结果包括共识成功和共识不成功。当共识结果为共识成功时,会统计待测试区块链中作恶节点数量和正常节点数量,并确定作恶节点数量和正常节点数量的对应关系。
其中,对应关系是指数量对应关系,当对应关系满足预设的目标对应关系时,确定容错共识机制正常生效。比如,当针对拜占庭容错共识机制进行测试时,当满足以下情况时,可以判定拜占庭容错共识机制正常生效:1)正常节点数量远大于作恶节点数量,比如,以PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)为例,当正常节点数量N≥3t+1(t为作恶节点数量)时,可认为正常节点数量远大于作恶节点数量;2)采用相同异常作恶的作恶节点数量,远大于正常节点数量,比如,以PBFT为例,当作恶节点数量T≥3n+1(n为正常节点数量)时,可认为满足要求。若无法正常共识,可以进一步通过不断调整作恶节点数量和正常节点数量来达到准确测试目的。
进一步的,通过不断调整作恶节点数量和正常节点数量来达到准确测试目的主要包括两个维度的调整,一是异常类型的调整,二是异常节点数量的调整。通过调整,要实现作恶节点数量分别从0到N(待测试区块链中节点总数)遍历,再根据需要遍历作恶节点的异常类型。因为待测试区块链的状态是会不断变化的,随着作恶节点数量的增加,待测试区块链的状态可能会从可以共识到不能共识再到可以共识,即作恶节点数量多了,也是可以共识的。因此,通过这种调整能达到准确测试目的。例如,通过不断调整作恶节点数量和正常节点数量来达到准确测试目的可以采取如下方式:1)从0开始逐步增加作恶节点数量至最大(即待测试区块链中各节点均为作恶节点);2)控制各作恶节点遍历需要注入的各种异常操作;3)执行各种区块链记链业务操作请求和节点更新操作请求;4)记录每次调整作恶节点数量后,各节点作恶情况对待测试区块链的业务处理的影响(即确定每次调整作恶节点数量后,待测试区块链的容错共识机制是否正常生效)。
通过这种方式,可以根据正常节点的区块数据和作恶节点的区块数据,确定待测试区块链的共识结果,当共识结果为共识成功时,就可以通过统计作恶节点数量和正常节点数量,确定作恶节点数量和正常节点数量的对应关系,进而通过对应关系,确定容错共识机制是否正常生效,实现了对容错共识机制的测试。
在一个实施例中,步骤根据获取的区块数据确定待测试区块链的共识结果包括:
从区块数据中获取正常节点对区块链记链业务操作请求的第一处理结果以及作恶节点对区块链记链业务操作请求的第二处理结果;
根据第一处理结果和第二处理结果进行共识处理,得到目标处理结果;
当目标处理结果与第一处理结果相同时,确定待测试区块链的共识结果为共识成功。
其中,目标处理结果是指第一处理结果和第二处理结果的共识结果,即在第一处理结果和第二处理结果中占大多数的主要处理结果。例如,以四个节点的待测试区块链为例,若第一个节点的转账金额为A,其余三个节点的转账金额为B,则可以得到目标处理结果为转账金额为B。因为正常节点是在进行正常处理,所以当目标处理结果与正常节点的第一处理结果相同时,即可认为待测试区块链的共识结果为共识成功。通过这种方式,可以实现对待测试区块链的共识结果的确定。
其中,在确定共识结果时,除了对是否共识成功进行验证分析之外,还需要对区块链记链业务操作请求中涉及到的一些其他信息进行验证,比如,涉及的地址余额、合约中各存储信息数据等。举例说明,如果是进行转账操作,还需要验证账户余额情况是否正确。例如,以四个节点的待测试区块链为例进行说明。首先获取异常注入信息,根据异常注入控制信息,控制第一个节点篡改转账金额加1;然后调用待测试区块链发起转账请求,在转账请求完成后,获取四个节点的区块数据,并从区块数据中读取出账户余额;若从其余三个节点读取出的账户余额相同,且无错误日志,则判断待测试区块链节点共识成功。
在一个实施例中,在步骤分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果之后,还包括:
接收节点更新操作请求;
根据节点更新操作请求对待测试区块链进行更新,并将更新后的待测试区块链重新作为待测试区块链,返回根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据的步骤。
其中,节点更新操作请求是指对节点进行调整的请求,调整方式包括节点重启、节点退出以及新加入节点等节点操作。在接收到节点更新操作请求之后,会根据节点更新操作请求对待测试区块链进行更新,即对待测试区块链中的部分节点进行调整,在更新完成后,就可以将更新后的待测试区块链重新作为待测试区块链,返回根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据的步骤,继续进行容错共识机制测试。通过这种方式,可以实现在节点更新的基础上,对待测试区块链的容错共识机制进行测试,以达到全面测试的目的。
上述容错共识机制测试方法,获取异常注入控制信息,从而可以根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据,进而可以根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点,当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据,从而可以分别获取正常节点的区块数据和作恶节点的区块数据,进而根据获取的区块数据确定容错共识机制测试结果。整个过程,实现了对作恶节点的控制,并通过区块链记链业务操作请求,实现了对正常节点的区块数据和作恶节点的区块数据更新,进而根据正常节点和作恶节点更新的区块数据实现对待测试区块链的容错共识机制测试,支持共识机制的安全设计。
在一个实施例中,以图5的示意图为例,对本申请的容错共识机制测试方法进行说明。
测试人员利用AOP可以得到携带注入逻辑的业务版本,在得到该业务版本后,会将该业务版本部署在待测试区块链中各节点上,并在部署完成后,发送运行操作指令至待测试区块链。待测试区块链接收运行操作指令,根据运行操作指令,在待测试区块链中各节点上运行已部署的携带注入逻辑的业务版本,其中,利用AOP可以实现在业务版本中注入异常行为,异常行为包括重复、多次、跳过、延迟执行、篡改、延迟返回数据、抛出或者拦截异常、进程、线程延迟启动等。
待测试区块链会对运行过程进行监控,当运行至注入逻辑时,根据注入逻辑获取异常注入控制信息,异常注入控制包括控制一定数量节点随机、同步作恶异常,调整节点数量以及正反两个方向验证。通过获取异常注入控制信息可以实现外部控制,在异常注入控制信息中包括异常节点标识、异常参数信息、异常类型信息以及其他可以控制的异常信息。其中,根据异常注入控制信息中的异常节点标识,匹配待测试区块链中各节点,可以确定异常节点,根据异常注入控制信息中的异常参数信息和异常类型信息,可以确定异常节点中的待注入点以及与待注入点对应的异常操作数据,根据异常操作数据对待注入点进行异常操作注入,就能够得到已注入异常操作的作恶节点。
在得到作恶节点之后,当接收到区块链记链业务操作请求时,待测试区块链会通过正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据。进而通过获取的正常节点的区块数据和作恶节点的区块数据对容错共识机制进行验证分析,其中,进行验证分析包括:从区块数据中获取正常节点对区块链记链业务操作请求的第一处理结果以及作恶节点对区块链记链业务操作请求的第二处理结果,根据第一处理结果和第二处理结果进行共识处理,得到目标处理结果,当目标处理结果与第一处理结果相同时,确定待测试区块链的共识结果为共识成功。当共识结果为共识成功时,统计作恶节点数量和正常节点数量,并确定作恶节点数量和正常节点数量的对应关系,当对应关系满足预设的目标对应关系时,确定容错共识机制正常生效。
在一个实施例中,如图6所示,通过一个最具体实施例来说明本申请中的容错共识机制测试方法。该方法包括如下步骤S602至步骤S626。
步骤S602,接收运行操作指令,根据运行操作指令,在待测试区块链中各节点上运行预设的携带注入逻辑的业务版本;
步骤S604,对运行过程进行监控,当运行至注入逻辑时,根据注入逻辑获取异常注入控制信息;
步骤S606,根据异常注入控制信息中的异常节点标识,匹配待测试区块链中各节点,确定异常节点;
步骤S608,根据异常注入控制信息中的异常参数信息和异常类型信息,确定异常节点中的待注入点以及与待注入点对应的异常操作数据;
步骤S610,根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
步骤S612,当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点根据已注入异常操作对区块链记链业务操作请求进行处理,更新作恶节点的区块数据;
步骤S614,从区块数据中获取正常节点对区块链记链业务操作请求的第一处理结果以及作恶节点对区块链记链业务操作请求的第二处理结果;
步骤S616,根据第一处理结果和第二处理结果进行共识处理,得到目标处理结果;
步骤S618,当目标处理结果与第一处理结果相同时,确定待测试区块链的共识结果为共识成功;
步骤S620,当共识结果为共识成功时,统计作恶节点数量和正常节点数量,并确定作恶节点数量和正常节点数量的对应关系;
步骤S622,当对应关系满足预设的目标对应关系时,确定容错共识机制正常生效。
步骤S624,接收节点更新操作请求;
步骤S626,根据节点更新操作请求对待测试区块链进行更新,并将更新后的待测试区块链重新作为待测试区块链,返回根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据的步骤。
图6为一个实施例中容错共识机制测试方法的流程示意图。应该理解的是,虽然图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图7所示,在一个实施例中,提供了一种容错共识机制测试装置。该容错共识机制测试装置包括获取模块702、第一处理模块704、控制模块706、业务处理模块708以及第二处理模块710。
获取模块702,用于获取异常注入控制信息;
第一处理模块704,用于根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据;
控制模块706,用于根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
业务处理模块708,用于当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据;
第二处理模块710,用于分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。
在一个实施例中,获取模块702包括注入单元,注入单元用于接收运行操作指令,根据运行操作指令,在待测试区块链中各节点上运行预设的携带注入逻辑的业务版本,对运行过程进行监控,当运行至注入逻辑时,根据注入逻辑获取异常注入控制信息。
在一个实施例中,第一处理模块704包括匹配单元,匹配单元用于根据异常注入控制信息中的异常节点标识,匹配待测试区块链中各节点,确定异常节点,根据异常注入控制信息中的异常参数信息和异常类型信息,确定异常节点中的待注入点以及与待注入点对应的异常操作数据。
在一个实施例中,业务处理模块708包括业务处理单元,业务处理单元用于通过作恶节点根据已注入异常操作对区块链记链业务操作请求进行处理,更新作恶节点的区块数据。
在一个实施例中,第二处理模块710包括判断单元,判断单元用于分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定待测试区块链的共识结果,当共识结果为共识成功时,统计作恶节点数量和正常节点数量,并确定作恶节点数量和正常节点数量的对应关系,当对应关系满足预设的目标对应关系时,确定容错共识机制正常生效。
在一个实施例中,判断单元包括处理组件,处理组件用于从区块数据中获取正常节点对区块链记链业务操作请求的第一处理结果以及作恶节点对区块链记链业务操作请求的第二处理结果,根据第一处理结果和第二处理结果进行共识处理,得到目标处理结果,当目标处理结果与第一处理结果相同时,确定待测试区块链的共识结果为共识成功。
在一个实施例中,容错共识机制测试装置还包括更新模块,更新模块用于接收节点更新操作请求,根据节点更新操作请求对待测试区块链进行更新,并将更新后的待测试区块链重新作为待测试区块链,返回根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据的步骤。
上述容错共识机制测试装置,获取异常注入控制信息,从而可以根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据,进而可以根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点,当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据,从而可以分别获取正常节点的区块数据和作恶节点的区块数据,进而根据获取的区块数据确定容错共识机制测试结果。整个过程,实现了对作恶节点的控制,并通过区块链记链业务操作请求,实现了对正常节点的区块数据和作恶节点的区块数据更新,进而根据正常节点和作恶节点更新的区块数据实现对待测试区块链的容错共识机制测试,支持共识机制的安全设计。
图8示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的待测试区块链120中的区块链节点130。如图8所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现容错共识机制测试方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行容错共识机制测试方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的容错共识机制测试装置可以实现为一种计算机程序的形式,计算机程序可在如图8所示的计算机设备上运行。计算机设备的存储器中可存储组成该容错共识机制测试装置的各个程序模块,比如,图7所示的获取模块、第一处理模块、控制模块、业务处理模块和第二处理模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的容错共识机制测试方法中的步骤。
例如,图8所示的计算机设备可以通过如图7所示的容错共识机制测试装置中的获取模块执行获取异常注入控制信息。计算机设备可通过第一处理模块执行根据异常注入控制信息,确定待测试区块链中待注入点以及与待注入点对应的异常操作数据。计算机设备可通过控制模块执行根据异常操作数据对待注入点进行异常操作注入,得到已注入异常操作的作恶节点。计算机设备可通过业务处理模块执行当接收到区块链记链业务操作请求时,通过待测试区块链中正常节点处理区块链记链业务操作请求,更新正常节点的区块数据,并通过作恶节点处理区块链记链业务操作请求,更新作恶节点的区块数据。计算机设备可通过第二处理模块执行分别获取正常节点的区块数据和作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述容错共识机制测试方法的步骤。此处容错共识机制测试方法的步骤可以是上述各个实施例的容错共识机制测试方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述容错共识机制测试方法的步骤。此处容错共识机制测试方法的步骤可以是上述各个实施例的容错共识机制测试方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种容错共识机制测试方法,包括:
获取异常注入控制信息;
根据所述异常注入控制信息,确定待测试区块链中待注入点以及与所述待注入点对应的异常操作数据;
根据所述异常操作数据对所述待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
当接收到区块链记链业务操作请求时,通过所述待测试区块链中正常节点处理所述区块链记链业务操作请求,更新所述正常节点的区块数据,并通过所述作恶节点处理所述区块链记链业务操作请求,更新所述作恶节点的区块数据;
分别获取所述正常节点的区块数据和所述作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果;
所述分别获取所述正常节点的区块数据和所述作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果包括:
分别获取所述正常节点的区块数据和所述作恶节点的区块数据,从所述区块数据中获取所述正常节点对所述区块链记链业务操作请求的第一处理结果以及所述作恶节点对所述区块链记链业务操作请求的第二处理结果;
根据所述第一处理结果和所述第二处理结果,确定所述待测试区块链的共识结果;
根据所述共识结果,确定容错共识机制测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取异常注入控制信息包括:
接收运行操作指令,根据所述运行操作指令,在所述待测试区块链中各节点上运行预设的携带注入逻辑的业务版本;
对运行过程进行监控,当运行至所述注入逻辑时,根据所述注入逻辑获取所述异常注入控制信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述异常注入控制信息,确定待测试区块链中待注入点以及与所述待注入点对应的异常操作数据包括:
根据所述异常注入控制信息中的异常节点标识,匹配所述待测试区块链中各节点,确定异常节点;
根据所述异常注入控制信息中的异常参数信息和异常类型信息,确定所述异常节点中的待注入点以及与所述待注入点对应的异常操作数据。
4.根据权利要求1所述的方法,其特征在于,所述通过所述作恶节点处理所述区块链记链业务操作请求,更新所述作恶节点的区块数据包括:
通过所述作恶节点根据所述已注入异常操作对所述区块链记链业务操作请求进行处理,更新所述作恶节点的区块数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述共识结果,确定容错共识机制测试结果包括:
当所述共识结果为共识成功时,统计作恶节点数量和正常节点数量,并确定所述作恶节点数量和所述正常节点数量的对应关系;
当所述对应关系满足预设的目标对应关系时,确定容错共识机制正常生效。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一处理结果和所述第二处理结果,确定所述待测试区块链的共识结果包括:
根据所述第一处理结果和所述第二处理结果进行共识处理,得到目标处理结果;
当所述目标处理结果与所述第一处理结果相同时,确定所述待测试区块链的共识结果为共识成功。
7.根据权利要求1所述的方法,其特征在于,在所述分别获取所述正常节点的区块数据和所述作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果之后,还包括:
接收节点更新操作请求;
根据所述节点更新操作请求对所述待测试区块链进行更新,并将更新后的待测试区块链重新作为所述待测试区块链,返回所述根据所述异常注入控制信息,确定待测试区块链中待注入点以及与所述待注入点对应的异常操作数据的步骤。
8.一种容错共识机制测试装置,其特征在于,所述装置包括:
获取模块,用于获取异常注入控制信息;
第一处理模块,用于根据所述异常注入控制信息,确定待测试区块链中待注入点以及与所述待注入点对应的异常操作数据;
控制模块,用于根据所述异常操作数据对所述待注入点进行异常操作注入,得到已注入异常操作的作恶节点;
业务处理模块,用于当接收到区块链记链业务操作请求时,通过所述待测试区块链中正常节点处理所述区块链记链业务操作请求,更新所述正常节点的区块数据,并通过所述作恶节点处理所述区块链记链业务操作请求,更新所述作恶节点的区块数据;
第二处理模块,用于分别获取所述正常节点的区块数据和所述作恶节点的区块数据,根据获取的区块数据确定容错共识机制测试结果;
所述第二处理模块还用于分别获取所述正常节点的区块数据和所述作恶节点的区块数据,从所述区块数据中获取所述正常节点对所述区块链记链业务操作请求的第一处理结果以及所述作恶节点对所述区块链记链业务操作请求的第二处理结果,根据所述第一处理结果和所述第二处理结果,确定所述待测试区块链的共识结果,根据所述共识结果,确定容错共识机制测试结果。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911122151.3A CN110868337B (zh) | 2019-11-15 | 2019-11-15 | 容错共识机制测试方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911122151.3A CN110868337B (zh) | 2019-11-15 | 2019-11-15 | 容错共识机制测试方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110868337A CN110868337A (zh) | 2020-03-06 |
CN110868337B true CN110868337B (zh) | 2021-05-07 |
Family
ID=69653525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911122151.3A Active CN110868337B (zh) | 2019-11-15 | 2019-11-15 | 容错共识机制测试方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110868337B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113760691A (zh) * | 2020-06-10 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 持续集成测试方法、装置及存储介质 |
CN111865946B (zh) * | 2020-07-06 | 2022-09-06 | 河南信大网御科技有限公司 | 一种分布式输入代理系统、方法及拟态构造架构 |
CN111917729B (zh) * | 2020-07-09 | 2023-04-07 | 财付通支付科技有限公司 | 动态注入测试方法及装置、相关设备 |
CN111782551B (zh) * | 2020-08-04 | 2021-07-27 | 腾讯科技(深圳)有限公司 | 针对区块链项目的测试方法、装置及计算机设备 |
CN111949531B (zh) * | 2020-08-10 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 区块链网络的测试方法、装置、介质及电子设备 |
CN113364874B (zh) * | 2021-06-09 | 2022-06-10 | 网易(杭州)网络有限公司 | 基于区块链的节点同步方法、装置、存储介质及服务器 |
CN114356617B (zh) * | 2021-11-29 | 2024-03-08 | 苏州浪潮智能科技有限公司 | 注错测试方法、装置、系统及计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623686A (zh) * | 2017-09-12 | 2018-01-23 | 深圳先进技术研究院 | 区块链共识达成方法、装置、设备及存储介质 |
CN108134706A (zh) * | 2018-01-02 | 2018-06-08 | 中国工商银行股份有限公司 | 区块链多活高可用系统、计算机设备以及方法 |
CN109241778A (zh) * | 2018-08-13 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链的公共交通数据处理方法和装置 |
CN109446089A (zh) * | 2018-10-30 | 2019-03-08 | 赛汇检测(广州)有限公司 | 一种基于区块链技术的软件测试平台 |
CN109462836A (zh) * | 2018-11-09 | 2019-03-12 | 长安大学 | 融合区块链共识机制的车联网恶意节点检测系统及方法 |
CN109508295A (zh) * | 2018-11-14 | 2019-03-22 | 联动优势科技有限公司 | 区块链共识算法测试方法、装置、计算装置和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100476745C (zh) * | 2003-12-24 | 2009-04-08 | 英业达股份有限公司 | 在Linux操作系统引导过程中实现映象文件自动容错的方法 |
CN101334754A (zh) * | 2008-08-05 | 2008-12-31 | 浙江大学 | 基于故障注入的嵌入式系统测评方法 |
CN103019921B (zh) * | 2011-09-20 | 2015-04-15 | 中国人民解放军63928部队 | 一种基于故障注入的操作系统容错性测试系统及其方法 |
US20180004777A1 (en) * | 2016-04-15 | 2018-01-04 | Brian J. Bulkowski | Data distribution across nodes of a distributed database base system |
US10204341B2 (en) * | 2016-05-24 | 2019-02-12 | Mastercard International Incorporated | Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees |
CN109347901B (zh) * | 2018-08-23 | 2020-12-15 | 泰链(厦门)科技有限公司 | 区块链系统的共识机制实现方法、介质、装置及系统 |
-
2019
- 2019-11-15 CN CN201911122151.3A patent/CN110868337B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107623686A (zh) * | 2017-09-12 | 2018-01-23 | 深圳先进技术研究院 | 区块链共识达成方法、装置、设备及存储介质 |
CN108134706A (zh) * | 2018-01-02 | 2018-06-08 | 中国工商银行股份有限公司 | 区块链多活高可用系统、计算机设备以及方法 |
CN109241778A (zh) * | 2018-08-13 | 2019-01-18 | 阿里巴巴集团控股有限公司 | 一种基于区块链的公共交通数据处理方法和装置 |
CN109446089A (zh) * | 2018-10-30 | 2019-03-08 | 赛汇检测(广州)有限公司 | 一种基于区块链技术的软件测试平台 |
CN109462836A (zh) * | 2018-11-09 | 2019-03-12 | 长安大学 | 融合区块链共识机制的车联网恶意节点检测系统及方法 |
CN109508295A (zh) * | 2018-11-14 | 2019-03-22 | 联动优势科技有限公司 | 区块链共识算法测试方法、装置、计算装置和存储介质 |
Non-Patent Citations (2)
Title |
---|
"区块链共识机制研究综述";刘懿中等;《电子技术及信息科学》;20190831;全文 * |
"用软件实现的故障注入工具评估错误检测机制";王建莹等;《电子技术及信息科学》;20050531;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110868337A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110868337B (zh) | 容错共识机制测试方法、装置、存储介质和计算机设备 | |
CN110633323B (zh) | 业务数据存储方法、装置、存储介质和计算机设备 | |
CA3177205C (en) | Method of and system for managing smart contract | |
US20230163963A1 (en) | Method and apparatus for selecting distributed consensus node based on proof of nonce | |
CN109726099B (zh) | 一种应用灰度发布方法、装置及设备 | |
CN110598446A (zh) | 基于区块链的测试方法、装置、存储介质和计算机设备 | |
CN109242467A (zh) | 基于区块链的组网方法、装置、计算机设备和存储介质 | |
CN111262701A (zh) | 一种重放攻击检测方法、系统、设备及存储介质 | |
CN104978530B (zh) | 一种应用安全管理方法、装置、服务器以及系统 | |
CN110866289B (zh) | 基于区块链的数据处理方法、装置、服务器及存储介质 | |
CN109144487B (zh) | 进件业务开发方法、装置、计算机设备和存储介质 | |
CN111460404A (zh) | 双录数据处理方法、装置、计算机设备及存储介质 | |
CN110599267A (zh) | 电子发票开票方法、装置、计算机可读存储介质和计算机设备 | |
CN110647439B (zh) | 确认区块链系统部署方法、装置、计算机设备及存储介质 | |
CN114363008B (zh) | 一种虚拟设备认证方法、装置、电子设备及存储介质 | |
CN114546837A (zh) | 接口测试的方法、装置、设备及存储介质 | |
CN113193992A (zh) | 一种区块链平台、方法、装置、计算机设备及存储介质 | |
CN112104671B (zh) | 接口授权监控方法、装置、计算机设备和存储介质 | |
US20170063819A1 (en) | Electronic device identification | |
CN110503432B (zh) | 资源转移请求的处理方法、装置和计算机可读存储介质 | |
CN111460256A (zh) | 网页数据的爬取方法、装置、计算机设备和存储介质 | |
CN110569167A (zh) | 网页报警监控方法、脚本报错方法、装置及计算机设备 | |
CN113627208B (zh) | 一种扫码登陆预警方法、装置、计算机设备和存储介质 | |
CN110598374A (zh) | 基于区块链的作品登记方法、装置和计算机可读存储介质 | |
CN111241560B (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 |