CN112398949A - 交易确认方法、系统、装置和计算机设备 - Google Patents
交易确认方法、系统、装置和计算机设备 Download PDFInfo
- Publication number
- CN112398949A CN112398949A CN202011345706.3A CN202011345706A CN112398949A CN 112398949 A CN112398949 A CN 112398949A CN 202011345706 A CN202011345706 A CN 202011345706A CN 112398949 A CN112398949 A CN 112398949A
- Authority
- CN
- China
- Prior art keywords
- verification
- nodes
- transaction
- confirmed
- agenda
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- 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)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Technology Law (AREA)
- General Physics & Mathematics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供了一种交易确认方法、系统、装置、计算机设备和存储介质。该方法包括:通过获取待确认交易,通过多个议员节点对待确认交易进行第一验证处理,以及通过多个目标节点对待确认交易进行第二验证处理,若第一验证和第二验证的验证结果均验证通过,生成待确认交易对应的区块,添加到区块链中,其中,多个议员节点基于投票机制从区块链的多个节点中选取得到,多个议员节点分别从多个节点分组中随机确定,使得对待确认交易通过不同来源的节点组合进行两次验证,提高了交易确认的可靠性。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种交易确认方法、系统、装置、计算机设备和存储介质。
背景技术
在进行基于区块链交易时,通常需要通过区块链共识算法对交易进行验证,使得在一些区块链节点出错的情况下,以提高交易的安全性。
目前技术中,存在大多数用户串通形成恶意共识节点的情况,导致对交易的验证结果不准确。
发明内容
基于此,有必要针对目前技术中存在的交易验证结果不准确的技术问题,提供一种交易确认方法、系统、装置、计算机设备和存储介质。
一种交易确认方法,所述方法包括:
获取待确认交易;
通过多个议员节点对所述待确认交易进行第一验证处理,以及通过多个目标节点对所述待确认交易进行第二验证处理;所述多个议员节点基于投票机制从区块链的多个节点中选取得到;所述多个目标节点分别从多个节点分组中随机确定,且所述多个目标节点与所述多个节点分组一一对应;
若第一验证和第二验证的验证结果均为验证通过,生成所述待确认交易对应的区块,并添加到区块链中。
在其中一个实施例中,所述通过多个议员节点对所述待确认交易进行第一验证处理,包括:
从多个节点中,基于投票确定多个议员节点;
对所述多个议员节点进行排序,根据排序结果,从所述多个议员节点中确定一个议长节点和若干轮值议员节点;
针对所述待确认交易,通过议长节点生成对应的提案块并广播;
获取各轮值议员节点对所述提案块广播的验证结果信息;
若发布验证通过的广播消息的轮值议员节点相对于当前轮值议员节点的数量比例达到第一阈值,确定所述待确认交易的第一验证结果为验证通过。
在其中一个实施例中,所述对所述多个议员节点进行排序,包括:
获取所述多个议员节点分别对应的地址哈希值;
按照所述地址哈希值对所述多个议员节点进行排序。
在其中一个实施例中,所述通过多个目标节点对所述待确认交易进行第二验证处理,包括:
对区块链中的节点进行分组,将满足预设关联关系的节点分至一组,得到多个节点分组;
从每个节点分组中随机选取一个目标节点,得到多个目标节点;
针对所述待确认交易,若所述多个目标节点中,发布验证通过的广播消息的目标节点相对于全部目标节点的数量比例达到第二阈值,确定针对所述待确认交易的第二验证结果为验证通过。
在其中一个实施例中,所述若第一验证和第二验证的验证结果均为验证通过,生成所述待确认交易对应的区块,并添加到区块链中,包括:
若第一验证和第二验证的验证结果均为验证通过,通过预设的智能管理器进行所述待确认交易对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则广播验证成功的消息;
若所述智能管理器针对所述待确认交易广播的为验证成功的消息,则控制预设有智能合约的机器执行对应的智能合约,以生成所述待确认交易对应的区块,并添加到区块链中。
在其中一个实施例中,所述控制预设有智能合约的机器执行对应的智能合约之前,还包括:
获取通过所述智能管理器验证的机器;
向所述验证通过的机器发送对应的智能合约。
一种交易确认系统,包括:验证者,智能管理器以及预设有智能合约的机器;所述验证者包括多个议员节点和多个目标节点;
其中,所述多个议员节点,基于投票机制从区块链的多个节点中选取得到,用于对待确认交易进行第一验证处理;
所述多个目标节点分别从多个节点分组中随机确定的,且所述多个目标节点与所述多个节点分组一一对应;所述多个目标节点用于对所述待确认交易进行第二验证处理;
所述智能管理器,用于若所述第一验证和所述第二验证的验证结果均为验证通过,对所述待确认交易进行对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则广播验证成功的消息;
所述机器,用于若所述智能管理器针对所述待确认交易广播的为验证成功的消息,则执行对应的智能合约以生成所述待确认交易对应的区块,并添加到区块链中。
一种交易确认装置,所述装置包括:
交易获取模块,用于获取待确认交易;
交易验证模块,用于通过多个议员节点对所述待确认交易进行第一验证处理,以及通过多个目标节点对所述待确认交易进行第二验证处理;所述多个议员节点基于投票机制从区块链的多个节点中选取得到;所述多个目标节点分别从多个节点分组中随机确的,且所述多个目标节点与所述多个节点分组一一对应;
区块生成模块,用于若第一验证和第二验证的验证结果均为验证通过,生成所述待确认交易对应的区块,并添加到区块链中。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例中交易确认方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例中交易确认方法步骤。
上述交易确认方法、系统、装置、计算机设备和存储介质,通过获取待确认交易,通过多个议员节点对待确认交易进行第一验证处理,以及通过多个目标节点对待确认交易进行第二验证处理,若第一验证和第二验证的验证结果均验证通过,生成待确认交易对应的区块,添加到区块链中,其中,多个议员节点基于投票机制从区块链的多个节点中选取得到,多个议员节点分别从多个节点分组中随机确定,使得对待确认交易通过不同来源的节点组合进行两次验证,提高了交易确认的可靠性。
附图说明
图1为一个实施例中交易确认系统的结构图;
图2为一个实施例中交易确认方法的流程示意图;
图3为另一个实施例中交易确认方法的流程示意图;
图4为一个实施例中区块链系统认证的示意图;
图5为另一个实施例中区块链系统认证的示意图;
图6为一个实施例中区块链系统认证的流程示意图;
图7为一个实施例中交易确认装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
需要说明的是,本发明实施例所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
在一个实施例中,如图1所示,提供了一种交易确认系统,包括验证者,智能管理器以及预设有智能合约的机器。
其中,区块链交易可以是基于智能合约进行的交易,智能合约可以是指定必须经过证明的条件执行的操作的合约,例如可以是一个文档,该文档根据某个组的规则指定“应将什么交付给谁”,以得出正确的结果,基于智能合约的交易可以无偿进行。例如,用户A向用户B支付2美元用于票据交换,则用户A首先需根据既定规则支付2美元,然后智能合约检查2美元是否到达用户B,若到达则将票据交给用户A。
验证者可以是区块链系统中的通过智能管理器验证后的区块链节点,用于确认区块链中产生的交易。根据各个区块链节点在交易确认中的验证阶段和产生机制的不同,可以包括多个议员节点和多个目标节点。多个议员节点可以基于投票机制从区块链的多个节点中选取得到,用于对待确认交易进行第一验证处理。多个目标节点可以分别从区块链的多个节点分组中随机确定的,且多个目标节点与多个节点分组可以一一对应,多个目标节点可以用于对待确认交易进行第二验证处理。在一些实施例中,第一验证可以是在待确认交易产生的私有链中进行验证,第二验证可以是在整个区块链系统的多个节点分组中进行验证。
智能管理器,可以管理区块链和机器之间的关系,智能管理器一方面可以确认智能合约是否已经由验证者验证,另一方面可以确认验证者是否经过授权,以防止恶意操作,并确保正确执行智能合约。若上述第一验证和第二验证的验证结果均为验证通过,智能管理器可以对待确认交易进行对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则在区块链广播验证成功的消息。
机器,可以用于获取预设的智能合约,在区块链中执行验证通过的智能合约,可以包括iot设备(Internet of Things,物联网设备),低功耗设备和小型存储设备,以及具有较小存储空间以根据命令执行简单功能的设备。若智能管理器针对待确认交易广播的为验证成功的消息,机器可以执行对应的智能合约以生成待确认交易对应的区块,并添加到区块链中。此外,机器需要在智能管理器的管理员验证通过后才能参加区块链交易。
上述交易确认系统,通过不同来源的节点组合进行两次验证,提高了交易验证的可靠性,基于智能管理器进一步验证智能合约以及验证者,同时对参与交易的机器进行身份验证避免不必要的接入操作,进一步提高了交易安全性和完整性。
在一个实施例中,如图2所示,提供了一种交易确认方法,以该方法应用于智能管理器为例进行说明,包括以下步骤:
步骤S201,获取待确认交易。
具体实现中,智能管理器可以从区块链系统的各个机器获取对应的待确认交易。
步骤S202,通过多个议员节点对待确认交易进行第一验证处理,以及通过多个目标节点对待确认交易进行第二验证处理;
其中,区块链系统中可以包括多个节点,并根据多个节点进行两次验证处理,两次验证处理所使用的区块链节点可以不同,也可以有部分重复。多个议员节点可以基于投票机制从区块链的多个节点中选取得到,多个议员节点可以是待确认交易所在的私有链的节点,也可以是区块链系统中的节点。多个目标节点可以分别从多个节点分组中随机确定,且多个目标节点与多个节点分组一一对应。多个节点分组可以基于区块链的各个节点按照预设规则分组产生,该多个节点分组中可以包含用于第一验证的节点以及其他节点,也可以不包含用以第一验证的节点,使得参与两次验证的节点相互区分,增加了节点选择的随机性,避免恶意串通,提高验证结果的可靠性。
具体实现中,智能管理器可以根据待确认交易,基于投票机制选取多个议员节点进行第一验证处理,并从多个节点分组中选择一一对应的对个目标节点进行第二验证处理,得到第一验证和第二验证的验证结果。
步骤S203,若第一验证和第二验证的验证结果均为验证通过,生成待确认交易对应的区块,并添加到区块链中。
其中,第一验证和第二验证的验证结果,可以根据各个验证过程中对应节点的投票情况来确定,智能管理器可以预先设定共识机制,若该验证的验证结果满足该共识机制,则验证通过,例如,智能管理器可以设定参与该验证的节点满足同意多数则验证通过。
具体实现中,智能管理器可以根据第一验证和第二验证的验证结果,若两次验证均为验证通过,则该待确认交易验证通过,智能管理器可以根据待确认交易生成对应的区块,添加到区块链上进行保存。
上述交易确认方法中,通过获取待确认交易,通过多个议员节点对待确认交易进行第一验证处理,以及通过多个目标节点对待确认交易进行第二验证处理,若第一验证和第二验证的验证结果均验证通过,生成待确认交易对应的区块,添加到区块链中,其中,多个议员节点基于投票机制从区块链的多个节点中选取得到,多个议员节点分别从多个节点分组中随机确定,使得对待确认交易通过不同来源的节点组合进行两次验证,提高了交易确认的可靠性。
在一个实施例中,步骤S202中确定通过多个议员节点对待确认交易进行第一验证处理的步骤包括:
从多个节点中,基于投票确定多个议员节点;对多个议员节点进行排序,根据排序结果,从多个议员节点中确定一个议长节点和若干轮值议员节点;针对待确认交易,通过议长节点生成对应的提案块并广播;获取各轮值议员节点对提案块广播的验证结果信息;若发布验证通过的广播消息的轮值议员节点相对于当前轮值议员节点的数量比例达到第一阈值,确定待确认交易的第一验证结果为验证通过。
本实施例中,智能管理器可以基于投票确定多个议员节点,并根据多个议员节点进行第一验证。议员节点的排序可以根据节点的特征参数进行,根据排序结果确定议长节点和多个轮值议员节点,特征参数可以是各个议员节点的地址哈希值、前一轮投票结果等。议长节点可以用于将待确认交易进行打包,生成提案块,向所有的议员节点进行广播。议长节点还可以根据当前投票情况,计算下一轮的议员节点。议长节点可以轮值,议长节点之外的多个议员节点可以为轮值议员节点。各个轮值议员节点可以对接收到的提案块进行验证,验证后签名广播验证结果消息。第一阈值可以表征第一验证通过所需的签名通过的议员节点的数量比例,例如,智能管理器可以设定,当三分之二的议员节点签名通过,则该提案块通过。智能管理器可以在第一交易验证通过后,根据提案块生成正式块。
在一个实施例中,第一验证可以通过DBFT算法(Delegated Byzantine FaultTolerant,授权拜占庭容错算法)进行验证。DBFT可以是基于持有权益比例来选出专门的验证者(共识节点),然后验证者之间通过拜占庭容错算法(即少数服从多数的投票机制)来达成共识,决定动态参与节点。DBFT可以容忍任何类型的错误,且专门的多个验证者使得每一个区块都有最终性、不会分叉。
上述实施例的方案,通过投票选择多个议员节点,根据排序结果确定议长节点进生成待确认交易对应的提案块,以及确定轮值议员节点对提案块进行验证,各个轮值议员节点验证通过的数量比例达到第一阈值则验证通过,通过多个议员节点对待确认交易进行验证,提高了验证的可靠性。
在一个实施例中,对多个议员节点进行排序的步骤包括:
获取多个议员节点分别对应的地址哈希值;按照地址哈希值对多个议员节点进行排序。
本实施例中,节点可以对应有节点地址,该地址可以通过哈希值表示。智能管理器可以根据各个节点的地址哈希值,并按照地址哈希值进行升序或者降序的排序,得到排序结果,并从中选择所需的议长节点。例如,智能管理器可以将各个议员节点的地址哈希值按照降序排序,选择其中第一位作为议长节点,其他议员节点,则作为轮值议员节点。
上述实施例的方案,根据议员节点的地址哈希值进行排序以得到排序结果,确定对应的议长节点,提高了获得排序结果的客观性。
在一个实施例中,步骤S202中通过多个目标节点对待确认交易进行第二验证处理的步骤包括:
对区块链中的节点进行分组,将满足预设关联关系的节点分至一组,得到多个节点分组;从每个节点分组中随机选取一个目标节点,得到多个目标节点;针对待确认交易,若多个目标节点中,发布验证通过的广播消息的目标节点相对于全部目标节点的数量比例达到第二阈值,确定针对待确认交易的第二验证结果为验证通过。
本实施例中,智能管理器可以针对待确认交易进行第二验证。第二验证可以在第一验证通过后进行,也可以与第一验证分别进行。
智能管理器可以基于分组算法对区块链中的节点进行的分组,预设关联关系可以是与分组算法对应的各个节点之间的关联关系,例如节点逻辑关系等。每个节点分组中可以包括多个节点,智能管理器从中随机确定一个目标节点。智能管理器据此得到的多个目标节点具有高度随机性,避免了节点之间合谋的可能性,提高验证的可靠性。智能管理器可以将待确认交易广播给各个目标节点,获得各个目标节点的验证信息。第二验证也可以设定对应的第二阈值,用于表征第二验证通过所需的签名通过的目标节点的数量比例,例如,智能管理器可以设定,当三分之二的目标节点签名通过,则第二验证为验证通过。
在一个实施例中,第二验证可以通过DBFT算法进行验证。
上述实施例的方案,通过区块链节点分组,在每个节点分组中,随机选择一个目标节点,通过对每个目标节点对待确认交易进行验证,使得参与验证的节点高度随机,避免了节点之间合谋,提升了验证的可靠性。
在一个实施例中,步骤S203中若第一验证和第二验证的验证结果均为验证通过,生成待确认交易对应的区块,并添加到区块链中的步骤包括:
若第一验证和第二验证的验证结果均为验证通过,通过预设的智能管理器进行待确认交易对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则广播验证成功的消息;若智能管理器针对待确认交易广播的为验证成功的消息,则控制预设有智能合约的机器执行对应的智能合约,以生成待确认交易对应的区块,并添加到区块链中。
本实施例中,智能管理器可以对进行交易的智能合约进行验证,以确保待确认交易的内容符合智能合约的条件,也可以对参与验证的议员节点和目标节点进行身份验证,确保该节点已经进行过身份验证、为合法接入区块链系统。
若第一验证和第二验证的验证结果均为验证通过,则该待确认交易验证通过。智能管理器可以通过智能管理器控制待确认交易对应的机器,执行对应的智能合约,并生成待确认交易对应的区块,添加到区块链中。智能管理器可以广播交易信息并更新区块链。
在一些实施例中,当第一验证和第二验证的验证结果均为验证通过时,智能管理器也可以根据提案块生成正式块,上传到区块链,提高交易确认数据的完整性。
上述实施例的方案,在两次验证均验证通过后,智能管理器可以通过智能管理器进行智能合约验证、议员节点身份以及目标节点身份验证,并控制对应的机器执行对应的智能合约,生成区块,添加到区块链中,对参与验证的节点和待确认交易的内容进行进一步的验证,确保了交易确认的准确性和安全性。
在一个实施例中,控制预设有智能合约的机器执行对应的智能合约之前,上述方法还包括:
获取智能管理器验证通过的机器;向验证通过的机器发送对应的智能合约。
本实施例中,通过智能管理器验证的机器可以执行对应的智能合约。智能管理器可以向机器发送执行交易所需的智能合约,当待确认交易验证通过后,智能管理器可以控制该机器执行对应的智能合约,提高交易执行的安全性和可靠性。
在一个实施例中,如图3所示,提供了一种交易确认方法,该方法包括:
步骤S301,获取待确认交易;
步骤S302,针对待确认交易进行第一验证处理,第一验证包括:从多个节点中,基于投票确定多个议员节点;按照多个议员节点的地址哈希值对多个议员节点进行排序,根据排序结果,从多个议员节点中确定一个议长节点和若干轮值议员节点;针对待确认交易,通过议长节点生成对应的提案块并广播;获取各轮值议员节点对所述提案块广播的验证结果信息;若发布验证通过的广播消息的轮值议员节点相对于当前轮值议员节点的数量比例达到第一阈值,确定待确认交易的第一验证结果为验证通过;多个议员节点基于投票机制从区块链的多个节点中选取得到。
步骤S303,针对待确认交易进行第二验证处理,第二验证包括:对区块链中的节点进行分组,将满足预设关联关系的节点分至一组,得到多个节点分组;从每个节点分组中随机选取一个目标节点,得到多个目标节点;针对待确认交易,若多个目标节点中,发布验证通过的广播消息的目标节点相对于全部目标节点的数量比例达到第二阈值,确定针对待确认交易的第二验证结果为验证通过。
步骤S304,若第一验证和第二验证的验证结果均为验证通过,通过预设的智能管理器进行待确认交易对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则广播验证成功的消息;若智能管理器针对待确认交易广播的为验证成功的消息,则控制预设有智能合约的机器执行对应的智能合约,以生成待确认交易对应的区块,并添加到区块链中。
上述实施例,通过获取待确认交易,由多个议员节点进行第一验证处理,以及由多个目标节点进行第二验证处理,并根据第一验证和第二验证的验证结果,对待确认交易对应的智能合约验证、议员节点身份以及目标节点身份验证,控制对应的机器执行智能合约生成区块,其中,多个议员节点基于投票机制从区块链的多个节点中选取得到,多个议员节点分别从多个节点分组中随机确定,使得对待确认交易通过不同来源的节点组合进行两次验证,提高了交易确认的可靠性,并进一步对参与验证的各个节点以及智能合约进行验证,进一步提高交易确认的安全性。
应该理解的是,上述步骤可以有由区块链系统中的多个主体控制完成,也可以由某个主体控制完成,例如智能管理器。虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
为了更清晰阐述本申请提供的方案,以下将本申请上述实施例的交易确认方法,应用于图4和5所示的区块链系统进行说明。需要说明的是,图中所示的验证者表征不同用户管理的节点,而非实际的人。
如图4和5所示,区块链系统中可以包括验证者、智能管理器、机器/设备。其中,验证者可以是通过中央管理员验证后的用户,授权用户可以根据各自的数据库请求,发起交易请求。验证者验证交易后,可以将请求的区块传递到区块链,添加新的区块并批准交易。机器/设备经过智能管理器验证后,能够执行验证者同意的智能合约。该设备可以包括IoT设备,低功耗设备和小型存储设备,以及具有较小存储空间以根据命令执行简单功能的设备。智能管理器可以管理区块链和机器之间的关系,智能管理器一方面可以确认智能合约是否已经由验证者验证,另一方面可以确认验证者是否经过授权,以防止恶意操作,并确保正确执行智能合约。
在该区块链系统中,智能管理器可以通过如图6所示的两次共识机制流程进行验证。智能管理器交易对应的智能合约,根据待确认交易生成区块事件进行广播验证,对待确认交易进行第一次DBFT验证以及第二次DBFT验证,两次验证中,若验证者均为同意多数,则该待确认交易验证通过。智能管理器验证待确认交易对应的智能合约,以及参与验证的各个节点身份,验证通过后,该交易区块会上传到区块链上,并通过广播更新区块链。智能管理器可以按照智能合约的内容控制对应的机器/设备执行对应的交易内容,以及将交易内容生成区块,上传到区块链上。
在一个实施例中,如图7所示,提供了一种交易确认装置,该装置700包括:
交易获取模块701,用于获取待确认交易;
交易验证模块702,用于通过多个议员节点对所述待确认交易进行第一验证处理,以及通过多个目标节点对所述待确认交易进行第二验证处理;所述多个议员节点基于投票机制从区块链的多个节点中选取得到;所述多个目标节点分别从多个节点分组中随机确的,且所述多个目标节点与所述多个节点分组一一对应;
区块生成模块703,用于若第一验证和第二验证的验证结果均为验证通过,生成所述待确认交易对应的区块,并添加到区块链中。
在一个实施例中,交易验证模块702,包括:第一验证单元,用于从多个节点中,基于投票确定多个议员节点;对所述多个议员节点进行排序,根据排序结果,从所述多个议员节点中确定一个议长节点和若干轮值议员节点;针对所述待确认交易,通过议长节点生成对应的提案块并广播;获取各轮值议员节点对所述提案块广播的验证结果信息;若发布验证通过的广播消息的轮值议员节点相对于当前轮值议员节点的数量比例达到第一阈值,确定所述待确认交易的第一验证结果为验证通过。
在一个实施例中,第一验证单元进一步用于取所述多个议员节点分别对应的地址哈希值;按照所述地址哈希值对所述多个议员节点进行排序。
在一个实施例中,交易验证模块702,包括:第二验证单元,用于对区块链中的节点进行分组,将满足预设关联关系的节点分至一组,得到多个节点分组;
从每个节点分组中随机选取一个目标节点,得到多个目标节点;针对所述待确认交易,若所述多个目标节点中,发布验证通过的广播消息的目标节点相对于全部目标节点的数量比例达到第二阈值,确定针对所述待确认交易的第二验证结果为验证通过。
在一个实施例中,区块生成模块703,包括:节点验证单元,用于若第一验证和第二验证的验证结果均为验证通过,通过预设的智能管理器进行所述待确认交易对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则广播验证成功的消息;合约执行单元,用于若所述智能管理器针对所述待确认交易广播的为验证成功的消息,则控制预设有智能合约的机器执行对应的智能合约,以生成所述待确认交易对应的区块,并添加到区块链中。
在一个实施例中,合约执行单元还包括:合约配置单元,用于获取通过智能管理器验证的机器;向验证通过的机器发送对应的智能合约。
关于交易确认装置700的具体限定可以参见上文中对于交易确认方法的限定,在此不再赘述。上述交易确认装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本申请提供的交易确认方法,可以应用于计算机设备,该计算机设备可以是智能管理器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储智能合约、待确认交易数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种交易确认方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种交易确认方法,其特征在于,所述方法包括:
获取待确认交易;
通过多个议员节点对所述待确认交易进行第一验证处理,以及通过多个目标节点对所述待确认交易进行第二验证处理;所述多个议员节点基于投票机制从区块链的多个节点中选取得到;所述多个目标节点分别从多个节点分组中随机确定,且所述多个目标节点与所述多个节点分组一一对应;
若第一验证和第二验证的验证结果均为验证通过,生成所述待确认交易对应的区块,并添加到区块链中。
2.根据权利要求1所述的方法,其特征在于,所述通过多个议员节点对所述待确认交易进行第一验证处理,包括:
从多个节点中,基于投票确定多个议员节点;
对所述多个议员节点进行排序,根据排序结果,从所述多个议员节点中确定一个议长节点和若干轮值议员节点;
针对所述待确认交易,通过议长节点生成对应的提案块并广播;
获取各轮值议员节点对所述提案块广播的验证结果信息;
若发布验证通过的广播消息的轮值议员节点相对于当前轮值议员节点的数量比例达到第一阈值,确定所述待确认交易的第一验证结果为验证通过。
3.根据权利要求2所述的方法,其特征在于,所述对所述多个议员节点进行排序,包括:
获取所述多个议员节点分别对应的地址哈希值;
按照所述地址哈希值对所述多个议员节点进行排序。
4.根据权利要求1所述的方法,其特征在于,所述通过多个目标节点对所述待确认交易进行第二验证处理,包括:
对区块链中的节点进行分组,将满足预设关联关系的节点分至一组,得到多个节点分组;
从每个节点分组中随机选取一个目标节点,得到多个目标节点;
针对所述待确认交易,若所述多个目标节点中,发布验证通过的广播消息的目标节点相对于全部目标节点的数量比例达到第二阈值,确定针对所述待确认交易的第二验证结果为验证通过。
5.根据权利要求1所述的方法,其特征在于,所述若第一验证和第二验证的验证结果均为验证通过,生成所述待确认交易对应的区块,并添加到区块链中,包括:
若第一验证和第二验证的验证结果均为验证通过,通过预设的智能管理器进行所述待确认交易对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则广播验证成功的消息;
若所述智能管理器针对所述待确认交易广播的为验证成功的消息,则控制预设有智能合约的机器执行对应的智能合约,以生成所述待确认交易对应的区块,并添加到区块链中。
6.根据权利要求5所述的方法,其特征在于,所述控制预设有智能合约的机器执行对应的智能合约之前,还包括:
获取通过所述智能管理器验证的机器;
向所述验证通过的机器发送对应的智能合约。
7.一种交易确认系统,其特征在于,包括:验证者,智能管理器以及预设有智能合约的机器;所述验证者包括多个议员节点和多个目标节点;
其中,所述多个议员节点,基于投票机制从区块链的多个节点中选取得到,用于对待确认交易进行第一验证处理;
所述多个目标节点分别从多个节点分组中随机确定的,且所述多个目标节点与所述多个节点分组一一对应;所述多个目标节点用于对所述待确认交易进行第二验证处理;
所述智能管理器,用于若所述第一验证和所述第二验证的验证结果均为验证通过,对所述待确认交易进行对应的智能合约验证、议员节点身份以及目标节点身份验证,若均验证成功则广播验证成功的消息;
所述机器,用于若所述智能管理器针对所述待确认交易广播的为验证成功的消息,则执行对应的智能合约以生成所述待确认交易对应的区块,并添加到区块链中。
8.一种交易确认装置,其特征在于,所述装置包括:
交易获取模块,用于获取待确认交易;
交易验证模块,用于通过多个议员节点对所述待确认交易进行第一验证处理,以及通过多个目标节点对所述待确认交易进行第二验证处理;所述多个议员节点基于投票机制从区块链的多个节点中选取得到;所述多个目标节点分别从多个节点分组中随机确的,且所述多个目标节点与所述多个节点分组一一对应;
区块生成模块,用于若第一验证和第二验证的验证结果均为验证通过,生成所述待确认交易对应的区块,并添加到区块链中。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345706.3A CN112398949A (zh) | 2020-11-26 | 2020-11-26 | 交易确认方法、系统、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011345706.3A CN112398949A (zh) | 2020-11-26 | 2020-11-26 | 交易确认方法、系统、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112398949A true CN112398949A (zh) | 2021-02-23 |
Family
ID=74604516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011345706.3A Pending CN112398949A (zh) | 2020-11-26 | 2020-11-26 | 交易确认方法、系统、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112398949A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037863A (zh) * | 2021-03-31 | 2021-06-25 | 杭州云象网络技术有限公司 | 一种区块链多方协同交叉共识验证方法及系统 |
CN113537593A (zh) * | 2021-07-15 | 2021-10-22 | 之江实验室 | 预测议员投票倾向的方法及其装置 |
WO2023273832A1 (zh) * | 2021-07-02 | 2023-01-05 | 中国人民银行数字货币研究所 | 数据验证的方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247774A (zh) * | 2019-06-28 | 2019-09-17 | 深圳市网心科技有限公司 | 一种区块链数据的共识方法及相关设备 |
CN110933089A (zh) * | 2019-12-03 | 2020-03-27 | 北京艾摩瑞策科技有限公司 | 区块链上借助于PoW的共识方法及其系统 |
CN110943838A (zh) * | 2018-09-21 | 2020-03-31 | 上海派链信息科技有限公司 | 区块链网络中确定区块的共识的方法、设备和存储介质 |
CN111047439A (zh) * | 2018-10-12 | 2020-04-21 | 北京邦天信息技术有限公司 | 一种基于区块链的交易处理方法 |
CN111104460A (zh) * | 2019-12-02 | 2020-05-05 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
CN111614468A (zh) * | 2020-05-24 | 2020-09-01 | 济南欣格信息科技有限公司 | 一种区块链共识方法及系统 |
-
2020
- 2020-11-26 CN CN202011345706.3A patent/CN112398949A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110943838A (zh) * | 2018-09-21 | 2020-03-31 | 上海派链信息科技有限公司 | 区块链网络中确定区块的共识的方法、设备和存储介质 |
CN111047439A (zh) * | 2018-10-12 | 2020-04-21 | 北京邦天信息技术有限公司 | 一种基于区块链的交易处理方法 |
CN110247774A (zh) * | 2019-06-28 | 2019-09-17 | 深圳市网心科技有限公司 | 一种区块链数据的共识方法及相关设备 |
CN111104460A (zh) * | 2019-12-02 | 2020-05-05 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
CN110933089A (zh) * | 2019-12-03 | 2020-03-27 | 北京艾摩瑞策科技有限公司 | 区块链上借助于PoW的共识方法及其系统 |
CN111614468A (zh) * | 2020-05-24 | 2020-09-01 | 济南欣格信息科技有限公司 | 一种区块链共识方法及系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113037863A (zh) * | 2021-03-31 | 2021-06-25 | 杭州云象网络技术有限公司 | 一种区块链多方协同交叉共识验证方法及系统 |
CN113037863B (zh) * | 2021-03-31 | 2022-07-12 | 杭州云象网络技术有限公司 | 一种区块链多方协同交叉共识验证方法及系统 |
WO2023273832A1 (zh) * | 2021-07-02 | 2023-01-05 | 中国人民银行数字货币研究所 | 数据验证的方法和装置 |
CN113537593A (zh) * | 2021-07-15 | 2021-10-22 | 之江实验室 | 预测议员投票倾向的方法及其装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109257427B (zh) | 一种基于区块链的业务处理方法及系统 | |
CN107483509B (zh) | 一种身份验证方法、服务器及可读存储介质 | |
CN109034813B (zh) | 代表节点设备选举方法、装置、计算机设备及存储介质 | |
CN112311735B (zh) | 可信认证方法,网络设备、系统及存储介质 | |
CN110570196B (zh) | 交易数据处理方法、装置、终端设备以及存储介质 | |
US11531603B2 (en) | Byzantine agreement in open networks | |
Golle et al. | Secure distributed computing in a commercial environment | |
CN112527912B (zh) | 基于区块链网络的数据处理方法、装置及计算机设备 | |
WO2022217807A1 (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
CN109886810B (zh) | 众包交易方法及系统、可读存储介质和终端 | |
CN110555769A (zh) | 区块链交易数据处理方法、装置、计算机设备和存储介质 | |
CN112398949A (zh) | 交易确认方法、系统、装置和计算机设备 | |
CN110992178A (zh) | 区块链节点的验证方法、装置、计算机设备及存储介质 | |
US20200169416A1 (en) | Consensus protocol for permissioned ledgers | |
CN112910661B (zh) | 适用于电子签约的区块链共识方法、装置、设备及介质 | |
CN110928880A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN112036878B (zh) | 数据处理方法及装置 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN111131318B (zh) | 一种去中心化的密钥管理分发方法、系统及存储介质 | |
US11240010B2 (en) | Random oracles in open networks | |
CN113259326B (zh) | 基于联盟链网络的共识优化方法、装置和计算机设备 | |
CN112037062B (zh) | 交易共识方法、装置、电子设备及可读存储介质 | |
CN114090682A (zh) | 一种多通道联盟链上链方法、装置、设备及存储介质 | |
CN112487487A (zh) | 区块链节点成员的权限管理方法、装置、设备及存储介质 | |
CN107040509A (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 |