CN116132058A - 区块链共识方法、装置、设备及计算机可读存储介质 - Google Patents
区块链共识方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116132058A CN116132058A CN202211710970.1A CN202211710970A CN116132058A CN 116132058 A CN116132058 A CN 116132058A CN 202211710970 A CN202211710970 A CN 202211710970A CN 116132058 A CN116132058 A CN 116132058A
- Authority
- CN
- China
- Prior art keywords
- block
- level
- blocks
- node
- random numbers
- 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
- 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/3236—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 using cryptographic hash functions
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- 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/3297—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 time stamps, e.g. generation of time stamps
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请实施例提供了一种区块链共识方法、装置、设备及计算机可读存储介质,该方法包括:基于多个服务器节点,构建m个层级的区块链网络,第1个层级包括p个单元,第i层级中的一个单元包括第i+1层级中的p个单元,1≤i≤m‑1,i、m和p均为正整数;向前回溯获取m个区块,得到m个区块的内容;基于目标随机算法分别对于m个区块的内容进行运算,得到m个随机数;根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点。根据本申请实施例,能够采用目标随机算法产生随机数,并且基于已有的区块选取出下一个出块节点,节约了大量的算力,提高区块链共识效率。
Description
技术领域
本申请属于数据业务领域,尤其涉及一种区块链共识方法、装置、设备及计算机可读存储介质。
背景技术
当前,在区块链网络中,由于去中心化的区块链设计,节点是各处分散且平行的,所以,需要一套共识机制来维护区块链系统的运作顺序与公平性。
现有技术中,通常采用工作量证明(Proof-of-Work,PoW)共识机制来维护区块链系统的运作,以耗用的时间、设备和能源作为担保成本,确保区块链资源与服务被使用。其中,最常用的技术原理是散列函数,由于输入散列函数h()的任意值n,会对应到一个h(n)结果,而n只要变动一个比特,就会引起雪崩效应,几乎无法从h(n)反推回n,这时需要用户进行大量的运算,才可以达成工作量证明。
因此,现有技术采用的方法不仅浪费能源还会浪费算力,增加了运算的难度,降低区块链共识效率。
发明内容
本申请实施例提供了一种区块链共识方法、装置、设备及计算机可读存储介质,能够采用目标随机算法产生随机数,并且基于已有的区块选取出下一个出块节点,节约了大量的算力,提高区块链共识效率。
第一方面,本申请实施例提供了一种区块链共识方法,方法包括:
基于多个服务器节点,构建m个层级的区块链网络,第1个层级包括p个单元,第i层级中的一个单元包括第i+1层级中的p个单元,1≤i≤m-1,i、m和p均为正整数;
向前回溯获取m个区块,得到m个区块的内容;
基于目标随机算法分别对于m个区块的内容进行运算,得到m个随机数;
根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点。
根据本申请第一方面的实施方式,基于目标随机算法分别对于m个区块的内容进行运算,得到m个随机数,具体包括:
对于m个区块中的任意第j个区块的内容进行哈希计算,得到N个字符,N为正整数;
将N个字符对应的信息交换标准代码进行叠加,并对p取模,得到第j个区块对应的随机数。
根据本申请第一方面的实施方式,p=6,随机数的取值范围为1~6。
根据本申请第一方面的实施方式,第m个层级中的单元为所述服务器节点;
根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点,具体包括:
根据第m个随机数至第1个随机数,依次确定第1个层级中的选中的单元至第m个层级中的选中的服务器节点;
将第m个层级中的选中的服务器节点确定为出块节点。
根据本申请第一方面的实施方式,在根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点之后,方法还包括:
基于出块节点,生成新的区块;
生成存储数据证明字符串和数据抽查时间戳字符串;
将存储数据证明字符串和数据抽查时间戳字符串写入至新的区块之中。
根据本申请第一方面前述任一实施方式,生成存储数据证明字符串和数据抽查时间戳字符串,具体包括:
将用于生成新的区块的加密数据划分为多个切片;
基于多个切片,构建n层的默克尔树,n为正整数;
向前回溯获取n个区块,得到n个区块的内容;
基于目标随机算法分别对于n个区块的内容进行运算,得到n个随机数,n个随机数构成默克尔路径;
将默克尔路径上的哈希值相加,并利用哈希函数对于相加结果进行计算,得到存储数据证明字符串。
根据本申请第一方面前述任一实施方式,生成存储数据证明字符串和数据抽查时间戳字符串,具体包括:
利用出块节点的密钥对存储数据证明字符串进行签名,得到数据抽查时间戳字符串。
第二方面,本申请实施例提供了一种区块链共识装置,装置包括:
构建模块,用于基于多个服务器节点,构建m个层级的区块链网络,第1个层级包括p个单元,第i层级中的一个单元包括第i+1层级中的p个单元,1≤i≤m-1,i、m和p均为正整数;
获取模块,用于向前回溯获取m个区块,得到m个区块的内容;
运算模块,用于基于目标随机算法分别对于m个区块的内容进行运算,得到m个随机数;
选取模块,用于根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点。
第三方面,本申请实施例提供了一种电子设备,电子设备包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如第一方面提供的区块链共识方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面提供的区块链共识方法的步骤。
本申请实施例的区块链共识方法、装置、设备及计算机可读存储介质,通过构建m个层级的区块链,第一层级中包括p个单元,每个第一层级单元可以包括第二层级中的p个单元,每个第二层级单元又包括第三层级中的p个单元,依次类推,可以构建出m个层级,组织形式类似蜂窝形状,并且向前回溯m个区块,利用目标随机算法分别对m个区块的内容进行计算,可以得到m个随机数,确定蜂窝组织中的出块节点,其中,不需要大量的计算,是基于已有的区块选取出下一个出块节点的共识,算法简便,节约了算力,提高区块链共识效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种区块链共识方法的流程示意图;
图2是本申请实施例提供的一种区块链共识方法中算法和共识机制的构建示意图;
图3是本申请实施例提供的一种区块链共识方法中算法的示意图;
图4是本申请实施例提供的存储数据证明字符串和数据抽查时间戳字符串的生成原理示意图;
图5是本申请实施例提供的一种区块链共识装置的结构示意图;
图6是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在不脱离本申请的精神或范围的情况下,在本申请中能进行各种修改和变化,这对于本领域技术人员来说是显而易见的。因而,本申请意在覆盖落入所对应权利要求(要求保护的技术方案)及其等同物范围内的本申请的修改和变化。需要说明的是,本申请实施例所提供的实施方式,在不矛盾的情况下可以相互组合。
在阐述本申请实施例所提供的技术方案之前,为了便于对本申请实施例理解,本申请首先对相关技术中存在的问题进行具体说明:
如前所述,经本申请的发明人发现,在区块链网络中,由于去中心化的区块链设计,节点是各处分散且平行的,所以必须设计一套制度,来维护区块链系统的运作顺序与公平性,该制度决定哪个节点取得区块链系统中下一个区块的打包权(或称记帐权),并且获取打包这一区块的奖励,这个制度就是共识机制,比较典型的共识机制有PoW共识,一般是要求用户进行一些耗时的复杂运算,并且答案能被服务方快速验算,以此耗用的时间、设备与能源做为担保成本,以确保服务与资源是被真正的需求所使用。
PoW共识非常浪费能源,投入的能源可能会超过一个小型国家的使用量,还会浪费大量算力,增加运算难度,降低区块链共识效率。
鉴于发明人的上述研究发现,本申请实施例提供了一种区块链共识方法、装置、设备及计算机可读存储介质,能够采用目标随机算法产生随机数,并且基于已有的区块选取出下一个出块节点,节约了大量的算力,提高区块链共识效率。
下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的区块链共识方法进行详细地说明。
图1是本申请实施例提供的一种区块链共识方法的流程示意图。如图1所示,本申请实施例提供的区块链共识方法可以包括步骤S110-S140,其中:
S110、基于多个服务器节点,构建m个层级的区块链网络,第1个层级包括p个单元,第i层级中的一个单元包括第i+1层级中的p个单元,1≤i≤m-1,i、m和p均为正整数;
S120、向前回溯获取m个区块,得到m个区块的内容;
S130、基于目标随机算法分别对于m个区块的内容进行运算,得到m个随机数;
S140、根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点。
由此,通过构建m个层级的区块链,第一层级中包括p个单元,每个第一层级单元可以包括第二层级中的p个单元,每个第二层级单元又包括第三层级中的p个单元,依次类推,可以构建出m个层级,组织形式类似蜂窝形状,并且向前回溯m个区块,利用目标随机算法分别对m个区块的内容进行计算,可以得到m个随机数,确定蜂窝组织中的出块节点,其中,不需要大量的计算,是基于已有的区块选取出下一个出块节点的共识,算法简便,节约了算力,提高区块链共识效率。
下面介绍上述各个步骤的具体实现方式。
在一些实施例中,在S110中,p=6,服务器节点采用蜂窝的组织方式构建服务器集群,采用了独创的蜂窝可验证随机函数(Verifiable Random Function,VRF)六选一算法,蜂窝可验证随机函数VRF六选一算法的设计是交互证明六次VRF计算产生的随机数,六次等距交互形似蜂窝,所以称为蜂窝可验证随机函数VRF六选一算法。
作为一个示例,基于多个服务器节点,构建m个层级的区块链网络,例如,第一层级由六个单元组成,每个第一层级单元可以拆分成六个第二层级子单元,第二层级子单元可以继续拆分成六个第三层级子单元,如此类推,可以构建出m个层级子单元,组织形式类似蜂窝形状,在服务器节点不满六个单元的情况下,服务器节点不参与记账。m个层级节点代表六的m次方台服务器。区块链网络会按照蜂窝可验证随机函数VRF六选一算法共识,进行m次选举,选举一台服务器,进而生成下一个区块。
节点的蜂窝状结构组织形式是节点间的逻辑组织形式,区块链系统运行的底层拓扑结构是分布式对等网络,采用对等网络协议组织区块链中的各个网络节点,其中,各个节点间通常使用点对点通信协议完成信息交换,确保可以支持区块链系统上层功能。
在一些实施例中,在S120中,如图2所示,图2是本申请实施例提供的一种区块链共识方法中算法和共识机制的构建示意图,基于蜂窝可验证随机函数VRF六选一算法和存储验证的区块链共识机制是一种混合共识机制,节点的组织形式是蜂窝状结构,在蜂窝组织形式上运行递归的VRF共识算法,选取一个计算机节点作为记账节点。区块链系统每隔一段时间,需要由记账节点生成下一个区块,然后全网广播,同步区块。蜂窝可验证随机函数VRF六选一算法的规则是,如果蜂窝状结构节点组织有m个层级,沿着区块链的最后一个区块,向前回溯读取m个区块,得到m个区块的内容,但是由于区块中包含全网同一时段内的交易,所以区块的长度和内容是不能预知的。
在一些实施例中,在S130中,基于目标随机算法分别对于m个区块的内容进行运算,得到m个随机数,包括如下两个步骤:
第一步:对于m个区块中的任意第j个区块的内容进行哈希计算,得到N个字符,N为正整数;
第二步:将N个字符对应的信息交换标准代码进行叠加,并对p取模,得到第j个区块对应的随机数。
作为一个示例,目标随机算法可以是蜂窝可验证随机函数VRF六选一算法,随机数的取值范围为1~6,N可以为256。对于m个区块中的任意第j个区块的内容计算哈希值,例如VRF计算是对区块的内容进行安全散列算法SHA256操作,得到256个字符,然后将256个字符对应的信息交换标准ASC码进行叠加,并且对6取模,得到第j个区块对应的1~6的随机数。每个区块内容都会进行VRF计算,得到m个随机数。
在m个层级的服务器节点中,按照m个随机数选取单元,递归操作,最后会确定一个服务器节点。如果第1个随机数是5,则选取第1层的第5个单元。如果第2个随机数是3,那么从第5个单元中选第3个子单元。由于所有的节点都拥有相同的区块链账本,所以它们获取的m个随机数是相同的,最后确定的出块计算机也是相同的,这样所有的节点达成了共识。
通过上述实施例,本申请采用的蜂窝可验证随机函数VRF六选一共识算法,根据向前回溯的区块产生随机数的方法,确定蜂窝组织中的出块节点,因此VRF共识算法不需要大量的计算,而且每个节点可以根据自身的区块确定下一个出块节点,是基于已有区块选取出下一个出块节点的共识,节约了算力。
在一些实施例中,在S140中,根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点,具体可以包括如下步骤:
第三步:根据第m个随机数至第1个随机数,依次确定第1个层级中的选中的单元至第m个层级中的选中的服务器节点;
第四步:将第m个层级中的选中的服务器节点确定为出块节点。
作为一个示例,如图3所示,图3是本申请实施例提供的一种区块链共识方法中算法的示意图。例如有36台计算机,m=2,在区块链网络中,共有2个层级,第一层级有6个单元,每个单元中有6台计算机,开始读取区块链上的最后2个区块。假如最后第一个区块经过VRF计算得到一个随机数3,那么第一层单元3被选中。假如最后第二个区块经过VRF计算得到一个随机数5,那么第一层单元3中5号计算机被选中,形成共识,确定为出块节点。这36台计算机有相同的区块链账本,读取最后2个区块后,可以确定第一层单元3中5号计算机是出块节点。节点通过层层六选一,选取一个出块节点,出块节点打包完区块之后为该区块生成一个随机数和证明,并且存储到区块中,当其它节点接收到该区块时对证明和随机数校验是否正确。
在蜂窝可验证随机函数VRF六选一算法之上的数据与账本记录,确定区块链系统的根基,时序服务模块为区块链系统提供统一的时序,加密摘要与数字签名等模块保证了系统记录数据的安全性,智能合约模块保证了数据流通及数据确权的自动化,模块可以根据不同应用场景进行定制。蜂窝可验证随机函数VRF六选一算法帮助区块链网络中各节点对区块链系统中进行活动的验证、记录以及修改。在区块链系统中根据不同的业务需求,可以选择不同的共识算法来实现共识机制,蜂窝可验证随机函数VRF六选一算法节省能源,共识计算简便,而且采用蜂窝式的节点组织方式,可以快速确定出块节点,使共识算法效率得到很大的提升。
在一些实施例中,在S140之后,该区块链共识方法还包括如下步骤:
第五步:基于出块节点,生成新的区块;
第六步:生成存储数据证明字符串和数据抽查时间戳字符串;
第七步:将存储数据证明字符串和数据抽查时间戳字符串写入至新的区块之中。
作为一个示例,如图4所示,图4是本申请实施例提供的存储数据证明字符串和数据抽查时间戳字符串的生成原理示意图,在区块链的共识记账中,融入存储数据证明字符串和数据抽查时间戳字符串,并将其写入区块内,可以增加区块链系统的安全性。
通过上述实施例,在融入存储数据证明字符串和数据抽查时间戳字符串后,共识算法的计算更加安全,区块链上的数据也更加安全。
在一些实施例中,在第六步中,生成存储数据证明字符串和数据抽查时间戳字符串,具体可以包括如下步骤:
将用于生成新的区块的加密数据划分为多个切片;
基于多个切片,构建n层的默克尔树,n为正整数;
向前回溯获取n个区块,得到n个区块的内容;
基于目标随机算法分别对于n个区块的内容进行运算,得到n个随机数,n个随机数构成默克尔路径;
将默克尔路径上的哈希值相加,并利用哈希函数对于相加结果进行计算,得到存储数据证明字符串。
作为一个示例,如图4,出块节点将加密数据划分为多个碎片,例如数据碎片1、数据碎片2、数据碎片3和数据碎片4,并且进行切片,构建一个n层的默克尔树,从最后一个区块,向前回溯获取n个区块,对每一个区块采用VRFCRH计算,得到n个区块的内容,将内容结果对2取模,得到n个随机数,这里,每个随机数为0或1,通过n个随机数构成默克尔路径,将默克尔路径上的哈希值相加,并利用SHA256函数计算,得到存储证明字符串。
在构建默克尔树之前,要向前获取n个区块,采用VRFCH算法获取n个随机数,这里,随机数的取值范围为1~6,还要对数据加密,通过数据确权功能在接收来自于数据确权合约发布事件的消息后,所有连接到区块链网络的数据确权节点都通过事件广播得知任务请求。部署批处理作业识别子Job ID的数据确权节点得知自己已接受任务请求。将Job ID对应的任务内容与事件中的参数相结合,为任务执行设置环境。在数据确权系统节点采用立即读取(immediate-read)、发布/订阅(publish–subscribe)、请求/响应(request–response)的工作方式,搜索和访问带有身份认证的加密数据。数据确权系统节点采用基于门限签名的简单协议,用施诺尔Schnorr签名机制实现区块链下数据聚合和验证,实现加密数据的权限解析、数据分析以及数据提取。
在一些实施例中,在第六步中,生成存储数据证明字符串和数据抽查时间戳字符串,具体可以包括如下步骤:
利用出块节点的密钥对存储数据证明字符串进行签名,得到数据抽查时间戳字符串。
作为一个示例,上述中得到存储证明字符串,在利用出块节点的密钥对存储证明字符串签名,得到数据抽查时间戳字符串,将数据抽查时间戳字符串写入区块链。
每个节点均具有存储数据的功能,该功能由存储功能组件完成,存储功能组件为系统运行过程中产生的各类数据的存储管理功能,相关选型包括但不限于关系型数据库。存储数据证明字符串代表数据被存储在区块链系统了;数据抽查时间戳字符串代表节点的存储数据的某个时间点的存储状态,在区块内部包含存储数据证明字符串和数据抽查时间戳字符串,使区块链系统更加安全和可信。
区块链中分布式数据的存储机制,通过不同节点对账本进行共同记录与维护,实现区块链系统中数据的公共管理防篡改和可信任,存储数据证明字符串和数据抽查时间戳字符串功能,用于区块链系统验证数据的完整性,可以防止数据被篡改,需求方应该用数字签名确认接收到的数据是否与提供方原始发送数据一致。除了存储数据证明字符串和数据抽查时间戳字符串外,区块内还写入交易信息、出块节点信息等内容。加密数据存储系统功能模块,每隔一段时间会根据数据抽查时间戳字符串,抽查验证系统中加密数据的身份和数据安全,并且加密存储区块链中的加密数据存在各自的存储类别、访问权限和所属区域等属性,用户可以在不同区域创建不同存储类别和访问权限,并配置更多高级属性来满足不同场景的存储诉求。
基于蜂窝可验证随机函数VRF六选一算法和存储验证的区块链共识机制的构建方式,如图2所示,支持构建身份认证的加密数据确权与授权系统,是一个提供去中心化的数据确权服务的网络,并为区块链提供访问加密确权数据和连续计算的可验证服务。通过基于蜂窝可验证随机函数VRF六选一算法和存储空间的区块链共识机制,区块链的智能合约可以获取加密网络的数据,并支付给加密数据的所有者一定的费用,实现基于加密数据搜索的经济系统。按层递归执行蜂窝可验证随机函数VRF六选一算法的选举规则,最后选举出记账节点,生成下一个区块,并在生成下一个区块过程中,融入存储数据证明字符串和数据抽查时间戳字符串两个辅助记账元素,在共识机制中,引入数据的权重,提高区块链共识的安全性。
基于上述实施例提供的区块链共识方法,相应地,本申请还提供了区块链共识装置的具体实现方式。请参见以下实施例。
图5是本申请实施例提供的一种区块链共识装置的结构示意图。
如图5所示,本申请实施例提供的区块链共识装置500包括以下模块:
构建模块501,用于基于多个服务器节点,构建m个层级的区块链网络,第1个层级包括p个单元,第i层级中的一个单元包括第i+1层级中的p个单元,1≤i≤m-1,i、m和p均为正整数;
获取模块502,用于向前回溯获取m个区块,得到m个区块的内容;
运算模块503,用于基于目标随机算法分别对于m个区块的内容进行运算,得到m个随机数;
选取模块504,用于根据m个随机数,从m个层级的区块链网络中选取一个服务器节点作为出块节点。
本申请实施例的区块链共识方法、装置、设备及计算机可读存储介质,通过构建m个层级的区块链,第一层级中包括p个单元,每个第一层级单元可以包括第二层级中的p个单元,每个第二层级单元又包括第三层级中的p个单元,依次类推,可以构建出m个层级,组织形式类似蜂窝形状,并且向前回溯m个区块,利用目标随机算法分别对m个区块的内容进行计算,可以得到m个随机数,确定蜂窝组织中的出块节点,其中,不需要大量的计算,是基于已有的区块选取出下一个出块节点的共识,算法简便,节约了算力,提高区块链共识效率。
在一些实施例中,上述运算模块503具体用于:
对于m个区块中的任意第j个区块的内容进行哈希计算,得到N个字符,N为正整数;
将N个字符对应的信息交换标准代码进行叠加,并对p取模,得到第j个区块对应的随机数。
在一些实施例中,p=6,随机数的取值范围为1~6。
在一些实施例中,第m个层级中的单元为服务器节点;上述选取模块504具体用于:
根据第m个随机数至第1个随机数,依次确定第1个层级中的选中的单元至第m个层级中的选中的服务器节点;
将第m个层级中的选中的服务器节点确定为出块节点。
在一些实施例中,区块链共识装置500还可以包括生成模块,用于:
基于出块节点,生成新的区块;
生成存储数据证明字符串和数据抽查时间戳字符串;
将存储数据证明字符串和数据抽查时间戳字符串写入至新的区块之中。
在一些实施例中,上述生成模块具体用于:
将用于生成新的区块的加密数据划分为多个切片;
基于多个切片,构建n层的默克尔树,n为正整数;
向前回溯获取n个区块,得到n个区块的内容;
基于目标随机算法分别对于n个区块的内容进行运算,得到n个随机数,n个随机数构成默克尔路径;
将默克尔路径上的哈希值相加,并利用哈希函数对于相加结果进行计算,得到存储数据证明字符串。
在一些实施例中,上述生成模块具体用于:
利用出块节点的密钥对存储数据证明字符串进行签名,得到数据抽查时间戳字符串。
图5所示装置中的各个模块/单元具有实现上述方法实施例提供的区块链共识方法中各个步骤的功能,并能达到其相应的技术效果,为简洁描述,在此不再赘述。
基于上述实施例提供的区块链共识方法,相应地,本申请还提供了电子设备的具体实现方式。请参见以下实施例。
图6示出了本申请实施例提供的电子设备的硬件结构示意图。
电子设备可以包括处理器601以及存储有计算机程序指令的存储器602。
具体地,上述处理器601可以包括中央处理器(Central Processing Unit,CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器602可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器602可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在一个示例中,存储器602可以包括可移除或不可移除(或固定)的介质,或者存储器602是非易失性固态存储器。存储器602可在综合网关容灾设备的内部或外部。
在一个示例中,存储器602可以是只读存储器(Read Only Memory,ROM)。在一个示例中,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
存储器602可以包括只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质设备,光存储介质设备,闪存设备,电气、光学或其他物理/有形的存储器存储设备。因此,通常,存储器包括一个或多个编码有包括计算机可执行指令的软件的有形(非暂态)计算机可读存储介质(例如,存储器设备),并且当该软件被执行(例如,由一个或多个处理器)时,其可操作来执行参考根据本申请的一方面的方法所描述的操作。
处理器601通过读取并执行存储器602中存储的计算机程序指令,以实现上述方法实施例中的方法/步骤,并达到方法实施例执行其方法/步骤达到的相应技术效果,为简洁描述在此不再赘述。
在一个示例中,电子设备还可包括通信接口603和总线610。其中,如图6所示,处理器601、存储器602、通信接口603通过总线610连接并完成相互间的通信。
通信接口603,主要用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。
总线610包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,EISA)总线、前端总线(Front Side Bus,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(IndustryStandard Architecture,ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线610可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的区块链共识方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种区块链共识方法。计算机可读存储介质的示例包括非暂态计算机可读存储介质,如电子电路、半导体存储器设备、ROM、随机存取存储器、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘。
需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本申请的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RadioFrequency,RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
上面参考根据本申请的实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中各方框的组合可以由计算机程序指令实现。这些计算机程序指令可被提供给通用计算机、专用计算机、或其它可编程数据处理装置的处理器,以产生一种机器,使得经由计算机或其它可编程数据处理装置的处理器执行的这些指令使能对流程图和/或框图的一个或多个方框中指定的功能/动作的实现。这种处理器可以是但不限于是通用处理器、专用处理器、特殊应用处理器或者现场可编程逻辑电路。还可理解,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,也可以由执行指定的功能或动作的专用硬件来实现,或可由专用硬件和计算机指令的组合来实现。
以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种区块链共识方法,其特征在于,包括:
基于多个服务器节点,构建m个层级的区块链网络,第1个层级包括p个单元,第i层级中的一个单元包括第i+1层级中的p个单元,1≤i≤m-1,i、m和p均为正整数;
向前回溯获取m个区块,得到所述m个区块的内容;
基于目标随机算法分别对于所述m个区块的内容进行运算,得到m个随机数;
根据所述m个随机数,从所述m个层级的区块链网络中选取一个所述服务器节点作为出块节点。
2.根据权利要求1所述的方法,其特征在于,所述基于目标随机算法分别对于所述m个区块的内容进行运算,得到m个随机数,具体包括:
对于所述m个区块中的任意第j个区块的内容进行哈希计算,得到N个字符,N为正整数;
将所述N个字符对应的信息交换标准代码进行叠加,并对p取模,得到所述第j个区块对应的随机数。
3.根据权利要求1或2所述的方法,其特征在于,p=6,随机数的取值范围为1~6。
4.根据权利要求1所述的方法,其特征在于,第m个层级中的单元为所述服务器节点;
所述根据所述m个随机数,从所述m个层级的区块链网络中选取一个所述服务器节点作为出块节点,具体包括:
根据第m个随机数至第1个随机数,依次确定所述第1个层级中的选中的单元至所述第m个层级中的选中的所述服务器节点;
将所述第m个层级中的选中的所述服务器节点确定为所述出块节点。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述m个随机数,从所述m个层级的区块链网络中选取一个所述服务器节点作为出块节点之后,所述方法还包括:
基于所述出块节点,生成新的区块;
生成存储数据证明字符串和数据抽查时间戳字符串;
将所述存储数据证明字符串和所述数据抽查时间戳字符串写入至所述新的区块之中。
6.根据权利要求5所述的方法,其特征在于,所述生成存储数据证明字符串和数据抽查时间戳字符串,具体包括:
将用于生成所述新的区块的加密数据划分为多个切片;
基于所述多个切片,构建n层的默克尔树,n为正整数;
向前回溯获取n个区块,得到所述n个区块的内容;
基于所述目标随机算法分别对于所述n个区块的内容进行运算,得到n个随机数,所述n个随机数构成默克尔路径;
将所述默克尔路径上的哈希值相加,并利用哈希函数对于相加结果进行计算,得到所述存储数据证明字符串。
7.根据权利要求5所述的方法,其特征在于,所述生成存储数据证明字符串和数据抽查时间戳字符串,具体包括:
利用所述出块节点的密钥对所述存储数据证明字符串进行签名,得到所述数据抽查时间戳字符串。
8.一种区块链共识装置,其特征在于,所述装置包括:
构建模块,用于基于多个服务器节点,构建m个层级的区块链网络,第1个层级包括p个单元,第i层级中的一个单元包括第i+1层级中的p个单元,1≤i≤m-1,i、m和p均为正整数;
获取模块,用于向前回溯获取m个区块,得到所述m个区块的内容;
运算模块,用于基于目标随机算法分别对于所述m个区块的内容进行运算,得到m个随机数;
选取模块,用于根据所述m个随机数,从所述m个层级的区块链网络中选取一个所述服务器节点作为出块节点。
9.一种电子设备,其特征在于,所述电子设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的区块链共识方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的区块链共识方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211710970.1A CN116132058A (zh) | 2022-12-29 | 2022-12-29 | 区块链共识方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211710970.1A CN116132058A (zh) | 2022-12-29 | 2022-12-29 | 区块链共识方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116132058A true CN116132058A (zh) | 2023-05-16 |
Family
ID=86296751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211710970.1A Pending CN116132058A (zh) | 2022-12-29 | 2022-12-29 | 区块链共识方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116132058A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692128A (zh) * | 2024-02-02 | 2024-03-12 | 波维希数字科技有限公司 | 三级密链架构 |
-
2022
- 2022-12-29 CN CN202211710970.1A patent/CN116132058A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692128A (zh) * | 2024-02-02 | 2024-03-12 | 波维希数字科技有限公司 | 三级密链架构 |
CN117692128B (zh) * | 2024-02-02 | 2024-04-16 | 波维希数字科技有限公司 | 一种三级密链系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3693886B1 (en) | Optimizations for verification of interactions system and method | |
Zamani et al. | Rapidchain: Scaling blockchain via full sharding | |
CN111090892B (zh) | 一种基于vrf和门限签名的区块链共识方法和装置 | |
CN113395363B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
US11868368B2 (en) | System and method for implementing consensus in distributed ledger arrangement | |
CN110851537A (zh) | 一种基于区块链分片技术的共识方法 | |
CN108804706A (zh) | 一种区块链数据处理方法、装置、设备及存储介质 | |
Wang et al. | Beh-Raft-Chain: a behavior-based fast blockchain protocol for complex networks | |
CN113256297B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
US11875188B2 (en) | Data processing system using directed acyclic graph and method of use thereof | |
CN116132058A (zh) | 区块链共识方法、装置、设备及计算机可读存储介质 | |
CN113448694B (zh) | 一种提高事务处理能力的区块链共识方法 | |
Tang et al. | Hedera: a permissionless and scalable hybrid blockchain consensus algorithm in multi-access edge computing for iot | |
CN111680282B (zh) | 基于区块链网络的节点管理方法、装置、设备及介质 | |
CN116938523A (zh) | 区块链系统、运行方法、电子设备和存储介质 | |
CN111177263A (zh) | 一种区块链共识方法及节点 | |
CN113242305B (zh) | 跨链事务处理方法、装置、计算机设备及介质 | |
CN115694876A (zh) | 一种区块链电力交易系统、共识方法、设备和存储介质 | |
CN112860807B (zh) | 一种适用于无线区块链网络的容错共识方法 | |
CN117221337A (zh) | 区块链共识方法、装置、介质及电子设备 | |
CN111147575B (zh) | 一种基于区块链的数据存储系统 | |
CN116070191A (zh) | 信息处理方法及其装置、存储介质、程序产品 | |
Diallo et al. | A blockchain-based approach to track traffic messages in vehicular networks | |
Deng et al. | PSSC: Practical and Secure Sidechains Construction for Heterogeneous Blockchains Orienting IoT | |
CN110910091A (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 |