CN115396443B - 基于时间因子的联盟链共识方法、装置、设备及存储介质 - Google Patents

基于时间因子的联盟链共识方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115396443B
CN115396443B CN202211343451.6A CN202211343451A CN115396443B CN 115396443 B CN115396443 B CN 115396443B CN 202211343451 A CN202211343451 A CN 202211343451A CN 115396443 B CN115396443 B CN 115396443B
Authority
CN
China
Prior art keywords
block
target
consensus
node
time factor
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
CN202211343451.6A
Other languages
English (en)
Other versions
CN115396443A (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.)
Anhui Zhongke Lattice Technology Co ltd
Original Assignee
Anhui Zhongke Lattice Technology 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 Anhui Zhongke Lattice Technology Co ltd filed Critical Anhui Zhongke Lattice Technology Co ltd
Priority to CN202211343451.6A priority Critical patent/CN115396443B/zh
Publication of CN115396443A publication Critical patent/CN115396443A/zh
Application granted granted Critical
Publication of CN115396443B publication Critical patent/CN115396443B/zh
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
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及区块链技术领域,公开了一种基于时间因子的联盟链共识方法、装置、设备及存储介质,所述方法包括:在目标节点为共识节点时,通过共识区块生成器生成随机时间因子;在随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块;在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;在存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点;通过上述方式,通过共识区块生成器生成随机时间因子,将待上链区块内存中存储的第一目标区块上链,从而能够保证出块的随机性,提高联盟链中的各个共识节点出块的公平性,以及提高联盟链的安全性。

Description

基于时间因子的联盟链共识方法、装置、设备及存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及基于时间因子的联盟链共识方法、装置、设备及存储介质。
背景技术
联盟链,只针对特定某个群体的成员和有限的第三方,内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程,其他第三方可以通过该区块链开放的 API 进行限定查询。但是联盟链在带来便利的同时,也会面临许多问题,例如,随着加入节点的增多,由所有节点共同进行共识所消耗的时间越来越多,使得在出块节点选取时会浪费大量的时间,且区块在出现问题时无法及时、准确地将其从联盟链中删除,使得联盟链的安全性能以及共识效率极低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于时间因子的联盟链共识方法、装置、设备及存储介质,旨在解决现有技术的联盟链在共识时效率极低,且整个联盟链的安全性能较低的技术问题。
为实现上述目的,本发明提供了一种基于时间因子的联盟链共识方法,所述基于时间因子的联盟链共识方法包括以下步骤:
在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子;
在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点;
在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;
在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点。
可选地,所述在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子,包括:
在接收到新节点的加入请求时,对所述新节点的身份进行认证;
在认证通过时,获取所述新节点的身份特性信息;
根据所述身份特性信息将所述新节点设置为目标节点,并判断所述目标节点是否为共识节点;
在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子。
可选地,所述根据所述身份特性信息将所述新节点设置为目标节点,并判断所述目标节点是否为共识节点之后,还包括:
在所述目标节点为普通节点时,对所述目标节点对应的交易数据信息和区块信息进行存储。
可选地,所述在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子,包括:
在目标节点为共识节点时,通过联盟链认证节点给所述目标节点的身份分发共识区块生成器;
通过所述共识区块生成器生成随机时间因子。
可选地,所述通过所述共识区块生成器生成随机时间因子之后,还包括:
获取所述共识区块生成器的设备码,并根据所述设备码生成目标密钥对;
将所述目标密钥对中的公钥、设备码与所述随机时间因子进行绑定;
在绑定成功后,通过所述目标密钥对中的私钥对绑定后的数据进行签名,得到目标密文数据;
将所述目标密文数据广播至其他共识节点,以使所述其他共识节点对所述目标密文数据进行认证,得到当前认证信息,在所述当前认证信息为认证通过时,对当前邻接点列表进行更新,将所述当前认证信息进行转发。
可选地,所述在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量,包括:
在接收到其他共识节点发送的验证信息时,判断所述验证信息是否为验证通过信息;
在所述验证信息为验证通过信息时,并将所述目标区块存储至待上链区块内存;
在存储完成后,通过共识区块生成器再次生成新的随机时间因子;
在所述新的随机时间因子对应的随机时间达到预设时间阈值时,自动生成新的目标区块,并将所述新的目标区块转发给其他共识节点,且新的随机时间因子计时停止,继续返回重新生成其他随机时间因子的步骤,重复上述步骤;
实时统计待上链区块内存中存储的目标区块的数量。
可选地,所述在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点,包括:
在所述存储的目标区块的数量大于预设区块数量阈值时,获取待上链区块内存的目标区块的存储时间列表;
提取所述存储时间列表中的最早存储时间;
将所述最早存储时间对应的目标区块作为第一目标区块,并将所述第一目标区块上链,得到当前上链信息;
将所述当前上链信息广播给其他普通节点。
此外,为实现上述目的,本发明还提出一种基于时间因子的联盟链共识装置,所述基于时间因子的联盟链共识装置包括:
生成模块,用于在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子;
转发模块,用于在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点;
统计模块,用于在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;
上链模块,用于在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点。
此外,为实现上述目的,本发明还提出一种基于时间因子的联盟链共识设备,所述基于时间因子的联盟链共识设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于时间因子的联盟链共识程序,所述基于时间因子的联盟链共识程序配置为实现如上文所述的基于时间因子的联盟链共识方法。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于时间因子的联盟链共识程序,所述基于时间因子的联盟链共识程序被处理器执行时实现如上文所述的基于时间因子的联盟链共识方法。
本发明提出的基于时间因子的联盟链共识方法,通过在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子;在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点;在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点;通过上述方式,通过共识区块生成器生成随机时间因子,将待上链区块内存中存储的第一目标区块上链,从而能够保证出块的随机性,提高联盟链中的各个共识节点出块的公平性,以及提高联盟链的安全性。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于时间因子的联盟链共识设备的结构示意图;
图2为本发明基于时间因子的联盟链共识方法第一实施例的流程示意图;
图3为本发明基于时间因子的联盟链共识方法一实施例的共识区块生成器结构示意图;
图4为本发明基于时间因子的联盟链共识方法一实施例的共识节点区块上链示意图;
图5为本发明基于时间因子的联盟链共识方法第二实施例的流程示意图;
图6为本发明基于时间因子的联盟链共识装置第一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于时间因子的联盟链共识设备结构示意图。
如图1所示,该基于时间因子的联盟链共识设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对基于时间因子的联盟链共识设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于时间因子的联盟链共识程序。
在图1所示的基于时间因子的联盟链共识设备中,网络接口1004主要用于与网络一体化平台工作站进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明基于时间因子的联盟链共识设备中的处理器1001、存储器1005可以设置在基于时间因子的联盟链共识设备中,所述基于时间因子的联盟链共识设备通过处理器1001调用存储器1005中存储的基于时间因子的联盟链共识程序,并执行本发明实施例提供的基于时间因子的联盟链共识方法。
基于上述硬件结构,提出本发明基于时间因子的联盟链共识方法实施例。
参照图2,图2为本发明基于时间因子的联盟链共识方法第一实施例的流程示意图。
在第一实施例中,所述基于时间因子的联盟链共识方法包括以下步骤:
步骤S10,在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子。
需要说明的是,本实施例的执行主体为基于时间因子的联盟链共识设备,还可为其他可实现相同或相似功能的设备,例如联盟链共识系统等,本实施例对此不作限制,在本实施例中,以联盟链共识系统为例进行说明。
应当理解的是,目标节点指的是在加入至联盟链后根据身份特征信息设置后的节点,整个联盟链系统主要分为普通节点和共识节点,普通节点和共识节点的相关权限存在普遍的差异,即该目标节点可以为共识节点,也可以为普通节点,可选地,部分共识节点作为整个联盟链的认证节点。
可以理解的是,随机时间因子指的是由共识区块生成器随机生成的时间因子,该共识区块生成器作为该共识节点之后在联盟链中的身份代表,并且也是用于联盟链出块的生成器,每个共识节点都拥有其共识区块生成器以及由共识区块生成器生成的随机时间因子,随机时间因子是由共识区块生成器中的硬件真随机生成器所生成的随机数作为种子来生成的,具体为:
Radom_ TimeFac = (a*Radom) mod Threshold + build_block_num;
其中,Radom_ TimeFac为随机时间因子,a为随机数调节参数,Radom 为共识区块生成器中的真随机生成器所生成的随机数,Threshold为联盟链中出块时间的基本阈值,build_block_num 为共识节点作为出块节点的次数。
需要说明的是,a用于对随机数进行数值调整,build_block_num默认为0,当成功成为出块节点并发布一个目标区块后,则会将build_block_num加1,如果下次没有继续成为出块节点,则会将build_block_num清零,因生成 Radom_TimeFac的随机数Random是由真随机生成器所生成,而真随机生成器是基于物理噪声源的随机数产生器,因此,真随机生成器具有可靠的随机性,为了限制出块时间,因此,设定有基本阈值Threshold来限制出块时间范围,具体大小可根据联盟链的实际要求来设定。
应当理解的是,参考图3,图3为共识区块生成器结构示意图,具体为:共识区块生成器系统主要分为两个部分:硬件部分和软件部分,其中,硬件部分构成有含有TrustZone的MCU处理芯片、真随机数产生器TRNG、串口通信等,软件部分有公私秘钥生成模块、随机时间生成模块以及数据信息签名传输模块。硬件,含有TrustZone的MCU处理芯片:主要是用来编写相关的代码,并且带有TrustZone安全存储芯片,将内存空间将被划分为安全和非安全内存区域。将那些机密性较强的程序代码和安全的数据都存放在安全的内存区域当中,对于非机密性的程序代码等数据存放在非安全区域,保证了机密性代码以及安全数据都能够得到相应的硬件安全保障。真随机数产生器TRNG:主要是用来生成真随机数,该硬件外设主要是通过物理噪声源的随机数产生器,保证了随机数产生的可靠性。串口通信:用于共识区块生成器与联盟链客户端的相关操作进行通信,主要呈现的是一个插拔的状态,当无需进行相关操作时,设备则是一个离线状态,保证了安全数据的一个离线状态,防止木马程序或者病毒程序的攻击。软件,公私密钥生成模块:用于为共识节点生成签名的公私秘钥对,并于该共识节点的身份进行绑定,从而完成该设备的初始化。随机时间因子生成模块:用于生成随机数,根据相应的公式生成随机时间因子,从而根据生成的随机时间因子完成出块的操作。数据信息签名传输模块:在本节点出块时间到时,并且该节点并未接收到其他的共识节点发来的区块信息,则将接收到的相应交易或者其他数据进行打包成区块,并发布区块。
进一步地,步骤S10,包括:在接收到新节点的加入请求时,对所述新节点的身份进行认证;在认证通过时,获取所述新节点的身份特性信息;根据所述身份特性信息将所述新节点设置为目标节点,并判断所述目标节点是否为共识节点;在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子。
可以理解的是,加入请求指的是新节点想要加入至联盟链时发出的请求,在接收到新节点的加入请求后,表明新节点想要加入至联盟链,此时联盟链中的认证节点会对新节点提交的身份信息进行认证,在认证通过后,新节点会加入至联盟链中,然后会根据新节点的身份特性信息对新节点进行设置,该身份特征信息包括但不限于权威性和工作特性等,在设置为目标节点后,判断目标节点是否为共识节点,若是,则通过共识区块生成器生成随机时间因子。
进一步地,所述根据所述身份特性信息将所述新节点设置为目标节点,并判断所述目标节点是否为共识节点之后,还包括:在所述目标节点为普通节点时,对所述目标节点对应的交易数据信息和区块信息进行存储。
应当理解的是,在判定目标节点为普通节点时,将目标节点对应的交易数据信息和区块信息存储,无法进行区块的生成以及机密性较高的数据查询。
步骤S20,在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点。
可以理解的是,随机时间因子对应的随机时间采用倒计时的方式,预设时间阈值可以为0,在共识节点的随机时间因子对应的随机时间倒计时为零时,就会自动生成目标区块,也可以称为出块,然后将目标区块转发给其他共识节点。
步骤S30,在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量。
应当理解的是,待上链区块内存指的是存储目标区块的内存,在接收到其他共识节点发送的验证信息时,判断验证信息是否为验证通过信息,若是,则表明目标区块通过了其他共识节点的验证,此时直接统计待上链区块内存中存储的目标区块的数量,需要强调的是,存储至待上链区块内存的目标区块均是通过其他共识节点验证的区块。
进一步地,步骤S30,包括:在接收到其他共识节点发送的验证信息时,判断所述验证信息是否为验证通过信息;在所述验证信息为验证通过信息时,并将所述目标区块存储至待上链区块内存;在存储完成后,通过共识区块生成器再次生成新的随机时间因子;在所述新的随机时间因子对应的随机时间达到预设时间阈值时,自动生成新的目标区块,并将所述新的目标区块转发给其他共识节点,且新的随机时间因子计时停止,继续返回重新生成其他随机时间因子的步骤,重复上述步骤;实时统计待上链区块内存中存储的目标区块的数量。
可以理解的是,将其他共识节点验证通过后的目标区块存储至待上链区块内存后,共识区块生成器生成随机时间因子的计时停止,然后通过共识区块生成器再次生成新的随机时间因子,并等待下一次出块,然后判断新的随机时间因子对应的随机时间是否达到预设时间阈值,若是,则自动生成新的目标区块,在将新的目标区块转发给其他共识节点后,新的随机时间因子计时停止,重新生成其他随机时间因子,循环重复上述步骤,直至共识节点收到第N个验证通过的目标区块,该N可以为3。
步骤S40,在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点。
可以理解的是,在得到存储的目标区块的数量后,判断存储的目标区块的数量是否大于预设区块数量阈值,若是,则表明共识节点接收到了第N个验证通过的目标区块,即将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点,参考图4,图4为共识节点区块上链示意图,具体为:在自动生成目标区块后,通过路径①和路径②两种方式将若干数量的目标区块分别存储至待上链区块内存,此时的路径①存储的目标区块为第3个验证通过的目标区块,然后将第一目标区块上链。
进一步地,步骤S40,包括:在所述存储的目标区块的数量大于预设区块数量阈值时,获取待上链区块内存的目标区块的存储时间列表;提取所述存储时间列表中的最早存储时间;将所述最早存储时间对应的目标区块作为第一目标区块,并将所述第一目标区块上链,得到当前上链信息;将所述当前上链信息广播给其他普通节点。
应当理解的是,第一目标区块指的是第一个存储至待上链区块内存的目标区块,存储时间列表指的是待上链区块内存中存储目标区块的时间列表,在得到待上链区块内存的目标区块的存储时间列表后,提取存储时间列表中的最早存储时间,此时最早存储时间对应的目标区块即为第一目标区块,然后将第一目标区块上链,并将当前上链信息广播给其他普通节点,以保证联盟链的安全性,当存在目标区块验证出现问题后,则会将该目标区块的相应标志位置为 False,并且接收到出问题的目标区块的共识节点不会停止出块时间的计时,且将含有False标志位的目标区块转发给其他共识节点,当累计一半以上的共识节点对False标志位进行签名转发,则会将该共识节点的Byzantine_Num置为1,Penalty_Rounds置为6,且必须经过6个区块的发布之后才能进行出块节点的竞选,当Byzantine_Num累计为3之后,联盟链系统会将该共识节点的钥匙信息进行删除。
本实施例通过在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子;在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点;在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点;通过上述方式,通过共识区块生成器生成随机时间因子,将待上链区块内存中存储的第一目标区块上链,从而能够保证出块的随机性,提高联盟链中的各个共识节点出块的公平性,以及提高联盟链的安全性。
在一实施例中,如图5所述,基于第一实施例提出本发明基于时间因子的联盟链共识方法第二实施例,所述步骤S10,包括:
步骤S101,在目标节点为共识节点时,通过联盟链认证节点给所述目标节点的身份分发共识区块生成器。
应当理解的是,在判定目标节点为共识节点时,此时会通过联盟链认证节点给目标节点的身份分发共识区块生成器,那么每个目标节点都会对应一个共识区块生成器。
步骤S102,通过所述共识区块生成器生成随机时间因子。
可以理解的是,在分发完共识区块生成器,此时的每个共识节点都会拥有共识区块生成器,然后共识区块生成器就会生成随机时间因子。
进一步地,步骤S102之后,还包括:获取所述共识区块生成器的设备码,并根据所述设备码生成目标密钥对;将所述目标密钥对中的公钥、设备码与所述随机时间因子进行绑定;在绑定成功后,通过所述目标密钥对中的私钥对绑定后的数据进行签名,得到目标密文数据;将所述目标密文数据广播至其他共识节点,以使所述其他共识节点对所述目标密文数据进行认证,得到当前认证信息,在所述当前认证信息为认证通过时,对当前邻接点列表进行更新,将所述当前认证信息进行转发。
应当理解的是,设备码指的是唯一识别共识区块生成器的设备编码,不同的共识区块生成器的设备码不同,在得到生成器的设备码后,根据设备码生成目标密钥对,然后将目标密钥对中的公钥、设备码与所述随机时间因子进行绑定,例如,m为设备码,radom为随机时间因子,pk为目标密钥对中的公钥,绑定后的数据为{m,radom,pk},然后由目标密钥对中的私钥签名和加密后的目标密文数据为{m,radom,pk,S_Message},其中,S_Message为对绑定后的签名数据,并将目标密文数据{m,radom,pk,S_Message}进行广播,在当前认证信息为认证通过时,更新当前邻接点列表,并转发当前认证信息,完成整个网络的节点更新。
本实施例通过在目标节点为共识节点时,通过联盟链认证节点给所述目标节点的身份分发共识区块生成器;通过所述共识区块生成器生成随机时间因子;通过上述方式,在判定目标节点为共识节点时,由联盟链认证节点给目标节点的身份分发共识区块生成器,然后由分发的共识区块生成器生成随机时间因子,从而能够有效提高生成随机时间因子的准确性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于时间因子的联盟链共识程序,所述基于时间因子的联盟链共识程序被处理器执行时实现如上文所述的基于时间因子的联盟链共识方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,参照图6,本发明实施例还提出一种基于时间因子的联盟链共识装置,所述基于时间因子的联盟链共识装置包括:
生成模块10,用于在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子。
转发模块20,用于在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点。
统计模块30,用于在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量。
上链模块40,用于在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点。
本实施例通过在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子;在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点;在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点;通过上述方式,通过共识区块生成器生成随机时间因子,将待上链区块内存中存储的第一目标区块上链,从而能够保证出块的随机性,提高联盟链中的各个共识节点出块的公平性,以及提高联盟链的安全性。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于时间因子的联盟链共识方法,此处不再赘述。
本发明所述基于时间因子的联盟链共识装置的其他实施例或具有实现方法可参照上述各方法实施例,此处不再赘余。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,一体化平台工作站,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于时间因子的联盟链共识方法,其特征在于,所述基于时间因子的联盟链共识方法包括以下步骤:
在目标节点为共识节点时,通过共识区块生成器生成随机时间因子;
在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点;
在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;
在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点。
2.如权利要求1所述的基于时间因子的联盟链共识方法,其特征在于,所述在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子,包括:
在接收到新节点的加入请求时,对所述新节点的身份进行认证;
在认证通过时,获取所述新节点的身份特性信息;
根据所述身份特性信息将所述新节点设置为目标节点,并判断所述目标节点是否为共识节点;
在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子。
3.如权利要求2所述的基于时间因子的联盟链共识方法,其特征在于,所述根据所述身份特性信息将所述新节点设置为目标节点,并判断所述目标节点是否为共识节点之后,还包括:
在所述目标节点为普通节点时,对所述目标节点对应的交易数据信息和区块信息进行存储。
4.如权利要求1所述的基于时间因子的联盟链共识方法,其特征在于,所述在目标节点为共识节点时,通过所述共识区块生成器生成随机时间因子,包括:
在目标节点为共识节点时,通过联盟链认证节点给所述目标节点的身份分发共识区块生成器;
通过所述共识区块生成器生成随机时间因子。
5.如权利要求4所述的基于时间因子的联盟链共识方法,其特征在于,所述通过所述共识区块生成器生成随机时间因子之后,还包括:
获取所述共识区块生成器的设备码,并根据所述设备码生成目标密钥对;
将所述目标密钥对中的公钥、设备码与所述随机时间因子进行绑定;
在绑定成功后,通过所述目标密钥对中的私钥对绑定后的数据进行签名,得到目标密文数据;
将所述目标密文数据广播至其他共识节点,以使所述其他共识节点对所述目标密文数据进行认证,得到当前认证信息,在所述当前认证信息为认证通过时,对当前邻接点列表进行更新,将所述当前认证信息进行转发。
6.如权利要求1所述的基于时间因子的联盟链共识方法,其特征在于,所述在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量,包括:
在接收到其他共识节点发送的验证信息时,判断所述验证信息是否为验证通过信息;
在所述验证信息为验证通过信息时,并将所述目标区块存储至待上链区块内存;
在存储完成后,通过共识区块生成器再次生成新的随机时间因子;
在所述新的随机时间因子对应的随机时间达到预设时间阈值时,自动生成新的目标区块,并将所述新的目标区块转发给其他共识节点,且新的随机时间因子计时停止,继续返回重新生成其他随机时间因子的步骤,重复上述步骤;
实时统计待上链区块内存中存储的目标区块的数量。
7.如权利要求1至6中任一项所述的基于时间因子的联盟链共识方法,其特征在于,所述在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点,包括:
在所述存储的目标区块的数量大于预设区块数量阈值时,获取待上链区块内存的目标区块的存储时间列表;
提取所述存储时间列表中的最早存储时间;
将所述最早存储时间对应的目标区块作为第一目标区块,并将所述第一目标区块上链,得到当前上链信息;
将所述当前上链信息广播给其他普通节点。
8.一种基于时间因子的联盟链共识装置,其特征在于,所述基于时间因子的联盟链共识装置包括:
生成模块,用于在目标节点为共识节点时,通过共识区块生成器生成随机时间因子;
转发模块,用于在所述随机时间因子对应的随机时间达到预设时间阈值时,自动生成目标区块,并将所述目标区块转发给其他共识节点;
统计模块,用于在接收到其他共识节点发送的验证信息时,统计待上链区块内存中存储的目标区块的数量;
上链模块,用于在所述存储的目标区块的数量大于预设区块数量阈值时,将待上链区块内存中存储的第一目标区块上链,并广播给其他普通节点。
9.一种基于时间因子的联盟链共识设备,其特征在于,所述基于时间因子的联盟链共识设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于时间因子的联盟链共识程序,所述基于时间因子的联盟链共识程序配置有实现如权利要求1至7中任一项所述的基于时间因子的联盟链共识方法。
10.一种存储介质,其特征在于,所述存储介质上存储有基于时间因子的联盟链共识程序,所述基于时间因子的联盟链共识程序被处理器执行时实现如权利要求1至7中任一项所述的基于时间因子的联盟链共识方法。
CN202211343451.6A 2022-10-31 2022-10-31 基于时间因子的联盟链共识方法、装置、设备及存储介质 Active CN115396443B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211343451.6A CN115396443B (zh) 2022-10-31 2022-10-31 基于时间因子的联盟链共识方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211343451.6A CN115396443B (zh) 2022-10-31 2022-10-31 基于时间因子的联盟链共识方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN115396443A CN115396443A (zh) 2022-11-25
CN115396443B true CN115396443B (zh) 2022-12-27

Family

ID=84115072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211343451.6A Active CN115396443B (zh) 2022-10-31 2022-10-31 基于时间因子的联盟链共识方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115396443B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116663068B (zh) * 2023-07-31 2023-12-29 腾讯科技(深圳)有限公司 联盟链归档方法、相关装置和介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102384351B1 (ko) * 2018-05-09 2022-04-06 삼성에스디에스 주식회사 블록체인 기반 시스템에서의 블록 생성 방법
CN109933629B (zh) * 2019-03-15 2021-07-30 腾讯科技(深圳)有限公司 数据同步方法、装置、计算机设备以及可读存储介质
CN111599079A (zh) * 2020-04-21 2020-08-28 深圳市芯链科技有限公司 一种区块链摇号方法、装置、设备和存储介质
CN111988137B (zh) * 2020-07-11 2022-05-17 浙江工商大学 一种基于门限签名和公平奖励的DPoS共识方法及其系统
CN112182661A (zh) * 2020-08-31 2021-01-05 武汉市果壳璐网络科技有限公司 区块链共识方法、装置、存储介质及设备
GB2601328A (en) * 2020-11-25 2022-06-01 Cambridge Cryptographic Ltd Blockchain
CN112801791B (zh) * 2021-01-29 2023-06-16 武汉大学 一种基于授权的区块链共识方法及系统
CN114238492A (zh) * 2021-07-15 2022-03-25 南京航空航天大学 一种基于区块链的非可信节点合作系统与方法
CN113821536B (zh) * 2021-11-23 2022-03-18 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN115396443A (zh) 2022-11-25

Similar Documents

Publication Publication Date Title
US10083308B2 (en) Methods and apparatus for efficient computation of one-way chains in cryptographic applications
RU2325693C2 (ru) Способы аутентификации потенциальных членов, приглашенных присоединиться к группе
US7620824B2 (en) Data communicating apparatus, data communicating method, and program
Focardi et al. Non interference for the analysis of cryptographic protocols
JP2022033913A (ja) ブロックチェーンにより実装される方法及びシステム
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
CN107948183B (zh) 一种适用于物联网的密钥分配方法及系统
CN113301022B (zh) 基于区块链和雾计算的物联网设备身份安全认证方法
CN111107066A (zh) 敏感数据的传输方法和系统、电子设备、存储介质
CN109981562B (zh) 一种软件开发工具包授权方法及装置
CN111211911B (zh) 一种协同签名方法、装置、设备及系统
CN114157415A (zh) 数据处理方法、计算节点、系统、计算机设备和存储介质
CN112491843A (zh) 一种数据库多重认证方法、系统、终端及存储介质
KR20210054146A (ko) 발행인 익명성 인증서 시스템을 위한 분산화된 그룹 서명 방법
CN115396443B (zh) 基于时间因子的联盟链共识方法、装置、设备及存储介质
CN117478302B (zh) 基于区块链隐私节点身份验证方法及装置
CN116506134B (zh) 数字证书管理方法、装置、设备、系统及可读存储介质
JPH10171759A (ja) 商品またはサービスを分配するネットワークにおいて情報を多様化するシステム
CN109005187A (zh) 一种通信信息保护方法及装置
US11240661B2 (en) Secure simultaneous authentication of equals anti-clogging mechanism
CN117176434A (zh) 一种基于智能合约可验证密文计算系统及方法
CN116797227A (zh) 基于同态加密的客户隐私信息安全交换保护方法及系统
CN111277414A (zh) 基于rsa算法和智能合约的分布式公钥生成方法及装置
CN111245594A (zh) 一种基于同态运算的协同签名方法及系统
CN111651740B (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
CB03 Change of inventor or designer information

Inventor after: Li Xiaofeng

Inventor after: Fang Shiyu

Inventor after: Xu Jinlin

Inventor after: Zhao He

Inventor before: Li Xiaofeng

Inventor before: Xu Jinlin

Inventor before: Zhao He

CB03 Change of inventor or designer information