CN113538138A - 一种分组共识模型生成方法、装置和计算机设备 - Google Patents
一种分组共识模型生成方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN113538138A CN113538138A CN202010305473.8A CN202010305473A CN113538138A CN 113538138 A CN113538138 A CN 113538138A CN 202010305473 A CN202010305473 A CN 202010305473A CN 113538138 A CN113538138 A CN 113538138A
- Authority
- CN
- China
- Prior art keywords
- transaction
- transaction information
- generating
- information
- nodes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012795 verification Methods 0.000 claims description 24
- 238000012790 confirmation Methods 0.000 claims description 22
- 241001331845 Equus asinus x caballus Species 0.000 claims 3
- 230000008569 process Effects 0.000 abstract description 21
- 238000004590 computer program Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Development Economics (AREA)
- Technology Law (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种分组共识模型生成方法、装置和计算机设备。本发明实施例提供的技术方案中,接收大数据平台发送的交易信息;通过实用拜占庭容错(Practical Byzantine Fault Tolerance,简称:PBFT)算法,根据交易信息,生成新区块信息;根据新区块信息进行区块同步,生成分组共识模型,通过PBFT算法实现组内共识,能够有效降低共识过程中的资源消耗,节约成本,提高溯源速度,能够高效查询交易信息。
Description
【技术领域】
本发明涉及通信技术领域,尤其涉及一种分组共识模型生成方法、装置和计算机设备。
【背景技术】
大数据背景下,数据已经成为重要资产,人们希望使用数据能够像使用实物资产一样,在使用过程中一旦出现质量问题,便可以根据溯源信息,找到可能出现问题的地方,提高数据生产使用的效率效益。由此,“数据溯源”的概念应运而生。区块链技术作为一种新兴技术,具有去中心化、安全可信等特点,能够安全透明地存储交易或其它数据。但是去中心化的区块技术普遍存在着成本高、效率低等问题,给溯源信息的上链与查询带来了巨大挑战。目前基于区块链的溯源方案主要借助以太坊平台实现交易信息的上链与查询,该方式存在资源消耗大的问题。
【发明内容】
有鉴于此,本发明实施例提供了一种分组共识模型生成方法、装置和计算机设备,可以节约资源和成本,高效查询交易信息。
一方面,本发明实施例提供了一种分组共识模型生成方法,应用于共识节点;该方法包括:
接收大数据平台发送的交易信息;
通过实用拜占庭容错算法,根据交易信息,生成新区块信息;
根据新区块信息进行区块同步,生成分组共识模型。
可选地,通过实用拜占庭容错算法,根据交易信息,生成新区块信息,包括:
将预先生成的自身投票发送至联盟链中其它节点,以供联盟链中其它节点进行投票并生成其它投票;
接收联盟链中其它节点发送的所述其它投票;
根据自身投票和其它投票,统计出合法投票的投票数量;
判断投票数量是否大于或等于第一阈值;
若判断出投票数量大于或等于第一阈值,通过区块头生成算法,根据当前区块哈希值、交易信息和树根生成新区块信息。
可选地,交易信息包括待验证交易;在将预先生成的自身投票发送至联盟链中其它节点之前,还包括:
当待验证交易通过验证时,将待验证交易发送至预先划分出的分组的分组内其它节点;
统计接收到的分组内其它节点发送的确认签名消息的第一确认数量;
判断第一确认数量是否大于或等于第二阈值;
若判断出第一确认数量大于或等于第二阈值,判断交易信息是否合法;
若判断出交易信息合法,根据交易信息,生成自身投票。
可选地,根据交易信息,生成自身投票,包括:
通过默尔克树生成算法,根据交易信息生成默尔克树,默尔克树包括树根;
将树根和交易信息发送至分组内其它节点;
统计接收到的分组内其它节点发送的确认树根消息的第二确认数量;
判断第二确认数量是否大于或等于第三阈值;
若判断出第二确认数量大于或等于第三阈值,对交易信息和树根进行签名,生成自身投票。
可选地,根据新区块信息进行区块同步,生成分组共识模型,包括:
判断本地链中是否存在新区块信息;
若判断出本地链中不存在新区块信息,当新区块消息通过验证时,将新区块信息保存至本地链,生成分组共识模型。
另一方面,本发明实施例提供了一种数据溯源方法,包括:
接收大数据平台发送的查询关键字;
将查询关键字输入分组共识模型,生成查询关键字对应的交易信息。
另一方面,本发明实施例提供了一种分组共识模型生成装置,包括:
第一接收单元,用于接收大数据平台发送的交易信息;
第一生成单元,用于通过实用拜占庭容错算法,根据交易信息,生成新区块信息;
第二生成单元,用于根据新区块信息进行区块同步,生成分组共识模型。
另一方面,本发明实施例提供了一种数据溯源装置,包括:
第二接收单元,用于接收大数据平台发送的查询关键字;
第三生成单元,用于将查询关键字输入分组共识模型,生成查询关键字对应的交易信息。
另一方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述分组共识模型生成方法。
另一方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述数据溯源方法。
另一方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现上述分组共识模型生成方法。
另一方面,本发明实施例提供了一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现上述数据溯源方法。
本发明实施例的方案中,接收大数据平台发送的交易信息;通过实用拜占庭容错(Practical Byzantine Fault Tolerance,简称:PBFT)算法,根据交易信息,生成新区块信息;根据新区块信息进行区块同步,生成分组共识模型,通过PBFT算法实现组内共识,能够有效降低共识过程中的资源消耗,节约成本,提高溯源速度,能够高效查询交易信息。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种分组共识模型生成方法的流程图;
图2为本发明实施例提供的一种数据溯源方法的流程图;
图3为本发明实施例提供的又一种分组共识模型生成方法的流程图;
图4为本发明实施例提供的一种分组共识模型生成装置的结构示意图;
图5为本发明实施例提供的一种数据溯源装置的结构示意图;
图6为本发明实施例提供的一种计算机设备的示意图;
图7为本发明实施例提供的又一种计算机设备的示意图。
【具体实施方式】
为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二等来描述设定阈值,但这些设定阈值不应限于这些术语。这些术语仅用来将设定阈值彼此区分开。例如,在不脱离本发明实施例范围的情况下,第一设定阈值也可以被称为第二设定阈值,类似地,第二设定阈值也可以被称为第一设定阈值。
图1为本发明实施例提供的一种分组共识模型生成方法的流程图,如图1所示,该方法包括:
步骤101、接收大数据平台发送的交易信息。
步骤102、通过实用拜占庭容错算法,根据交易信息,生成新区块信息。
步骤103、根据新区块信息进行区块同步,生成分组共识模型。
本发明实施例提供的技术方案中,接收大数据平台发送的交易信息;通过实用拜占庭容错(Practical Byzantine Fault Tolerance,简称:PBFT)算法,根据交易信息,生成新区块信息;根据新区块信息进行区块同步,生成分组共识模型,通过PBFT算法实现组内共识,能够有效降低共识过程中的资源消耗,节约成本,提高溯源速度,能够高效查询交易信息。
图2为本发明实施例提供的一种数据溯源方法的流程图,如图2所示,该方法包括:
步骤201、接收大数据平台发送的查询关键字。
步骤202、将查询关键字输入分组共识模型,生成查询关键字对应的交易信息。
本发明实施例提供的技术方案中,接收大数据平台发送的查询关键字;将查询关键字输入分组共识模型,生成查询关键字对应的交易信息,通过PBFT算法实现组内共识,进一步建立分组共识模型,能够有效降低共识过程中的资源消耗,节约成本,提高溯源速度,能够高效查询交易信息。
图3为本发明实施例提供的又一种分组共识模型生成方法的流程图,如图3所示,该方法包括:
步骤301、接收大数据平台发送的交易信息,交易信息包括待验证交易。
本实施例中,各步骤由共识节点执行。
本实施例中,大数据平台将每一次数据流转作为一笔交易,每笔交易包括交易关键字,交易双方分别基于标识密码标准(SM 9)以自己的签名私钥对该交易进行签名,生成交易记录;将该交易记录存储至交易池;大数据平台从交易池中的交易记录中选取相同交易关键字的交易记录进行打包,生成具有相同交易关键字的待验证的交易信息,交易信息中包括待验证交易。
本实施例中,大数据平台调用库集合(Web3.js)触发智能合约接口,通过智能合约接口将交易信息发送至共识节点。其中,智能合约接口提供联盟网络的节点与大数据平台之间的交互接口,负责传递节点信息与交易信息。
步骤302、当待验证交易通过验证时,将待验证交易发送至预先划分出的分组的分组内其它节点。
本实施例中,对待验证交易进行签名验证,判断待验证交易的签名是否合法,若合法,表明待验证交易通过验证,即:共识节点收到了大数据平台发送的交易共识上链请求。
本实施例中,区块链网络建立时包括多个节点,获取每个节点的物理标识号(ID)和联盟ID;判断物理ID和联盟ID是否一致,若一致,表明该节点通过验证,可以加入联盟网络;若不一致,表明该节点未通过验证,不能加入联盟网络。对所有批准加入联盟网络的节点进行随机分组,得到每个分组的共识节点。
本实施例中,将待验证交易发送至分组内其它节点,以供分组内其它节点对待验证交易进行签名验证,并当验证通过时向共识节点发送确认签名消息。
步骤303、统计接收到的分组内其它节点发送的确认签名消息的第一确认数量。
本实施例中,当分组内其它节点接收到待验证交易时,对待验证交易进行签名验证,判断待验证交易的签名是否合法,若合法,表明待验证交易通过验证,向共识节点发送确认签名消息;若不合法,表明待验证交易未通过验证,流程结束。
步骤304、判断第一确认数量是否大于或等于第二阈值,若是,则执行步骤305;若否,流程结束。
本实施例中,第二阈值可根据实际情况进行设置。作为一种可选方案,第二阈值为fi,其中,fi为分组内最大拜占庭节点数。
本实施例中,若判断出第一确认数量大于或等于第二阈值,表明有足够多的节点确认待验证交易的签名合法,继续执行步骤305;若判断出第一确认数量小于第二阈值,表明能够确认待验证交易的签名合法的节点较少,不能够保证该交易合法,流程结束。
步骤305、判断交易信息是否合法,若是,则执行步骤306;若否,流程结束。
本实施例中,交易信息包括交易数据、交易关键字、交易销售方用户名、交易购买方用户名、交易销售方签名、交易购买方签名和交易发生时的时间戳。
本实施例中,通过交易销售方用户名查询出交易销售方是否具有销售权限;通过交易购买方用户名查询出交易购买方的账户余额是否能够满足交易数据。
本实施例中,若判断出交易销售方签名和交易购买方签名均合法且交易销售方具有销售权限且交易购买方的账户余额能够满足交易数据,表明交易信息合法,继续执行步骤306;若判断出交易销售方签名和交易购买方签名中至少一个不合法或交易销售方没有销售权限或交易购买方的账户余额不能满足交易数据,表明交易信息不合法,无法完成本次交易共识上链,流程结束。
步骤306、根据交易信息,生成自身投票。
本实施例中,步骤306具体包括:
步骤3061、通过默尔克(merkel)树生成算法,根据交易信息生成merkel树,merkel树包括树根。
具体地,将交易信息输入merkel树生成算法,按照公式Merkel(Data1,Data2)=hash(hash(Data1)+hash(Data2))对交易数据进行哈希处理,然后对串联后的哈希值再进行哈希处理,两两循环,生成merkel树。其中,merkel树包括树根,Data为交易数据。
步骤3062、将树根和交易信息发送至分组内其它节点。
本实施例中,将树根和交易信息发送至分组内其它节点;分组内其它节点接收到树根和交易信息后,将交易信息输入merkel树生成算法,对交易数据进行哈希处理,生成验证merkel树,其中,验证merkel树包括验证树根;判断树根和验证树根是否一致,若一致,表明验证成功,向共识节点发送确认树根消息;若不一致,表明验证失败,流程结束。
步骤3063、统计接收到的分组内其它节点发送的确认树根消息的第二确认数量。
步骤3064、判断第二确认数量是否大于或等于第三阈值,若是,则执行步骤3065;若否,流程结束。
本实施例中,第三阈值可根据实际情况进行设置。作为一种可选方案,第三阈值为2fi+1,其中,fi为分组内最大拜占庭节点数。
步骤3065、对交易信息和树根进行签名,生成自身投票。
本实施例中,自身投票包括交易信息、树根和共识节点自身签名。
步骤307、将自身投票发送至联盟链中其它节点,以供联盟链中其它节点进行投票并生成其它投票。
本实施例中,联盟链为所有批准加入联盟网络的节点。
本实施例中,联盟链中其它节点接收到自身投票之后,判断交易信息是否合法且判断生成的树根与接收到的树根是否一致;若判断出交易信息合法且判断出生成的树根与接收到的树根一致,表明审核通过,联盟链中其它节点对该交易信息和树根进行签名,生成其它投票;若判断出交易信息不合法或判断出生成的树根与接收到的树根不一致,表明审核通过,联盟链中其它节点不会对该交易信息和树根进行签名,向联盟链中其它节点发送不带有签名的无效投票,流程结束。
步骤308、接收联盟链中其它节点发送的其它投票。
本实施例中,其它投票为包括带有联盟链中其它节点签名的有效投票。
本实施例中,接收联盟链中其他节点发送的其它投票表明组内共识阶段结束,进入组间共识阶段。
步骤309、根据自身投票和其它投票,统计出合法投票的投票数量。
具体地,将自身投票的数量加上其它投票的数量,计算出合法投票的投票数量。
步骤310、判断投票数量是否大于或等于第一阈值,若是,执行步骤311;若否,执行步骤312。
本实施例中,若判断出投票数量大于或等于第一阈值,表明足够多节点认可该交易信息,继续执行步骤311;若判断出投片数量小于第一阈值,表明认可该交易信息的节点较少,继续执行步骤312。
步骤311、通过区块头生成算法,根据当前区块哈希值、交易信息和树根生成新区块信息,并向其它节点广播新区块信息,继续执行步骤316。
本实施例中,当前区块哈希值可由共识节点顺序查找得到。
具体地,将当前区块哈希值、交易信息和树根输入区块头生成算,按照公式BLKh+1←Hash(BLKh,Key,MT,Timestamp)对当前区块哈希值、交易关键字、树根和时间戳进行哈希处理,输出新区块信息,其中,BLKh为当前区块哈希值,Key为交易关键字。MT为树根,Timestamp为时间戳。组间共识阶段结束,进入区块同步阶段,继续执行步骤316。
进一步地,将新区块信息存储至本地链中。
本实施例中,通过区块头生成算法生成新区块信息,可以在避免区块分叉的情况下实现交易共识上链。
步骤312、判断统计出的其它投票的数量是否等于联盟链中其它节点的数量,若是,流程结束;若否,则执行步骤313。
本实施例中,若判断出统计出的其它投票的数量等于联盟链中其它节点的数量,表明所有节点均参与了投票,无法完成本次交易共识上链,流程结束;若判断出统计出的其它投票的数量不等于联盟链中其它节点的数量,表明还有节点未参与投票,继续执行步骤313。
步骤313、查询出未进行投票的节点。
步骤314、向未进行投票的节点发送投票询问消息。
本实施例中,投票询问消息包括询问未参与投票的节点未参与投票的原因的消息。
步骤315、接收未进行投票的节点发送的询问结果,流程结束。
本实施例中,询问结果包括未参与投票的节点未参与投票的原因。
步骤316、判断本地链中是否存在新区块信息,若是,则执行步骤318;若否,则执行步骤317。
本实施例中,若判断出本地链中存在新区块信息,表明已经完成交易共识上链,继续执行步骤318;若判断出本地链中不存在新区块信息,表明为完成交易共识上链,继续执行步骤317。
步骤317、当新区块消息通过验证时,将新区块信息保存至本地链,生成分组共识模型,继续执行步骤319。
本实施例中,对新区块消息进行验证包括判断参与投票的节点是否通过验证以及判断接收到的树根是否与生成的树根一致,若判断出参与投票的节点通过验证且接收到的树根与生成的树根一致,表明新区块消息通过验证;若判断出参与投票的节点未通过验证或接收到的树根与生成的树根不一致,表明新区块消息未通过验证。
其中,判断参与投票的节点是否通过验证包括判断参与投票的节点的物理ID和联盟ID是否一致以及参与投票的节点的签名是否合法;若判断出参与投票的节点的物理ID和联盟ID一致且参与投票的节点的签名合法,表明该节点通过验证;若判断出参与投票的节点的物理ID和联盟ID不一致或参与投票的节点的签名不合法,表明该节点未通过验证。
进一步地,将新区块信息发送至大数据平台。
步骤318、丢弃新区块信息。
本实施例中,通过PBFT算法实现组内共识以及基于过半优势思想实现组间共识,有效降低共识过程中的资源消耗,节约成本。
步骤319、接收大数据平台发送的查询关键字。
本实施例中,大数据平台调用库集合(Web3.js)触发交易查询合约接口,通过交易查询合约接口将查询关键字发送至共识节点。其中,交易查询合约接口部署在区块链网络中,提供联盟网络的节点与大数据平台之间的交互接口,负责传递查询关键字。
步骤320、将查询关键字输入分组共识模型,生成查询关键字对应的交易信息。
具体地,将查询关键字输入分组共识模型,根据查询关键字匹配出交易关键字;利用查找函数SearchProvData(Key)={Valuei|<Key,Valuei>,i=1,2,…,N}查询出交易关键字对应的所有交易信息,其中,Valuei为第i条交易信息的交易数据,Key为交易关键字,N为交易信息的数量,<Key,Valuei>为数据交易键值对。
本发明实施例提供的分组共识模型生成方法的技术方案中,接收大数据平台发送的交易信息;通过实用拜占庭容错(Practical Byzantine Fault Tolerance,简称:PBFT)算法,根据交易信息,生成新区块信息;根据新区块信息进行区块同步,生成分组共识模型,通过PBFT算法实现组内共识,能够有效降低共识过程中的资源消耗,节约成本,提高溯源速度,能够高效查询交易信息。
图4为本发明实施例提供的一种分组共识模型生成装置的结构示意图,该装置用于执行上述分组共识模型生成方法,如图4所示,该装置包括:第一接收单元11、第一生成单元12和第二生成单元13。
第一接收单元11用于接收大数据平台发送的交易信息。
第一生成单元12用于通过实用拜占庭容错算法,根据交易信息,生成新区块信息。
第二生成单元13用于根据新区块信息进行区块同步,生成分组共识模型。
本发明实施例中,第一生成单元12具体用于将预先生成的自身投票发送至联盟链中其它节点,以供联盟链中其它节点进行投票并生成其它投票;接收联盟链中其它节点发送的所述其它投票;根据自身投票和其它投票,统计出合法投票的投票数量;判断投票数量是否大于或等于第一阈值;若判断出投票数量大于或等于第一阈值,通过区块头生成算法,根据当前区块哈希值、交易信息和树根生成新区块信息。
本发明实施例中,第一生成单元12具体还用于当待验证交易通过验证时,将待验证交易发送至预先划分出的分组的分组内其它节点;统计接收到的分组内其它节点发送的确认签名消息的第一确认数量;判断第一确认数量是否大于或等于第二阈值;若判断出第一确认数量大于或等于第二阈值,判断交易信息是否合法;若判断出交易信息合法,根据交易信息,生成自身投票。
本发明实施例中,第一生成单元12具体还用于通过默尔克树生成算法,根据交易信息生成默尔克树,默尔克树包括树根;将树根和交易信息发送至分组内其它节点;统计接收到的分组内其它节点发送的确认树根消息的第二确认数量;判断第二确认数量是否大于或等于第三阈值;若判断出第二确认数量大于或等于第三阈值,对交易信息和树根进行签名,生成自身投票。
本发明实施例中,第二生成单元13具体用于判断本地链中是否存在新区块信息;若判断出本地链中不存在新区块信息,当新区块消息通过验证时,将新区块信息保存至本地链,生成分组共识模型。
本发明实施例的方案中,接收大数据平台发送的交易信息;通过实用拜占庭容错(Practical Byzantine Fault Tolerance,简称:PBFT)算法,根据交易信息,生成新区块信息;根据新区块信息进行区块同步,生成分组共识模型,通过PBFT算法实现组内共识,能够有效降低共识过程中的资源消耗,节约成本,提高溯源速度,能够高效查询交易信息。
图5为本发明实施例提供的一种数据溯源装置的结构示意图,该装置用于执行上述数据溯源生成方法,如图5所示,该装置包括:第二接收单元14和第三生成单元15。
第二接收单元14用于接收大数据平台发送的查询关键字;
第三生成单元15用于将查询关键字输入分组共识模型,生成查询关键字对应的交易信息。
本发明实施例的方案中,接收大数据平台发送的交易信息;通过实用拜占庭容错(Practical Byzantine Fault Tolerance,简称:PBFT)算法,根据交易信息,生成新区块信息;根据新区块信息进行区块同步,生成分组共识模型,通过PBFT算法实现组内共识,能够有效降低共识过程中的资源消耗,节约成本,提高溯源速度,能够高效查询交易信息。
本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述分组共识模型生成方法的实施例的各步骤,具体描述可参见上述分组共识模型生成方法的实施例。
本发明实施例提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述数据溯源方法的实施例的各步骤,具体描述可参见上述数据溯源方法的实施例。
本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述分组共识模型生成方法的实施例的各步骤,具体描述可参见上述分组共识模型生成方法的实施例。
本发明实施例提供了一种计算机设备,包括存储器和处理器,存储器用于存储包括程序指令的信息,处理器用于控制程序指令的执行,程序指令被处理器加载并执行时实现上述数据溯源方法的实施例的各步骤,具体描述可参见上述数据溯源方法的实施例。
图6为本发明实施例提供的一种计算机设备的示意图。如图6所示,该实施例的计算机设备50包括:处理器51、存储器52以及存储在存储52中并可在处理器51上运行的计算机程序53,该计算机程序53被处理器51执行时实现实施例中的应用于分组共识模型生成方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器51执行时实现实施例中应用于分组共识模型生成装置中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备50包括,但不仅限于,处理器51、存储器52。本领域技术人员可以理解,图6仅仅是计算机设备50的示例,并不构成对计算机设备50的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器51可以是中央处理单元(Central Proceing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital ignal Proceor,DP)、专用集成电路(Application pecific Integrated Circuit,AIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以是计算机设备50的内部存储单元,例如计算机设备50的硬盘或内存。存储器52也可以是计算机设备50的外部存储设备,例如计算机设备50上配备的插接式硬盘,智能存储卡(mart Media Card,MC),安全数字(ecure Digital,D)卡,闪存卡(FlahCard)等。进一步地,存储器52还可以既包括计算机设备50的内部存储单元也包括外部存储设备。存储器52用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器52还可以用于暂时地存储已经输出或者将要输出的数据。
图7为本发明实施例提供的一种计算机设备的示意图。如图7所示,该实施例的计算机设备60包括:处理器61、存储器62以及存储在存储62中并可在处理器61上运行的计算机程序63,该计算机程序63被处理器61执行时实现实施例中的应用于数据溯源方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器61执行时实现实施例中应用于数据溯源装置中各模型/单元的功能,为避免重复,此处不一一赘述。
计算机设备60包括,但不仅限于,处理器61、存储器62。本领域技术人员可以理解,图7仅仅是计算机设备60的示例,并不构成对计算机设备60的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器61可以是中央处理单元(Central Proceing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital ignal Proceor,DP)、专用集成电路(Application pecific Integrated Circuit,AIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器62可以是计算机设备60的内部存储单元,例如计算机设备60的硬盘或内存。存储器62也可以是计算机设备60的外部存储设备,例如计算机设备60上配备的插接式硬盘,智能存储卡(mart Media Card,MC),安全数字(ecure Digital,D)卡,闪存卡(FlahCard)等。进一步地,存储器62还可以既包括计算机设备60的内部存储单元也包括外部存储设备。存储器62用于存储计算机程序以及计算机设备所需的其他程序和数据。存储器62还可以用于暂时地存储已经输出或者将要输出的数据。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种分组共识模型生成方法,其特征在于,应用于共识节点;所述方法包括:
接收大数据平台发送的交易信息;
通过实用拜占庭容错算法,根据所述交易信息,生成新区块信息;
根据所述新区块信息进行区块同步,生成分组共识模型。
2.根据权利要求1所述的分组共识模型生成方法,其特征在于,所述通过实用拜占庭容错算法,根据所述交易信息,生成新区块信息,包括:
将预先生成的自身投票发送至联盟链中其它节点,以供所述联盟链中其它节点进行投票并生成其它投票;
接收所述联盟链中其它节点发送的所述其它投票;
根据所述自身投票和所述其它投票,统计出合法投票的投票数量;
判断所述投票数量是否大于或等于第一阈值;
若判断出所述投票数量大于或等于第一阈值,通过区块头生成算法,根据当前区块哈希值、所述交易信息和所述树根生成新区块信息。
3.根据权利要求2所述的分组共识模型生成方法,其特征在于,所述交易信息包括待验证交易;在将预先生成的自身投票发送至联盟链中其它节点之前,还包括:
当所述待验证交易通过验证时,将所述待验证交易发送至预先划分出的分组的分组内其它节点;
统计接收到的所述分组内其它节点发送的确认签名消息的第一确认数量;
判断所述第一确认数量是否大于或等于第二阈值;
若判断出所述第一确认数量大于或等于第二阈值,判断所述交易信息是否合法;
若判断出所述交易信息合法,根据所述交易信息,生成自身投票。
4.根据权利要求3所述的分组共识模型生成方法,其特征在于,所述根据所述交易信息,生成自身投票,包括:
通过默尔克树生成算法,根据所述交易信息生成默尔克树,所述默尔克树包括树根;
将所述树根和所述交易信息发送至所述分组内其它节点;
统计接收到的所述分组内其它节点发送的确认树根消息的第二确认数量;
判断所述第二确认数量是否大于或等于第三阈值;
若判断出所述第二确认数量大于或等于第三阈值,对所述交易信息和所述树根进行签名,生成自身投票。
5.根据权利要求1所述的分组共识模型生成方法,其特征在于,所述根据所述新区块信息进行区块同步,生成分组共识模型,包括:
判断本地链中是否存在所述新区块信息;
若判断出本地链中不存在所述新区块信息,当新区块消息通过验证时,将所述新区块信息保存至本地链,生成分组共识模型。
6.一种数据溯源方法,其特征在于,应用于共识节点,所述方法包括:
接收大数据平台发送的查询关键字;
将所述查询关键字输入分组共识模型,生成所述查询关键字对应的交易信息。
7.一种分组共识模型生成装置,其特征在于,所述装置包括:
第一接收单元,用于接收大数据平台发送的交易信息;
第一生成单元,用于通过实用拜占庭容错算法,根据所述交易信息,生成新区块信息;
第二生成单元,用于根据所述新区块信息进行区块同步,生成分组共识模型。
8.一种数据溯源装置,其特征在于,所述装置包括:
第二接收单元,用于接收大数据平台发送的查询关键字;
第三生成单元,用于将所述查询关键字输入分组共识模型,生成所述查询关键字对应的交易信息。
9.一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现权利要求1至5任意一项所述的分组共识模型生成方法。
10.一种计算机设备,包括存储器和处理器,所述存储器用于存储包括程序指令的信息,所述处理器用于控制程序指令的执行,其特征在于,所述程序指令被处理器加载并执行时实现权利要求6所述的数据溯源方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010305473.8A CN113538138A (zh) | 2020-04-17 | 2020-04-17 | 一种分组共识模型生成方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010305473.8A CN113538138A (zh) | 2020-04-17 | 2020-04-17 | 一种分组共识模型生成方法、装置和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113538138A true CN113538138A (zh) | 2021-10-22 |
Family
ID=78123283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010305473.8A Pending CN113538138A (zh) | 2020-04-17 | 2020-04-17 | 一种分组共识模型生成方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113538138A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
US20180240114A1 (en) * | 2017-02-22 | 2018-08-23 | Alibaba Group Holding Limited | Transaction verification in a consensus network |
CN109246194A (zh) * | 2018-08-13 | 2019-01-18 | 佛山市顺德区中山大学研究院 | 基于多领导节点的实用拜占庭容错区块链共识方法及系统 |
CN110569675A (zh) * | 2019-09-18 | 2019-12-13 | 上海海事大学 | 一种基于区块链技术的多Agent交易信息保护方法 |
CN110995701A (zh) * | 2019-12-02 | 2020-04-10 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
-
2020
- 2020-04-17 CN CN202010305473.8A patent/CN113538138A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
US20180240114A1 (en) * | 2017-02-22 | 2018-08-23 | Alibaba Group Holding Limited | Transaction verification in a consensus network |
CN109246194A (zh) * | 2018-08-13 | 2019-01-18 | 佛山市顺德区中山大学研究院 | 基于多领导节点的实用拜占庭容错区块链共识方法及系统 |
CN110569675A (zh) * | 2019-09-18 | 2019-12-13 | 上海海事大学 | 一种基于区块链技术的多Agent交易信息保护方法 |
CN110995701A (zh) * | 2019-12-02 | 2020-04-10 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
姚前 主编: "数字货币研究前沿 第1辑", 30 June 2018, 中国金融出版社, pages: 279 - 281 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111445333B (zh) | 区块生成方法、装置、计算机设备以及存储介质 | |
CN110838065B (zh) | 一种交易数据处理方法及装置 | |
CN110570196B (zh) | 交易数据处理方法、装置、终端设备以及存储介质 | |
CN110730225A (zh) | 基于区块链的物联网的数据处理方法、物联网及存储介质 | |
CN112689848B (zh) | 一种区块链数据的共识方法及相关设备 | |
WO2023045620A1 (zh) | 一种交易数据处理方法、装置、计算机设备以及存储介质 | |
CN112118239B (zh) | 区块链共识方法及装置、电子设备、存储介质 | |
CN111416709B (zh) | 基于区块链系统的投票方法、装置、设备及存储介质 | |
CN114422155B (zh) | 提案共识执行方法、区块链系统、设备和存储介质 | |
CN110930254A (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN111431908A (zh) | 一种访问处理方法、装置及可读存储介质 | |
CN110990790B (zh) | 一种数据处理方法及设备 | |
CN112036878A (zh) | 数据处理方法及装置 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
CN113420323B (zh) | 数据共享方法及终端设备 | |
CN114936253A (zh) | 区块链的共识方法及装置、电子设备、存储介质 | |
CN111082990A (zh) | 一种区块链的共识方法、装置、设备及存储介质 | |
CN113542405A (zh) | 基于区块链的网络通信系统、方法、设备及存储介质 | |
CN112037062A (zh) | 交易共识方法、装置、电子设备及可读存储介质 | |
CN113538138A (zh) | 一种分组共识模型生成方法、装置和计算机设备 | |
CN112131602B (zh) | 基于可信计算进行节点间信任关系快速扩展的方法、装置及相关产品 | |
CN112184439B (zh) | 基于节点排序的去中心化交易方法、装置及相关产品 | |
CN117407388A (zh) | 幂等控制方法及其装置、电子设备 | |
CN110766407A (zh) | 基于区块链的交易验证方法、记账节点及介质 | |
CN110585717A (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 |