CN113489681A - 区块链节点数据一致性共识方法、装置、设备及存储介质 - Google Patents

区块链节点数据一致性共识方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113489681A
CN113489681A CN202110635768.6A CN202110635768A CN113489681A CN 113489681 A CN113489681 A CN 113489681A CN 202110635768 A CN202110635768 A CN 202110635768A CN 113489681 A CN113489681 A CN 113489681A
Authority
CN
China
Prior art keywords
node
nodes
block
consensus
transaction
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.)
Granted
Application number
CN202110635768.6A
Other languages
English (en)
Other versions
CN113489681B (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.)
Hunan University
Original Assignee
Hunan University
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 Hunan University filed Critical Hunan University
Priority to CN202110635768.6A priority Critical patent/CN113489681B/zh
Publication of CN113489681A publication Critical patent/CN113489681A/zh
Application granted granted Critical
Publication of CN113489681B publication Critical patent/CN113489681B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • H04L2209/463Electronic voting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种区块链节点数据一致性共识方法、装置、设备及存储介质,所述方法包括步骤:S2、从区块链网络的节点中选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;S3、从共识节点中随机选取一个节点作为主节点,其余共识节点作为普通共识节点;S4、主节点接收客户端发送的交易并生成有序的交易序列;S5、主节点将交易序列中的交易打包生成区块发送给普通共识节点;S6、所述普通共识节点对区块内的交易进行第一次验证和上链资格投票,当超过50%的普通共识节点投票时,对验证通过的区块进行签名;S7、主节点将签名后的区块广播给区块内与交易相关的普通节点进行第二次验证并更新各节点本地账本,完成区块上链。

Description

区块链节点数据一致性共识方法、装置、设备及存储介质
技术领域
本申请涉及区块链技术领域,特别地,涉及一种区块链节点数据一致性共识方法、装置、设备及存储介质。
背景技术
区块链技术作为一种分布式账本技术,是由多方共同维护,综合使用分布式账本、链式数据结构、点对点传输、共识机制、密码学原理等融合的一项技术,具有去中心化、开放透明、数据不可篡改、可追溯、隐私保护及高度自治等重要特性,在众多领域中具有广泛的应用。
在区块链网络中,不同的参与者发起的交易必须按照产生的顺序被依次写入到账本中。如何在分布式场景下所有节点对同一个交易提案达成一致性,是区块链技术必须考虑且解决的重要问题。要实现这一目标,交易顺序必须被正确的建立,并且必须包含对交易被篡改或者恶意提交交易的处理方法。共识算法就是保证分布式系统一致性实现的解决方式,共识算法是计算机科学中用于在分布式过程或系统之间实现对单个数据值的一致性的过程。共识算法旨在解决分布式网络中多个不可靠节点的可靠性问题。
当前主流区块链共识算法包括工作量证明(PoW)、权益证明(PoS)、委托权益以证明(DPoS)、Raft共识算法、消逝时间证明(PoET)等,每种算法都有各自的优缺点,比如PoW算法本质上是需要矿工节点解决复杂的密码学难题,其优势在于寻找有效的哈希值很难,但验证哈希值是否正确很容易,确保了区块链的去中心化和公平性,但缺点在于该算法需要消耗非常多的能源,如果有人能够控制51%以上的算力,整个网络有可能会受到攻击。PoS算法要求节点证明拥有某些数量的代币,根据节点所拥有代币的币龄(代币数量×持有时间)来决定挖矿难度,这种共识算法无需消耗大量能源,但存在一定的安全性问题,共识效率较低。通过梳理现有技术,归纳其缺点如下:1.资源消耗大,对设备计算性能要求高;2.共识效率低,需全网验证交易合法性;3.存在安全性问题,容易受到51%攻击;4.忽视节点本身重要性属性,重要节点权益未得到有效保障,不利于区块链网络稳定以及激励节点持续发展。
发明内容
本申请一方面提供了一种区块链节点数据一致性共识方法,以解决现有共识算法资源消耗大、效率低、安全性低且重要节点权益难保障的技术问题。
一种区块链节点数据一致性共识方法,包括步骤:
S2、从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;
S3、从所述共识节点中随机选取一个节点作为主节点,用于接收客户端发送的交易,其余共识节点作为普通共识节点;
S4、主节点接收客户端发送的交易,对每个交易附加一个key值,并按key值对交易进行归并排序,生成有序的交易序列;
S5、所述主节点将所述交易序列中的交易按预设大小打包生成区块发送给所述普通共识节点;
S6、所述普通共识节点对区块内的交易进行第一次验证,并对验证通过的区块再发起上链资格投票,当超过50%的普通共识节点投票时,所述普通共识节点对验证通过的所述区块进行签名;
S7、所述主节点将签名后的区块广播给区块内与交易相关的普通节点进行第二次验证,若验证通过,则所述区块内与交易相关的普通节点更新本地账本,同时所述主节点通知未参与第二次验证的所述普通节点同步区块数据并更新本地账本,完成区块上链。
本申请另一方面提供了一种区块链节点数据一致性共识装置,包括:
共识节点选取模块,用于从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;
主节点选取模块,用于从所述共识节点中随机选取一个节点作为主节点,用于接收客户端发送的交易,其余共识节点作为普通共识节点;
交易序列生成模块,用于主节点接收客户端发送的交易,对每个交易附加一个key值,并按key值对交易进行归并排序,生成有序的交易序列;
区块发送模块,用于所述主节点将所述交易序列中的交易按预设大小打包生成区块发送给所述普通共识节点;
区块评判模块,用于所述普通共识节点对区块内的交易进行第一次验证,并对验证通过的区块再发起上链资格投票,当超过50%的普通共识节点投票时,所述普通共识节点对验证通过的所述区块进行签名;
区块同步模块,用于所述主节点将签名后的区块广播给区块内与交易相关的普通节点进行第二次验证,若验证通过,则所述区块内与交易相关的普通节点更新本地账本,同时所述主节点通知未参与第二次验证的所述普通节点同步区块数据并更新本地账本,完成区块上链。
本申请另一方面还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的区块链节点数据一致性共识方法。
本申请另一方面还提供了一种存储介质,所述存储介质包括存储的程序,在所述程序运行时控制所述存储介质所在的设备执行所述的区块链节点数据一致性共识方法。
相比现有技术,本申请具有以下有益效果:
本申请的区块链节点数据一致性共识方法、装置、设备及存储介质,首先从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;接着在共识节点中随机选取一节点作为主节点接收客户端发送的交易,其余节点作为普通共识节点;然后主节点则将接收的交易附key值排序后按设定大小打包并发送给普通共识节点;接着由普通共识节点对区块内的交易进行一次验证并投票后签名;最后由主节点将签名后的区块广播给与交易相关的普通节点进行第二次验证后进行各节点的数据更新。本申请根据节点自身具有的重要性来决定其是否有可能获得记账权,无需高能耗设备;本申请支持共识节点动态选举,且由主节点根据高效的归并排序算法解决交易排序问题,对区块的验证分两步,首先由共识节点投票区块是否具有上链资格,再由区块中与交易相关的节点进行验证,而非当前全网广播节点进行验证的方式,大幅提高了共识效率;本申请是基于节点重要性决定记账权,算力强弱并非决定节点重要性的主要因素,能够有效降低51%攻击等安全风险;本申请能够维护已有重要节点在区块链网络中优先获取记账权,同时也能够激励非重要节点的活跃程度向重要节点转变,从而有助于区块链网络的稳定和持续发展。
除了上面所描述的目的、特征和优点之外,本申请还有其它的目的、特征和优点。下面将参照附图,对本申请作进一步详细的说明。
附图说明
图1为本申请实施例的一种区块链节点数据一致性共识方法所适用的网络框架示意图。
图2为本申请实施例的一种区块链节点数据一致性共识方法的一种流程示意图。
图3为本申请实施例的一种区块链节点数据一致性共识方法的另一种流程示意图。
图4为本申请实施例的一种区块链节点数据一致性共识方法的另一种流程示意图。
图5为本申请实施例的一种区块链节点数据一致性共识方法的另一种流程示意图。
图6为本申请实施例的一种区块链节点数据一致性共识方法的另一种流程示意图。
图7为本申请实施例的一种区块链节点数据一致性共识装置的一种模块组成示意图。
图8为本申请实施例的一种区块链节点数据一致性共识装置的另一种模块组成示意图。
图9是本申请优选实施例的电子设备实体示意框图。
图10是本申请优选实施例的计算机设备的内部结构图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了便于理解,先对区块链节点数据一致性共识方法中涉及到的技术术语进行解释说明。
区块链技术可以保证数据安全、不可篡改以及透明性,其核心技术包括智能合约、非对称加密技术、共识算法等。其中,智能合约本质上是一段用某种计算机编程语言编写的程序,这段程序存放在区块链系统提供的容器中,当在某种外在或内在条件的触发下自动运行。对应到真实世界中,智能合约是将现实世界中的规则利用计算机语言实现,保证在达到某种条件下机器自动执行预定的智能合约计算,规则一旦固定则不能被篡改。非对称加密技术在加密和解密过程中使用的密钥是不相同的,分为公钥和私钥。当用公钥对数据加密,只有用对应的私钥才能解密,当用私钥对数据加密,则只有用对应的公钥才能解密,目前经常用到的非对称加密算法有RSA算法和椭圆曲线算法(ECSDA)。Hash算法能够将任意长度的二进制明文字符串映射为较短的固定长度的二进制串(Hash值),不同的明文很难映射为相同的Hash值。Hash算法能实现的功能包括:正向快速、逆向困难、输入敏感、冲突避免。因此,Hash算法也被称为指纹(fingerprint)或摘要(digest)。
共识算法是区块链中节点保持区块数据一致、准确的基础。在区块链公有链中,工作量证明共识机制(POW)算力决定记账权,按照算力占有总算力的百分比来决定获得该次记账权的概率。节点需要不断消耗算力工作,进行哈希计算,以找到期望的随机数。权益证明共识机制(POS)由持币数以及持有的时间来决定记账权。持有币数及持有的时间占系统总量的百分比,决定获得该次记账权的概率。委托权益证明共识机制(DPOS)是一种基于投票选举的共识算法,类似于代议制民主。在POS的基础上,DPOS先选举若干代理人,由代理人验证和记账,代理人之间轮流出块。在区块链联盟链中,以Hyperledger Fabric的共识机制为代表,包括Raft、Kafka等共识算法。Hyperledger Fabric的共识机制必须满足安全性和活跃性两个属性,以保证节点之间的数据一致性。其中,安全性表示每个节点保证相同的输入序列,并在每个节点上产生相同的输出结果。当节点收到相同的一系列交易时,每个节点上将发生相同的状态更改。
区块链可以看做一个由多个节点构成的复杂网络,在复杂网络中,节点之间的重要性是不同的,重要节点往往比其他节点能更大程度地影响网络的结构和功能。因此,如何衡量节点的重要性是一个难点,这也是本申请的创新点之一。在本申请中,节点重要性的衡量需要考虑节点的基本属性及区块链网络的拓扑结构,涉及到的技术概念包括:度中心、接近中心、介数中心、网络位置、K-shell分解法、相对熵、忠诚度等,术语解释如下:
度中心是指网络中与该节点直接连接的节点数(邻居节点),表示节点的局部连通性;
接近中心是指节点vi到节点vj的最短路径之和,表示节点靠近网络中心的程度;
介数中心由经过节点vi的最短路径除以不同节点之间所有最短路径,体现了节点作为信息传播中介的属性;
网络位置表示在具有层次结构的网络中节点的位置,节点在区块链网络中的网络位置可以通过K-shell分解法获得;
K-shell分解法认为节点的重要性依赖于该节点在整个网络中的位置,可以通过递归地移除网络中所有度值小于或等于k(k=1,2,…)的节点来解释网络结构的特征,其基本思想是假设边缘节点的K-shell值(Ks值)为1,然后往内一层层地进入网络的核心,先去除网络中度值等于1的所有节点及其连边,即认为这些去除的节点均处于Ks值为1的网络层,之后再依次去除度值小于或等于k(k=2,3,…)的节点及其连边,直到所有的节点都有对应的Ks值为止,从而完成网络分解,节点分布在不同Ks值的网络层中。
相对熵也被称为Kullback-Leibler散度,常用于衡量相同事件空间里的两个概率分布的差异情况。在信息论中,常用相对熵公式来计算两个系统S1和S2状态之间的差异程度D,其中D值越小,说明这两个系统的状态差别越小。
忠诚度用来衡量区块链复杂网络中节点的可靠性,数值上等于节点vi在网络中的在线时长除以该节点加入网络的总时长。忠诚度值越接近1,表示节点忠诚度越高。
上述技术概念用来衡量区块链网络中节点的重要性,除此之外,节点对接收到的交易进行排序还依赖于排序算法,本申请使用的排序算法为归并排序算法,该算法是建立在归并操作上的一种有效的排序算法,采用了分治(Divide and Conquer)思想,其排序逻辑为:
1)申请空间使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;
2)设定两个指针,最初位置分别为两个已经排序序列的起始位置;
3)比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;
4)重复步骤3直到某一指针达到序列尾;
5)将另一序列剩下的所有元素直接复制到合并序列尾。通过上述递归方式,归并排序能够高效地实现排序,相比大多数排序算法O(n2)的时间复杂度,归并排序的时间复杂度O(nlogn)明显较小,但代价是需要额外的内存空间。
为了便于理解,先对本申请的信息处理方法对应的方案所适用的硬件网络框架进行介绍。可以参见图1,其中,图1其示出了本申请一种区块链节点数据一致性共识方法所适用的网络框架示意图。
由图1可知,区块链节点数据一致性共识方法所适用的网络框架包括区块链网络,所述区块链网络包括有主节点、共识节点、普通节点,其中,共识节点时从区块链网络的节点中按预设占比选取重要性靠前的若干节点,除共识节点之外的其他节点为普通节点;所述主节点是从所述共识节点中随机选取的一个节点,除主节点之外的其余的共识节点则为普通共识节点,主节点用于接收客户端发送的交易,并可以将接收的交易归并排序后按照设定的区块大小(一个区块最大容纳的交易笔数)从上述有序序列中选择交易并打包成区块分发给普通共识节点。
如图2所示,基于上述框架,本申请的优选实施例提供了一种区块链节点数据一致性共识方法,包括步骤:
S2、从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;
区块链可以看作一个由多个节点构成的复杂网络,在复杂网络中,节点之间的重要性是不同的,重要节点往往比其他节点能更大程度地影响网络的结构和功能,因此,本实施例选取若干重要性靠前的节点作为共识节点,即根据节点自身具有的重要性来决定其是否有可能获得记账权,无需高能耗设备(比如专业矿机)进行挖矿,解决了现有共识算法高能耗的问题。
S3、从所述共识节点中随机选取一个节点作为主节点,用于接收客户端发送的交易,其余共识节点作为普通共识节点;
本步骤共识节点中随机选取一个节点作为主节点来接收客户端发送的交易信息,由于所选的共识节点的重要性靠前,而主节点又是来自共识节点,从而实现由重要性较高的主节点获得记账权,从而使重要节点的权益得到有效保障,确保了区块链的去中心化和公平性。
S4、主节点接收客户端发送的交易,对每个交易附加一个key值,并按key值对交易进行归并排序,生成有序的交易序列;
主节点获取一定时间范围内的交易后,按每个交易的key值进行高效的归并排序,以实现交易数据的一致性。
S5、所述主节点将所述交易序列中的交易按预设大小打包生成区块发送给所述普通共识节点,一个区块最大容纳的交易笔数即为区块大小,如一个区块最多包含500笔交易信息;
S6、所述普通共识节点对区块内的交易进行第一次验证,并对验证通过的区块再发起上链资格投票,当超过50%的普通共识节点投票时,所述普通共识节点对验证通过的所述区块进行签名;
S7、所述主节点将签名后的区块广播给区块内与交易相关的普通节点进行第二次验证,若验证通过,则所述区块内与交易相关的普通节点更新本地账本,同时所述主节点通知未参与第二次验证的所述普通节点同步区块数据并更新本地账本,完成区块上链。
为确保共识效率,结合交易实际场景,本实施例中主节点将区块分发给普通节点进行第2次验证时,仅选择区块内交易相关的节点分发区块。若这些节点成功验证区块,则更新本地账本,此时区块链网络中未收到区块的普通节点再从主节点同步区块数据,完成整个区块链网络中的数据同步过程。即对区块的验证分两步,首先通过共识节点一次验证区块中交易的合法性、投票决定区块是否具有上链资格;接着对拥有上链资格的所述区块,所述主节点仅将签名后的区块广播给区块中与交易相关的普通节点进行二次验证,而非采用当前全网广播的方式广播给所有普通节点进行二次验证的方式,大大提高了广播和验证效率,解决了共识效率低的问题。
本实施例提供了一种区块链节点数据一致性共识方法,首先从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;接着在共识节点中随机选取一节点作为主节点接收客户端发送的交易,其余节点作为普通共识节点;然后主节点则将接收的交易附key值排序后按设定大小打包并发送给普通共识节点;接着由普通共识节点对区块内的交易进行一次验证并投票后签名;最后由主节点将签名后的区块广播给与交易相关的普通节点进行第二次验证后进行各节点的数据更新。本实施例根据节点自身具有的重要性来决定其是否有可能获得记账权,无需高能耗设备;本实施例支持共识节点动态选举,且由主节点根据高效的归并排序算法解决交易排序问题,对区块的验证分两步,首先由共识节点投票区块是否具有上链资格,再由区块中与交易相关的节点进行验证,而非当前全网广播节点进行验证的方式,大幅提高了共识效率;本实施例是基于节点重要性决定记账权,算力强弱并非决定节点重要性的主要因素,能够有效降低51%攻击等安全风险;本实施例能够维护已有重要节点在区块链网络中优先获取记账权,同时也能够激励非重要节点的活跃程度向重要节点转变,从而有助于区块链网络的稳定和持续发展。
如图3所示,本申请的优选实施例中,所述步骤S2具体包括步骤:
S21、根据节点的基本属性特征计算区块链网络中各节点的重要性值;
S22、根据所述重要性值从大到小的顺序将各节点进行排序,生成节点的重要性排序序列;
S23、从所述重要性排序序列中选取重要性在前5%的若干节点作为共识节点,其余节点作为普通节点。
本实施例是根据节点的基本属性特征较为客观公正的计算区块链网络中各节点的重要性值,因此,既能维护已有重要节点的权益,又能激励非重要节点向重要节点转变,在一定程度上解决了区块链激励问题;另外,在对各节点进行重要性排序后,本实施例仅选取重要性在前5%的若干节点作为共识节点,只选取少量重要性靠前的若干节点作为共识节点的好处是在确保共识节点不发生单点故障的情况下,具有较高的共识效率。
本申请的优选实施例中,所述步骤S21具体包括步骤:
S211、定义特征向量:Qi=[qi1,qi2,qi3,qi4,qi5]=[DCi,CCi,BCi,NLi,RLi],
其中:
DCi为节点vi的度中心,表示与节点vi直接连接的节点数di,且:
DCi=di
CCi为节点vi的接近中心,表示节点vi靠近网络中心的程度,且:
Figure BDA0003105626220000121
其中,N为节点数,lij是节点vi到节点vj的最短路径长度,
BCi为节点vi的介数中心,表示节点vi作为信息传播中介的属性,且:
Figure BDA0003105626220000122
其中,kjr为从节点vj到节点vr的所有最短路径之和,kjr(i)为kjr中经过节点vi的所有最短路径之和,
NLi为节点vi的网络位置,表示节点vi在区块链网络中所处的层次,所述网络位置由K-shell分解法求得:首先对网络中度值最小的所有节点,令其NL1=1,之后将这些节点移除,导出剩余节点构成的子图1,再找出子图1中最小度值的所有节点,令其NL2=NL1+1,再移除这些节点,导出剩余节点构成的子图2,再计算子图2中NL3,依次递归,直到剩余节点度值为0,得出所有节点的网络位置,
RLi为节点vi的忠诚度,表示节点vi在区块链网络中的可靠性,且:
Figure BDA0003105626220000131
其中,Online-timei为节点vi在区块链网络中的在线总时长,Timei为节点vi在区块链网络中的总时长,RLi越接近1,表示节点忠诚度越高;
S212、由于各指标之间的量纲不一致,为便于比较,因此定义节点vi的重要性评价向量Si=[si1,si2,si3,si4,si5]为所述特征向量Qi的加权,其中:
Figure BDA0003105626220000132
其中,i∈[1,N],j∈[1,5];
S213、为了便于计算节点重要性,若区块链网络中存在最重要的虚拟节点vmost和最不重要的虚拟节点vleast,设虚拟节点vmost的重要性评价向量分别为:
Smost=[s1 most,s2 most,s3 most,s4 most,s5 most]
设虚拟节点vleast的重要性评价向量分别为:
Sleast=[s1 least,s2 least,s3 least,s4 least,s5 least]
其中,sj most是节点在第j个属性上的最优取值,sj least是节点在第j个属性上的最差取值,j∈[1,5];
S214、将所述虚拟节点vmost和虚拟节点vleast作为参考点,根据相对熵计算方式,计算出每个节点的重要性值,从而完成节点重要性衡量。
在区块链网络中,节点重要性可根据节点的基本属性特征进行衡量,本实施例选择节点的度中心、接近中心、介数中心、网络位置、忠诚度这5个数据指标对节点重要性进行综合评价,既能客观公正的计算区块链网络中各节点的重要性值,维护已有重要节点在区块链网络中优先获取记账权,同时也能够激励非重要节点的活跃程度向重要节点转变。由本实施例的节点重要性计算过程可知:节点的度中心、接近中心、介数中心、网络位置、忠诚度是计算节点重要性的5个参数,重要性值越大的节点,这个5个参数值也越大,而对于非重要节点而言,想要转变为重要节点则需要想办法提升上述5个参数值,比如非重要节点要提升度中心,该节点就需要主动与更多未连接过的节点建立连接(比如发送交易);要提升忠诚度,则该节点只需保持长时间在线即可。因此,节点重要性公式中各个参数的设置,能够让非重要节点主动去提升相应参数值,进而提升自身重要性,起到激励作用,有助于区块链网络的稳定和持续发展。
本申请的优选实施例中,所述步骤S214具体包括步骤:
S2141、根据相对熵公式,计算节点vi到虚拟节点vmost和vleast的差异量化:
Figure BDA0003105626220000151
Figure BDA0003105626220000152
其中,i∈[1,N],j∈[1,5];
S2142、根据f(x)=logx是凸函数的特性,得到如下不等式:
Figure BDA0003105626220000153
由上式可得
Figure BDA0003105626220000154
Figure BDA0003105626220000155
时,即
Figure BDA0003105626220000156
时,上述不等式
Figure BDA0003105626220000157
同理可得
Figure BDA0003105626220000158
Figure BDA0003105626220000159
时,
Figure BDA00031056262200001510
S2143、以虚拟节点vmost和虚拟节点vleast作为网络中的参考点,节点vi的重要性值Ii most为:
Figure BDA00031056262200001511
其中,0≤Ii most≤1,且Ii most值越大,节点vi重要性越强。
由此,即可计算出区块链网络中每个节点具体的重要性值,再从由大到小的顺序进行排序,从而得到节点重要性的有序序列。
本申请从上述节点重要性有序序列中,取前5%的节点作为共识节点,再从这批共识节点中随机抽取一个节点作为主节点,因此共识节点包括两类:主节点、普通共识节点。主节点负责接收交易信息、对交易进行附key值并一致性排序、将交易打包成区块、将区块分发给普通共识节点、分发区块给区块中与交易相关节点进行验证。普通共识节点负责验证区块中交易的合法性、投票决定区块是否具有上链资格。
如图4所示,本申请的优选实施例中,步骤S4中所述主节点接收客户端发送的交易,对每个交易附加一个key值,具体包括步骤:
S41、所述主节点接收客户端发送的交易;
S42、计算每个交易i的key值:
Figure BDA0003105626220000161
其中,
Figure BDA0003105626220000162
keyi为交易i的key值,timestampi为交易i的时间戳,Ii most为交易i来源节点的重要性值,每次计算keyi时,
Figure BDA0003105626220000163
都从(0,1)之间随机生成。
本实施例中,每个交易i的key值都有随机数、源节点的重要性值、交易i的时间戳等特征属性共同确定,从而使key值不仅仅具有唯一性、客观性和随机性,而且还确保了key值与交易i本身及来源节点的关联性,使key值能够一定程度上反映出与之对应的交易i的特性。
如图5所示,本申请的优选实施例中,步骤S4中所述主节点接收客户端发送的交易之前,还包括步骤:
S31、判断选取的主节点是否在任期内,若是,则进入步骤S32,若否,则返回步骤S3,其中,所述主节点的任期定义为:所述主节点每打包生成设定数量的区块时为一个任期;
S32、判断选取的共识节点是否在任期内,若是,则进入步骤S4,若否,则返回步骤S2,其中,所述共识节点的任期定义为:当共识节点中超过设定比例的节点担任过主节点时则为一个任期。
本实施例为了进一步确保区块链网络的公平性,主节点和共识节点均设有任期,如主节点每产生10个区块(具体区块数量可根据业务需求进行修改)为一个任期,任期届满则需在共识节点中重新随机抽取一个节点作为主节点。而共识节点中超过50%(该比例可根据业务需求进行修改)的节点担任过主节点为一个任期,此时整个区块链网络需重新计算节点重要性,再重新选出重要性排前5%的节点作为新的共识节点,从而产生新的主节点。本实施例之所以为主节点和共识节点均设有任期,是为了确保区块链网络的公平性,如前述实施例中对各节点的重要性值计算过程可知,区块链中各个节点在运行过程中,各节点的度中心、接近中心、介数中心、网络位置、忠诚度这5个计算节点重要性的参数会不断发生变化,最终导致各个节点的重要性发生相应的变化,如对于一些比较活跃的节点,其重要性会一段时间后会提升,而对于一些不太活跃的节点,其重要性会一段时间后会下降,若此时依然将重要性下降的若干节点作为共识节点的话,则对其他重要性提升的节点有失公平,从而无法保证重要节点在区块链网络中优先获取记账权的权益,本实施例通过设置任期来动态的更新各个节点的重要性,从而能够保证在各个节点的重要性不断发生变化的情况下,尽可能地根据节点自身具有的重要性来决定其是否有可能获得记账权,无需高能耗设备(比如专业矿机)进行挖矿,解决算法高能耗问题,也就是说,由于各个节点的重要性计算参数会发生变化,此时需要定期重新计算各个节点的重要性值,并根据重新根据计算的重要性值选取共识结点,从共识节点中重新选取主节点,确保区块链始终根据各节点自身具有的重要性来决定是否获得记账权,以此来维护区块链网络的公平性。
如图6所示,本申请的优选实施例中,所述区块链节点数据一致性共识方法还包括步骤:
S1、初始化区块链系统配置参数,包括共识节点在所有节点中的选取占比(如默认5%)、所述共识节点任期(如默认50%共识节点担任过主节点为一个任期)、所述主节点任期(如默认产生20个区块一个任期)、区块大小(如默认一个区块最多包含500笔交易信息)。
通过执行上述实施例的区块链节点数据一致性共识方法,能够在确保区块链交易安全的前提下,高效地完成交易的共识过程,具有效率高、可扩展性好、能耗小及网络稳定性强等优势。
另一方面,本申请还提供了一种区块链节点数据一致性共识装置,参见图7,其示出了一种区块链节点数据一致性共识装置一个实施例的组成结构示意图,该装置包括:
共识节点选取模块,用于从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;
主节点选取模块,用于从所述共识节点中随机选取一个节点作为主节点,用于接收客户端发送的交易,其余共识节点作为普通共识节点;
交易序列生成模块,用于主节点接收客户端发送的交易,对每个交易附加一个key值,并按key值对交易进行归并排序,生成有序的交易序列;
区块发送模块,用于所述主节点将所述交易序列中的交易按预设大小打包生成区块发送给所述普通共识节点;
区块评判模块,用于所述普通共识节点对区块内的交易进行第一次验证,并对验证通过的区块再发起上链资格投票,当超过50%的普通共识节点投票时,所述普通共识节点对验证通过的所述区块进行签名;
区块同步模块,用于所述主节点将签名后的区块广播给区块内与交易相关的普通节点进行第二次验证,若验证通过,则所述区块内与交易相关的普通节点更新本地账本,同时所述主节点通知未参与第二次验证的所述普通节点同步区块数据并更新本地账本,完成区块上链。
可选地,如图8所示,所述区块链节点数据一致性共识装置还包括:
初始化模块,用于初始化区块链系统配置参数,包括共识节点在所有节点中的选取占比、所述共识节点任期、所述主节点任期、区块大小。
可选地,所述共识节点选取模块包括:
重要性值计算单元,计算区块链网络中各节点的重要性值;
节点排序单元,根据所述重要性值从大到小的顺序将各节点进行排序,生成节点的重要性排序序列;
共识节点选取单元,从所述重要性排序序列中选取重要性在前5%~10%的若干节点作为共识节点,其余节点作为普通节点。
可选地,所述重要性值计算单元包括:
特征向量定义单元,用于定义特征向量:
Qi=[qi1,qi2,qi3,qi4,qi5]=[DCi,CCi,BCi,NLi,RLi],
其中:
DCi为节点vi的度中心,表示与节点vi直接连接的节点数di,且:
DCi=di
CCi为节点vi的接近中心,表示节点vi靠近网络中心的程度,且:
Figure BDA0003105626220000191
其中,N为节点数,lij是节点vi到节点vj的最短路径长度,
BCi为节点vi的介数中心,表示节点vi作为信息传播中介的属性,且:
Figure BDA0003105626220000192
其中,kjr为从节点vj到节点vr的所有最短路径之和,kjr(i)为kjr中经过节点vi的所有最短路径之和,
NLi为节点vi的网络位置,表示节点vi在区块链网络中所处的层次,
RLi为节点vi的忠诚度,表示节点vi在区块链网络中的可靠性,且:
Figure BDA0003105626220000201
其中,Online-timei为节点vi在区块链网络中的在线总时长,Timei为节点vi在区块链网络中的总时长,RLi越接近1,表示节点忠诚度越高;
评价向量定义单元,用于定义节点vi的重要性评价向量Si=[si1,si2,si3,si4,si5]为所述特征向量Qi的加权,其中:
Figure BDA0003105626220000202
参考点评价向量定义单元,用于若区块链网络中存在最重要的虚拟节点vmost和最不重要的虚拟节点vleast,设虚拟节点vmost的重要性评价向量分别为:
Smost=[s1 most,s2 most,s3 most,s4 most,s5 most],
设虚拟节点vleast的重要性评价向量分别为:
Sleast=[s1 least,s2 least,s3 least,s4 least,s5 least],
其中,sj most是节点在第j个属性上的最优取值,sj least是节点在第j个属性上的最差取值,j∈[1,5];
相对熵计算单元,用于将所述虚拟节点vmost和虚拟节点vleast作为参考点,根据相对熵计算方式,计算出每个节点的重要性值。
可选地,所述相对熵计算单元包括:
差异量化计算单元,用于根据相对熵公式,计算节点vi到虚拟节点vmost和vleast的差异量化:
Figure BDA0003105626220000211
Figure BDA0003105626220000212
其中,i∈[1,N],j∈[1,5];
不等式计算单元,用于根据f(x)=logx是凸函数的特性,得到如下不等式:
Figure BDA0003105626220000213
由上式可得
Figure BDA0003105626220000214
Figure BDA0003105626220000215
时,即
Figure BDA0003105626220000216
时,上述不等式
Figure BDA0003105626220000217
同理可得
Figure BDA0003105626220000218
Figure BDA0003105626220000219
时,
Figure BDA00031056262200002110
节点重要性计算单元,以虚拟节点vmost和虚拟节点vleast作为网络中的参考点,节点vi的重要性值Ii most为:
Figure BDA00031056262200002111
其中,0≤Ii most≤1,且Ii most值越大,节点vi重要性越强。
可选地,所述交易序列生成模块包括:
交易接收单元,用于所述主节点接收客户端发送的交易;
key值计算单元,用于计算每个交易i的key值:
Figure BDA00031056262200002112
其中,
Figure BDA0003105626220000221
keyi为交易i的key值,timestampi为交易i的时间戳,Ii most为交易i来源节点的重要性值,每次计算keyi时,
Figure BDA0003105626220000222
都从(0,1)之间随机生成。
可选地,所述交易序列生成模块还包括:
主节点任期判断单元,用于判断选取的主节点是否在任期内,若是,则进入步骤S32,若否,则返回步骤S3,其中,所述主节点的任期定义为:所述主节点每打包生成设定数量的区块时为一个任期;
共识节点任期判断单元,用于判断选取的共识节点是否在任期内,若是,则进入步骤S4,若否,则返回步骤S2,其中,所述共识节点的任期定义为:当共识节点中超过设定比例的节点担任过主节点时则为一个任期。
本实施例的区块链节点数据一致性共识装置,首先从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;接着在共识节点中随机选取一节点作为主节点接收客户端发送的交易,其余节点作为普通共识节点;然后主节点则将接收的交易附key值排序后按设定大小打包并发送给普通共识节点;接着由普通共识节点对区块内的交易进行一次验证并投票后签名;最后由主节点将签名后的区块广播给与交易相关的普通节点进行第二次验证后进行各节点的数据更新。本实施例根据节点自身具有的重要性来决定其是否有可能获得记账权,无需高能耗设备;本实施例支持共识节点动态选举,且由主节点根据高效的归并排序算法解决交易排序问题,对区块的验证分两步,首先由共识节点投票区块是否具有上链资格,再由区块中与交易相关的节点进行验证,而非当前全网广播节点进行验证的方式,大幅提高了共识效率;本实施例是基于节点重要性决定记账权,算力强弱并非决定节点重要性的主要因素,能够有效降低51%攻击等安全风险;本实施例能够维护已有重要节点在区块链网络中优先获取记账权,同时也能够激励非重要节点的活跃程度向重要节点转变,从而有助于区块链网络的稳定和持续发展。
如图9所示,本申请的优选实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中的区块链节点数据一致性共识方法。
如图10所示,本申请的优选实施例还提供了一种计算机设备,该计算机设备可以是终端或活体检测服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力,可以为中央处理器(Central Processing Unit,CPU),特定应用集成电路,数字信号处理器、现成可编程门阵列或者其他可编程逻辑器件等。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的其他计算机设备通过网络连接通信。该计算机程序被处理器执行时以实现上述区块链节点数据一致性共识方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本实施例方案相关的部分结构的框图,并不构成对本实施例方案所应用于其上的计算机设备的限定,可以包括比图中所示更多或更少的设备,或者组合某些设备,或者具有不同的设备布置。
本申请的优选实施例还提供了一种存储介质,所述存储介质包括存储的程序,在所述程序运行时控制所述存储介质所在的设备执行上述实施例中的区块链节点数据一致性共识方法。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
综上所述,本申请在一定程度上解决了当前共识算法高能耗、效率低、安全性差的问题,并结合区块链技术的实际应用需求,创新性地将节点重要性作为重要因素考虑进区块链共识方法,让共识方法的优化更贴近实际场景,为共识方法的优化提供了更多的思路。另外,本申请提出的共识方法除了具有的低能耗、高效率等优势外,由于方法本身既能维护已有重要节点的权益,又能激励非重要节点向重要节点转变,在一定程度上解决了区块链激励问题,对区块链公有链和联盟链都可适用,这些优势都有助于本共识方法应用于实际业务中的。
本实施例方法所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个或者多个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory),磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,对于本领域的技术人员来说,本申请可有各种更改和变化。凡在本申请的精神和原则之内所作的任何修改,均应包含在本申请的保护范围之内。

Claims (10)

1.一种区块链节点数据一致性共识方法,其特征在于,包括步骤:
S2、从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;
S3、从所述共识节点中随机选取一个节点作为主节点,用于接收客户端发送的交易,其余共识节点作为普通共识节点;
S4、主节点接收客户端发送的交易,对每个交易附加一个key值,并按key值对交易进行归并排序,生成有序的交易序列;
S5、所述主节点将所述交易序列中的交易按预设大小打包生成区块发送给所述普通共识节点;
S6、所述普通共识节点对区块内的交易进行第一次验证,并对验证通过的区块再发起上链资格投票,当超过50%的普通共识节点投票时,所述普通共识节点对验证通过的所述区块进行签名;
S7、所述主节点将签名后的区块广播给区块内与交易相关的普通节点进行第二次验证,若验证通过,则所述区块内与交易相关的普通节点更新本地账本,同时所述主节点通知未参与第二次验证的所述普通节点同步区块数据并更新本地账本,完成区块上链。
2.根据权利要求1所述的区块链节点数据一致性共识方法,其特征在于,所述步骤S2具体包括步骤:
S21、根据节点的基本属性特征计算区块链网络中各节点的重要性值;
S22、根据所述重要性值从大到小的顺序将各节点进行排序,生成节点的重要性排序序列;
S23、从所述重要性排序序列中选取重要性在前5%~10%的若干节点作为共识节点,其余节点作为普通节点。
3.根据权利要求2所述的区块链节点数据一致性共识方法,其特征在于,所述步骤S21具体包括步骤:
S211、定义特征向量Qi=[qi1,qi2,qi3,qi4,qi5]=[DCi,CCi,BCi,NLi,RLi],
其中:
DCi为节点vi的度中心,表示与节点vi直接连接的节点数di,且:
DCi=di
CCi为节点vi的接近中心,表示节点vi靠近网络中心的程度,且:
Figure FDA0003105626210000021
其中,N为节点数,lij是节点vi到节点vj的最短路径长度,
BCi为节点vi的介数中心,表示节点vi作为信息传播中介的属性,且:
Figure FDA0003105626210000022
其中,kjr为从节点vj到节点vr的所有最短路径之和,kjr(i)为kjr中经过节点vi的所有最短路径之和,
NLi为节点vi的网络位置,表示节点vi在区块链网络中所处的层次,
RLi为节点vi的忠诚度,表示节点vi在区块链网络中的可靠性,且:
Figure FDA0003105626210000023
其中,Online-timei为节点vi在区块链网络中的在线总时长,Timei为节点vi在区块链网络中的总时长,RLi越接近1,表示节点忠诚度越高;
S212、定义节点vi的重要性评价向量Si=[si1,si2,si3,si4,si5]为所述特征向量Qi的加权,其中:
Figure FDA0003105626210000031
其中,i∈[1,N],j∈[1,5];
S213、若区块链网络中存在最重要的虚拟节点vmost和最不重要的虚拟节点vleast,设虚拟节点vmost的重要性评价向量分别为:
Smost=[s1 most,s2 most,s3 most,s4 most,s5 most],
设虚拟节点vleast的重要性评价向量分别为:
Sleast=[s1 least,s2 least,s3 least,s4 least,s5 least],
其中,sj most是节点在第j个属性上的最优取值,sj least是节点在第j个属性上的最差取值,j∈[1,5];
S214、将所述虚拟节点vmost和虚拟节点vleast作为参考点,根据相对熵计算方式,计算出每个节点的重要性值。
4.根据权利要求3所述的区块链节点数据一致性共识方法,其特征在于,所述步骤S214具体包括步骤:
S2141、根据相对熵公式,计算节点vi到虚拟节点vmost和vleast的差异量化:
Figure FDA0003105626210000032
Figure FDA0003105626210000033
其中,i∈[1,N],j∈[1,5];
S2142、根据f(x)=logx是凸函数的特性,得到如下不等式:
Figure FDA0003105626210000034
由上式可得
Figure FDA0003105626210000041
Figure FDA0003105626210000042
时,即
Figure FDA0003105626210000043
时,上述不等式
Figure FDA0003105626210000044
同理可得
Figure FDA0003105626210000045
Figure FDA0003105626210000046
时,
Figure FDA0003105626210000047
S2143、以虚拟节点vmost和虚拟节点vleast作为网络中的参考点,节点vi的重要性值Ii most为:
Figure FDA0003105626210000048
其中,0≤Ii most≤1,且Ii most值越大,节点vi重要性越强。
5.根据权利要求4中所述的区块链节点数据一致性共识方法,其特征在于,步骤S4中,所述主节点接收客户端发送的交易,对每个交易附加一个key值,具体包括步骤:
S41、所述主节点接收客户端发送的交易;
S42、计算每个交易i的key值:
Figure FDA0003105626210000049
其中,
Figure FDA00031056262100000410
keyi为交易i的key值,timestampi为交易i的时间戳,Ii most为交易i来源节点的重要性值,每次计算keyi时,
Figure FDA00031056262100000411
都从(0,1)之间随机生成。
6.根据权利要求1所述的区块链节点数据一致性共识方法,其特征在于,步骤S4中所述主节点接收客户端发送的交易之前,还包括步骤:
S31、判断选取的主节点是否在任期内,若是,则进入步骤S32,若否,则返回步骤S3,其中,所述主节点的任期定义为:所述主节点每打包生成设定数量的区块时为一个任期;
S32、判断选取的共识节点是否在任期内,若是,则进入步骤S4,若否,则返回步骤S2,其中,所述共识节点的任期定义为:当共识节点中超过设定比例的节点担任过主节点时则为一个任期。
7.根据权利要求1至6中任一项所述的区块链节点数据一致性共识方法,其特征在于,还包括步骤:
S1、初始化区块链系统配置参数,包括共识节点在所有节点中的选取占比、所述共识节点任期、所述主节点任期、区块大小。
8.一种区块链节点数据一致性共识装置,其特征在于,包括:
共识节点选取模块,用于从区块链网络的节点中按预设占比选取重要性靠前的若干节点作为共识节点,其余节点作为普通节点;
主节点选取模块,用于从所述共识节点中随机选取一个节点作为主节点,用于接收客户端发送的交易,其余共识节点作为普通共识节点;
交易序列生成模块,用于主节点接收客户端发送的交易,对每个交易附加一个key值,并按key值对交易进行归并排序,生成有序的交易序列;
区块发送模块,用于所述主节点将所述交易序列中的交易按预设大小打包生成区块发送给所述普通共识节点;
区块评判模块,用于所述普通共识节点对区块内的交易进行第一次验证,并对验证通过的区块再发起上链资格投票,当超过50%的普通共识节点投票时,所述普通共识节点对验证通过的所述区块进行签名;
区块同步模块,用于所述主节点将签名后的区块广播给区块内与交易相关的普通节点进行第二次验证,若验证通过,则所述区块内与交易相关的普通节点更新本地账本,同时所述主节点通知未参与第二次验证的所述普通节点同步区块数据并更新本地账本,完成区块上链。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至7中任一项所述的区块链节点数据一致性共识方法。
10.一种存储介质,所述存储介质包括存储的程序,在所述程序运行时控制所述存储介质所在的设备执行如权利要求1至7中任一项所述的区块链节点数据一致性共识方法。
CN202110635768.6A 2021-06-08 2021-06-08 区块链节点数据一致性共识方法、装置、设备及存储介质 Active CN113489681B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110635768.6A CN113489681B (zh) 2021-06-08 2021-06-08 区块链节点数据一致性共识方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110635768.6A CN113489681B (zh) 2021-06-08 2021-06-08 区块链节点数据一致性共识方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113489681A true CN113489681A (zh) 2021-10-08
CN113489681B CN113489681B (zh) 2022-06-21

Family

ID=77934446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110635768.6A Active CN113489681B (zh) 2021-06-08 2021-06-08 区块链节点数据一致性共识方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113489681B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810378A (zh) * 2021-08-19 2021-12-17 广东中科智能区块链技术有限公司 一种基于共识排序的交易预处理方法
CN114070617A (zh) * 2021-11-16 2022-02-18 上海柯林布瑞信息技术有限公司 基于区块链的医疗数据共享方法和装置
CN114189421A (zh) * 2022-02-17 2022-03-15 江西农业大学 一种领导者节点选举方法、系统、存储介质及设备
CN114363348A (zh) * 2021-10-28 2022-04-15 安徽中科晶格技术有限公司 基于区块链的分组网络安全通信方法和装置
CN114913013A (zh) * 2022-05-13 2022-08-16 江南大学 一种基于区块链的租房交易系统及租房交易方法
CN115766745A (zh) * 2023-01-09 2023-03-07 杭州安碣信息安全科技有限公司 一种区块链节点内存池交易数据收集、广播的方法和装置
CN116170162A (zh) * 2023-04-26 2023-05-26 湖南天河国云科技有限公司 选择性的共识方法和计算机存储介质、终端设备
CN116361385A (zh) * 2022-09-01 2023-06-30 矩阵时光数字科技有限公司 一种区块链的共识方法及系统
CN116777631A (zh) * 2023-08-17 2023-09-19 腾讯科技(深圳)有限公司 基于区块链的交易上链方法及装置、设备、介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108122165A (zh) * 2017-12-15 2018-06-05 北京中电普华信息技术有限公司 一种区块链共识方法及系统
CN109039713A (zh) * 2018-07-16 2018-12-18 夸克链科技(深圳)有限公司 一种区块链共识装置与算法
WO2020022958A1 (en) * 2018-07-27 2020-01-30 Aioz Pte Ltd Method and apparatus for transaction verification in a blockchain-based network
CN111131209A (zh) * 2019-12-16 2020-05-08 国网重庆市电力公司客户服务中心 一种改进的高效共识方法、系统、计算机设备及存储介质
CN112163856A (zh) * 2020-10-09 2021-01-01 北京邮电大学 用于区块链与物联网融合场景的共识方法及系统
CN112541758A (zh) * 2020-12-01 2021-03-23 鲁静 基于区块链的多轮投票式容错排序共识机制与方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108122165A (zh) * 2017-12-15 2018-06-05 北京中电普华信息技术有限公司 一种区块链共识方法及系统
CN109039713A (zh) * 2018-07-16 2018-12-18 夸克链科技(深圳)有限公司 一种区块链共识装置与算法
WO2020022958A1 (en) * 2018-07-27 2020-01-30 Aioz Pte Ltd Method and apparatus for transaction verification in a blockchain-based network
CN111131209A (zh) * 2019-12-16 2020-05-08 国网重庆市电力公司客户服务中心 一种改进的高效共识方法、系统、计算机设备及存储介质
CN112163856A (zh) * 2020-10-09 2021-01-01 北京邮电大学 用于区块链与物联网融合场景的共识方法及系统
CN112541758A (zh) * 2020-12-01 2021-03-23 鲁静 基于区块链的多轮投票式容错排序共识机制与方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113810378A (zh) * 2021-08-19 2021-12-17 广东中科智能区块链技术有限公司 一种基于共识排序的交易预处理方法
CN114363348A (zh) * 2021-10-28 2022-04-15 安徽中科晶格技术有限公司 基于区块链的分组网络安全通信方法和装置
CN114070617A (zh) * 2021-11-16 2022-02-18 上海柯林布瑞信息技术有限公司 基于区块链的医疗数据共享方法和装置
CN114070617B (zh) * 2021-11-16 2022-11-08 上海柯林布瑞信息技术有限公司 基于区块链的医疗数据共享方法和装置
CN114189421A (zh) * 2022-02-17 2022-03-15 江西农业大学 一种领导者节点选举方法、系统、存储介质及设备
CN114913013A (zh) * 2022-05-13 2022-08-16 江南大学 一种基于区块链的租房交易系统及租房交易方法
CN114913013B (zh) * 2022-05-13 2023-09-26 江南大学 一种基于区块链的租房交易系统及租房交易方法
CN116361385A (zh) * 2022-09-01 2023-06-30 矩阵时光数字科技有限公司 一种区块链的共识方法及系统
CN115766745A (zh) * 2023-01-09 2023-03-07 杭州安碣信息安全科技有限公司 一种区块链节点内存池交易数据收集、广播的方法和装置
CN116170162B (zh) * 2023-04-26 2023-07-25 湖南天河国云科技有限公司 选择性的共识方法和计算机存储介质、终端设备
CN116170162A (zh) * 2023-04-26 2023-05-26 湖南天河国云科技有限公司 选择性的共识方法和计算机存储介质、终端设备
CN116777631A (zh) * 2023-08-17 2023-09-19 腾讯科技(深圳)有限公司 基于区块链的交易上链方法及装置、设备、介质
CN116777631B (zh) * 2023-08-17 2023-11-24 腾讯科技(深圳)有限公司 基于区块链的交易上链方法及装置、设备、介质

Also Published As

Publication number Publication date
CN113489681B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
CN113489681B (zh) 区块链节点数据一致性共识方法、装置、设备及存储介质
Guo et al. Dumbo: Faster asynchronous bft protocols
US20240064007A1 (en) Methods and systems for blockchain-implemented event-lock encryption
EP3896638A1 (en) Distributed transaction propagation and verification system
US20240113868A1 (en) Controlled cryptographic private key release
Sun et al. Voting-based decentralized consensus design for improving the efficiency and security of consortium blockchain
CN110198213A (zh) 一种基于秘密共享随机数共识算法的系统
CN112651830B (zh) 应用于电力资源共享网络的区块链共识方法
Ye et al. A trust-centric privacy-preserving blockchain for dynamic spectrum management in IoT networks
Neu et al. The availability-accountability dilemma and its resolution via accountability gadgets
Sun et al. Privacy-preserving verifiable incentive mechanism for online crowdsourcing markets
Azouvi et al. Winning the caucus race: Continuous leader election via public randomness
CN111566680A (zh) 有消息凭证的区块链
CN113554421A (zh) 一种基于区块链的警务资源数据治理协同方法
Islam et al. A comparative analysis of proof-of-authority consensus algorithms: Aura vs Clique
Aluko et al. Proof-of-reputation: an alternative consensus mechanism for blockchain systems
CN112583598A (zh) 一种复杂物联网联盟链系统通信机制
Bai et al. Blockchain-based Authentication and Proof-of-Reputation Mechanism for Trust Data Sharing in Internet of Vehicles.
CN111566681A (zh) 快速且分区弹性的区块链
Feng et al. Crbft: An optimized blockchain algorithm for edge-based iot system
Chiang et al. FairPoS: input fairness in permissionless consensus
Ma et al. Toward data authenticity and integrity for blockchain-based mobile edge computing
Chiang et al. FairPoS: Input Fairness in Proof-of-Stake with Adaptive Security.
CN112527898A (zh) 安全计算方法、装置、节点及存储介质
CN113678398A (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