CN114640500B - 一种基于服务的联盟链高效共识方法 - Google Patents

一种基于服务的联盟链高效共识方法 Download PDF

Info

Publication number
CN114640500B
CN114640500B CN202210132160.6A CN202210132160A CN114640500B CN 114640500 B CN114640500 B CN 114640500B CN 202210132160 A CN202210132160 A CN 202210132160A CN 114640500 B CN114640500 B CN 114640500B
Authority
CN
China
Prior art keywords
node
message
preparation
service
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.)
Active
Application number
CN202210132160.6A
Other languages
English (en)
Other versions
CN114640500A (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.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
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 Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202210132160.6A priority Critical patent/CN114640500B/zh
Publication of CN114640500A publication Critical patent/CN114640500A/zh
Application granted granted Critical
Publication of CN114640500B publication Critical patent/CN114640500B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种基于服务的联盟链高效共识方法,请求预准备步骤,客户端提交交易至对应服务节点,服务节点验证交易信息后,进行预准备操作,生成预准备消息;准备步骤,区块链网络中的其他节点收到预准备消息后对交易进行验证,验证通过后生成准备凭证消息,并用自身的私钥签名后向其他节点传播;承诺步骤,区块链中的服务节点对接收到的准备凭证消息进行验证统计,若服务节点接收到的其他节点的准备凭证消息的个数为2f个,则表示已经达成共识,服务节点生成承诺消息并向区块链网络中广播;答复步骤.客户端的对应服务节点收到承诺消息或自己完成承诺之后,向客户端答复交易。本方法引入服务节点、节点唯一标识码以及全新的视图结构,优化了整体的共识流程。

Description

一种基于服务的联盟链高效共识方法
技术领域
本发明属于区块链技术领域,具体涉及一种基于服务的联盟链高效共识方法。
背景技术
区块链可以视为一种去中心化、防篡改、交易可追溯、实体间交易可信的分布式的数据库,它可以由区块链网络中参与的所有实体方进行共同维护,而不需要这些实体之间互相可信。联盟链是区块链中的一种,是由指定组织机构或者联盟搭建的,只为联盟内部成员提供服务的一种区块链架构。与公有链以及私有链不同的是,联盟链由联盟成员共同参与管理,每个成员管理一个或多个联盟链中节点,链中数据只允许在联盟内部进行传输与使用。联盟链中的节点只有通过指定授权之后,才可以加入或退出区块链网络。常见的联盟链有Hyperledger Fabric、FISCO等。
在区块链中,如何在所有的节点中达成共识,保证节点数据的一致性,一直是区块链技术研究的核心和基础。共识机制的研究最早始于1975年,由E.A.Akkoyunlu,K.Ekanadham和R.V.Huber首次在论文中提出并证明了“两个将军”问题的无解性。随后,1982年“拜占庭将军问题”被首次提出,Lamport、Shostak以及Pease研究了在参与共识的节点中间,如果存在恶意攻击或者节点故障,共识网络中的其他节点如何达成共识,并提出了基于签名和消息的解决机制。从此,共识算法的研究就被分成两类:拜占庭容错和非拜占庭容错。最初的拜占庭容错类算法(BFT)相当复杂,需要指数级别的算法才能解决容错问题。所以,起初BFT类算法一直处于理论研究之中,未被实际应用。直到PBFT(实用拜占庭容错算法)的出现,拜占庭容错算法才真正在工程领域得到应用。
区块链中的共识机制有很多,常见的共识机制有POW(工作量证明)算法、POS(权益证明)算法、PBFT算法、Raft算法以及Ripple算法等。POW与POS机制都会存在中心化风险且不适应于交易较为频繁的联盟链中,传统的PBFT以及Ripple等算法,大多在区块链中节点数目比较多的情况下表现优异,在节点个数受限的联盟链中,共识机制的安全性以及效率不高。因此,对联盟链中的共识机制进行改进,提高共识的效率与安全性就成为目前业内研究的一个热点。
据申请人了解,2020年赖英旭等人在《通信学报》上发表文献《基于改进PBFT算法防御区块链中sybil攻击的研究》,此文借鉴了基于权益值的共识机制思想,在区块链网络中建立了信誉模型,然后计算出每个节点在参与共识过程中的节点信誉值,节点在共识过程中的话语权与信誉值的大小正相关。并且在共识的步骤上,加入了预提交阶段,来保障共识过程中的安全性。但是,此种方案共识的效率偏低,且存在中心化的风险。
2020年Yaqin Wu等人在期刊《Mathematical Problems in Engineering》上发表的文章《Hybrid Consensus Algorithm Optimization:A Mathematical Method Based onPOS and PBFT and Its Application in Blockchain》提出了一种结合了POS和PBFT算法优点的区块链的混合共识机制。该机制将共识过程抽象为抽签和见证两个阶段,通过可验证的伪随机抽签的方式将区块链网络中的共识节点的数量减少到一个恒定值,此时再在这些节点中进行交易的共识。该方案也采用了分层分级的思想,将大型区块链网络进行细分,然后在组内进行共识操作。
2021年黄冬艳等人在《通信学报》杂志的文献《RBFT:基于Raft集群的拜占庭容错共识机制》中,提出了一种适用于大规模网络的、满足低时延、高安全性与吞吐量的两级共识机制RBFT。该方法先对大型区块链网络中的节点进行分组,组内采用Raft算法作为共识机制,组间采用选举的方式选出代表,由其代表组内所有节点参与全网共识,全网共识采用PBFT机制。
2021年Li Chunlin等人在杂志《Information Processing and Management》上发表了文章《Lightweight blockchain consensus mechanism and storage optimizationfor resource-constrained IoT devices》,此文中,在原有的基于奖惩策略的PBFT共识机制上进行改进,提出了一种新的适用于物联网设备的轻量级区块链共识机制。该机制确实可以减少共识的延迟和开销以及共识的通信资源,但是物联网中设备数目较多,共识机制的安全性得不到保障。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种基于服务的联盟链高效共识方法,汲取小规模联盟链共识方案的低成本、高安全、高效率等需求,引入服务节点、节点唯一标识码以及全新的视图结构,优化了整体的共识流程,减少了共识开销,分域分治的思想更符合实际小规模联盟链应用需求。
本发明提供一种基于服务的联盟链高效共识方法,包括如下步骤,
步骤S1.请求预准备步骤,客户端提交交易m至对应服务节点,服务节点验证交易信息后,进行预准备操作,生成预准备消息;
步骤S2.准备步骤,区块链网络中的其他节点收到预准备消息后对交易m进行验证,验证通过后生成准备凭证消息,并用自身的私钥签名后向其他节点传播;
步骤S3.承诺步骤,区块链中的服务节点对接收到的准备凭证消息进行验证统计,若服务节点接收到的其他节点的准备凭证消息的个数为2f个,则表示该服务节点已经达成共识,当前服务节点生成承诺消息并向区块链网络中广播;
步骤S4.答复步骤.客户端的对应服务节点收到承诺消息或自己完成承诺之后,向客户端答复交易m。
作为本发明的进一步技术方案,区块链网络中的节点包括服务节点、主节点和普通节点,
服务节点为将后端服务与区块链中的节点进行结合,形成一个整体的节点,既为客户端提供服务,也参与区块链网络中的共识;
主节点为通过区块链网络中其他节点选举产生,在更新操作中主持更新流程的节点;
普通节点为在区块链网络一次共识流程中,除了发起共识的客户端服务节点以及网络选举出的主节点之外的区块链网络中的其他节点。
进一步的,步骤S1中,客户端Client向其服务节点SNode提交交易信息m,SNode的后端会先对提交这条消息的客户端进行身份验证,验证未通过则终止当前提交事项,验证通过则进行交易信息m的验证,若消息m验证失败则终止事项,若验证通过则在服务端生成预准备消息,记pk为公钥,sk为私钥,则pkSNode为服务节点的公钥,auth(m,pkSNode)表示使用服务节点公钥对消息m进行加密(签名)操作,decrypt(m,pkClient)表示使用客户端Client的公钥解密消息m;
预准备消息的格式为:{PerPMessage,H(m),seq,v,t},
其中,PerPMessage为预准备消息头,用来标识此消息的种类;H(m)为交易消息m的单项哈希;v为SNode的视图;t为当前的时间戳;预准备消息PerPMessage生成完成之后,当前SNode节点将该消息签名之后广播到区块链网络中的其他节点;Seq为消息序列号,用来表示此节点向区块链网络中提交交易的序列号,序列号递增且唯一,此服务节点向区块链网络中提交的每笔交易都有唯一的消息序列号与之对应;此节点可用的所有消息序列号与其节点唯一标识码一一对应,即交易序列号以(seq)mod(2N)=k的形式递增。
进一步的,步骤S2中,对交易m先后进行身份验证、节点唯一标识码验证和交易信息验证,验证通过之后生成准备凭证;完成身份验证之后,进行节点唯一标识码的验证;当前节点从首先验证自身的视图v中的节点唯一标识码数组A与预准备消息视图v'中节点唯一标识码数组A'是否一致,一致之后验证预准备消息中的节点唯一标识码P满足:
进一步的,节点唯一标识码为一个正整数,用来指示区块链网络中节点的唯一身份,区块链网络中共有节点N个,则节点的唯一标识码UIC为1到N+1的正整数,其中(0<UIC<2N);存在(P)mod(2N)==UIC,则P是节点标识码UIC为k的服务节点所有可用的消息序列号seq。
进一步的,步骤S4中,向客户端答复分为两类,第一类中服务节点收到网络中有节点发送commit消息且通过验证后,进行commit然后更新视图并答复客户端;第二类中服务节点自己收到足够多的凭证消息,自己生成commit消息并在区块链网络中广播,此时也为达成共识,同时答复客户端。
本发明的优点在于,
1.将后端服务节点与区块链节点结合,形成服务节点并对全网的客户端进行划域操作,由对应服务节点为域内客户端提供服务。整体的共识流程进行改进优化,提高了共识过程的效率。
2.在区块链网络中引入节点唯一标识码,此标识码可以唯一的标识节点的身份并在共识的过程中提供双重身份验证的功能,可以快速验证消息的来源以及可靠性,更加安全。
3.提出了一种新的共识过程中的视图结构,此结构在原有的视图结构基础之上加入了节点唯一标识数组,可以确定当前每个节点的交易消息序号,同时可以依赖视图中的唯一标识码数组验证交易消息的来源是否真实。
附图说明
图1为本发明的基于服务的小规模联盟链的网络架构图;
图2为本发明的一次请求共识流程图;
图3为本发明的基于服务的联盟链高效共识方案流程简图;
图4为本发明的引入服务节点及节点唯一标识码的方法流程示意图;
图5为本发明的请求预准备阶段流程图;
图6为本发明的准备阶段普通节点操作流程图;
图7为本发明的承诺阶段流程图;
图8为本发明的答复阶段流程图。
具体实施方式
本实施例提供一种于服务的联盟链高效共识方法,适用于节点个数较少且稳定、交易频率较高、网络结构基本固定的小规模联盟链环境中。将后端服务与区块链节点相结合,形成服务节点,并对整体网络进行划分,分成一个个服务域。由指定服务节点为整个服务域内部所有客户端提供服务。服务节点参与区块链网络整个共识过程。引入服务节点后,对整体共识流程进行了改进优化,并且使用了节点唯一标识码与全新的视图结构,保证了共识过程的高效、安全。同时,服务域与服务域的后端服务之间相隔离,在单一服务域内部可以为客户端提供定制化的服务。基于服务的小规模联盟链的网络架构如图1所示,
区块链网络中的节点包括服务节点、主节点和普通节点,
服务节点为将后端服务与区块链中的节点进行结合,形成一个整体的节点,既为客户端提供服务,也参与区块链网络中的共识;区块链网络中任一节点如果为某一服务域提供服务,则将此节点称为对应服务域的服务节点。
主节点为通过区块链网络中其他节点选举产生,在更新操作中主持更新流程的节点;节点,即可以作为一个普通节点参与整体的共识流程;同时站在服务域的角度,它可以是一个服务节点,为对应服务域内部的客户端提供相关服务;站在区块链网络中,主节点是通过选举产生的,在视图更新等操作中主持更新流程的节点。
普通节点为在区块链网络一次共识流程中,除了发起共识的客户端服务节点以及网络选举出的主节点之外的区块链网络中的其他节点。
客户端发起基本请求,由服务节点的后端部分为其提供服务。客户端如果提交链上交易,先经过服务节点的后端进行交易验证,验证成功之后提交服务节点中的区块链服务部分,由此部分完成本节点的链上信息验证,验证成功之后再提交到区块链网络中参与共识。一次交易提交的流程步骤如图2所示。
一种于服务的联盟链高效共识方法,如图3所示,包括如下步骤,
步骤S1.请求预准备步骤,客户端提交交易m至对应服务节点,服务节点验证交易信息后,进行预准备操作,生成预准备消息;
步骤S2.准备步骤,区块链网络中的其他节点收到预准备消息后对交易m进行验证,验证通过后生成准备凭证消息,并用自身的私钥签名后向其他节点传播;
步骤S3.承诺步骤,区块链中的服务节点对接收到的准备凭证消息进行验证统计,若服务节点接收到的其他节点的准备凭证消息的个数为2f个,则表示该服务节点已经达成共识,当前服务节点生成承诺消息并向区块链网络中广播;
步骤S4.答复步骤.客户端的对应服务节点收到承诺消息或自己完成承诺之后,向客户端答复交易m。
通过上述的四个步骤,本方法可以在整个区块链网络中针对某笔交易达成共识,并且共识的安全性较强、效率较高,共识的花销较少。
节点唯一标识码为一个正整数,用来指示区块链网络中节点的唯一身份,每个节点的唯一标识码都不相同。区块链网络中共有节点N个,则节点的唯一标识码UIC为1到N+1的正整数,其中(0<UIC<2N)。存在:(P)mod(2N)==UIC,则P是节点标识码UIC为k的服务节点所有可用的消息序列号seq。
引入节点唯一标识码后,视图中存放一个节点唯一标识码数组A,数组A的每个下标标识其节点唯一标识码,数组中存放的元素值即为对应标识码节点的消息序列号seq,也即此节点的消息序列号已经使用到了何值。在传递消息的过程中可以快速验证消息的来源以及可靠性,更加安全。
引入服务节点及节点唯一标识码的共识过程如图4所示。
步骤S1中,客户端Client向其服务节点SNode提交交易信息m,SNode的后端会先对提交这条消息的客户端进行身份验证,验证未通过则终止当前提交事项,验证通过则进行交易信息m的验证,若消息m验证失败则终止事项,若验证通过则在服务端生成预准备消息,记pk为公钥,sk为私钥,则pkSNode为服务节点的公钥,auth(m,pkSNode)表示使用服务节点公钥对消息m进行加密(签名)操作,decrypt(m,pkClient)表示使用客户端Client的公钥解密消息m;
请求预准备阶段算法如下:
预准备消息的格式为:{PerPMessage,H(m),seq,v,t},其中,PerPMessage为预准备消息头,用来标识此消息的种类;H(m)为交易消息m的单项哈希;v为SNode的视图;t为当前的时间戳;预准备消息PerPMessage生成完成之后,当前SNode节点将该消息签名之后广播到区块链网络中的其他节点;Seq为消息序列号,用来表示此节点向区块链网络中提交交易的序列号,序列号递增且唯一,此服务节点向区块链网络中提交的每笔交易都有唯一的消息序列号与之对应;此节点可用的所有消息序列号与其节点唯一标识码一一对应,即交易序列号以(seq)mod(2N)=k的形式递增。
请求预准备阶段流程图如图5所示。
步骤S2中,准备阶段普通节点操作流程图如附图6所示。区块链网络中的其他普通节点收到预准备消息(PerPMessage)后进行基础身份验证、节点唯一标识码UIC验证、交易信息验证,验证通过之后生成准备凭证并更新本节点视图v中唯一标识码数组A,随后广播准备凭证。
在完成基础身份验证之后,即开始节点唯一标识码的验证。当前节点从首先验证自身的视图v中的节点唯一标识码数组A与预准备消息视图v'中节点唯一标识码数组A'是否一致,一致之后验证预准备消息中的节点唯一标识码P满足:
满足以上所有条件则完成了PerPMessage的所有身份验证。准备凭证的生成,主要包含以下算法;其中消息头部verify用来指示此条消息的种类是准备消息,表示交易消息m已经通过了当前节点的验证。
步骤S3中,承诺阶段的流程图如附图7所示。承诺(commit)阶段主要是对准备节点的准备凭证消息(PMessage)进行验证统计的过程以及PreCommit消息的收集与验证。在准备阶段中,区块链网络中的节点时刻监听网络中其他节点的消息,如果此节点接收到的针对消息m的准备凭证消息的个数大于等于2f+1时,则此时说明区块链网络已经达成了准备共识,接下来此节点将进入承诺消息的生成步骤。当前节点将生成承诺消息并向区块链网络中的其他节点广播。在监听准备消息m的过程中,会设置一个时间界限TL,如果超过指定时间接收到其他节点的准备凭证个数还不满足2f+1时,则说明消息m没有达成共识,终止对此消息凭证的等待。若在等待PMessage的过程中已经收集到了2f+1个PreCommit消息,则会直接跳过收集进入承诺流程。承诺阶段涉及到两步消息的收集与传播,分别采用不同的验证方式与算法,承诺阶段的算法如下,
当前节点收集到足够多的区块链网络中其他节点发出的PMessage并通过验证之后,会生成PreCommit消息。此时,节点监听网络中以及自身缓存中对消息m的所有PreCommit消息,如果经过验证消息的个数大于2f+1个,则可认为达成了共识,此节点将生成Commit消息并将交易m写入自己的区块中,并更新视图。相关算法如下,
步骤S4中,向客户端答复分为两类,第一类中服务节点收到网络中有节点发送commit消息且通过验证后,进行commit然后更新视图并答复客户端;第二类中服务节点自己收到足够多的凭证消息,自己生成commit消息并在区块链网络中广播,此时也为达成共识,同时答复客户端,如图8所示。
本方法将后端服务与区块链节点相结合,组成服务节点,客户端提交交易给服务节点,由服务节点参与区块链网络的共识全过程,最终的共识结果也由服务节点反馈个客户端。改变了整体的共识流程,共识效率更高,安全性更强。
引入节点唯一标识码,视图中存放每个节点的唯一标识码,在传递消息的过程中可以快速验证消息的来源以及可靠性,更加安全。
全新的视图结构,视图中不仅仅存储原始视图信息,还存储节点唯一标识码数组以及一个时间戳,通过节点唯一标识码数组可以确定当前每个节点的交易消息序号,同时可以依赖视图中的唯一标识码数组验证交易消息的来源是否真实。
在共识过程中,提出了新的节点身份验证算法,该算法在原有公私钥身份验证的基础之上使用了节点唯一标识码UIC对消息来源做了双重验证,保证了本专利提出的基于服务的联盟链高效共识算法的安全性。
以上显示和描述了本发明的基本原理、主要特征和优点。本领域的技术人员应该了解,本发明不受上述具体实施例的限制,上述具体实施例和说明书中的描述只是为了进一步说明本发明的原理,在不脱离本发明精神范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由权利要求书及其等效物界定。

Claims (5)

1.一种基于服务的联盟链高效共识方法,其特征在于,包括如下步骤,
步骤S1.请求预准备步骤,客户端提交交易m至对应服务节点,服务节点验证交易信息后,进行预准备操作,生成预准备消息;
步骤S2.准备步骤,区块链网络中的其他节点收到预准备消息后对交易m进行验证,验证通过后生成准备凭证消息,并用自身的私钥签名后向其他节点传播;
步骤S3.承诺步骤,区块链中的服务节点对接收到的准备凭证消息进行验证统计,若服务节点接收到的其他节点的准备凭证消息的个数为2f个,则表示该服务节点已经达成共识,当前服务节点生成承诺消息并向区块链网络中广播;
步骤S4.答复步骤.客户端的对应服务节点收到承诺消息或自己完成承诺之后,向客户端答复交易m;
所述步骤S1中,客户端Client向其服务节点SNode提交交易信息m,SNode的后端会先对提交这条消息的客户端进行身份验证,验证未通过则终止当前提交事项,验证通过则进行交易信息m的验证,若消息m验证失败则终止事项,若验证通过则在服务端生成预准备消息,记pk为公钥,sk为私钥,则pkSNode为服务节点的公钥,auth(m,pkSNode)表示使用服务节点公钥对消息m进行加密(签名)操作,decrypt(m,pkClient)表示使用客户端Client的公钥解密消息m;
预准备消息的格式为:{PerPMessage,H(m),seq,v,t},
其中,PerPMessage为预准备消息头,用来标识此消息的种类;H(m)为交易消息m的单项哈希;v为SNode的视图;t为当前的时间戳;预准备消息PerPMessage生成完成之后,当前SNode节点将该消息签名之后广播到区块链网络中的其他节点;Seq为消息序列号,用来表示此节点向区块链网络中提交交易的序列号,序列号递增且唯一,此服务节点向区块链网络中提交的每笔交易都有唯一的消息序列号与之对应;此节点可用的所有消息序列号与其节点唯一标识码一一对应,即交易序列号以(seq)mod(2N)=k的形式递增。
2.根据权利要求1所述的一种基于服务的联盟链高效共识方法,其特征在于,所述区块链网络中的节点包括服务节点、主节点和普通节点,
所述服务节点为将后端服务与区块链中的节点进行结合,形成一个整体的节点,既为客户端提供服务,也参与区块链网络中的共识;
所述主节点为通过区块链网络中其他节点选举产生,在更新操作中主持更新流程的节点;
所述普通节点为在区块链网络一次共识流程中,除了发起共识的客户端服务节点以及网络选举出的主节点之外的区块链网络中的其他节点。
3.根据权利要求1所述的一种基于服务的联盟链高效共识方法,其特征在于,所述步骤S2中,对交易m先后进行身份验证、节点唯一标识码验证和交易信息验证,验证通过之后生成准备凭证;完成身份验证之后,进行节点唯一标识码的验证;当前节点从首先验证自身的视图v中的节点唯一标识码数组A与预准备消息视图v'中节点唯一标识码数组A'是否一致,一致之后验证预准备消息中的节点唯一标识码P满足:
4.根据权利要求3所述的一种基于服务的联盟链高效共识方法,其特征在于,所述节点唯一标识码为一个正整数,用来指示区块链网络中节点的唯一身份,区块链网络中共有节点N个,则节点的唯一标识码UIC为1到N+1的正整数,其中(0<UIC<2N);存在(P)mod(2N)==UIC,则P是节点标识码UIC为k的服务节点所有可用的消息序列号seq。
5.根据权利要求1所述的一种基于服务的联盟链高效共识方法,其特征在于,所述步骤S4中,向客户端答复分为两类,第一类中服务节点收到网络中有节点发送commit消息且通过验证后,进行commit然后更新视图并答复客户端;第二类中服务节点自己收到足够多的凭证消息,自己生成commit消息并在区块链网络中广播,此时也为达成共识,同时答复客户端。
CN202210132160.6A 2022-02-14 2022-02-14 一种基于服务的联盟链高效共识方法 Active CN114640500B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210132160.6A CN114640500B (zh) 2022-02-14 2022-02-14 一种基于服务的联盟链高效共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210132160.6A CN114640500B (zh) 2022-02-14 2022-02-14 一种基于服务的联盟链高效共识方法

Publications (2)

Publication Number Publication Date
CN114640500A CN114640500A (zh) 2022-06-17
CN114640500B true CN114640500B (zh) 2023-07-28

Family

ID=81946243

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210132160.6A Active CN114640500B (zh) 2022-02-14 2022-02-14 一种基于服务的联盟链高效共识方法

Country Status (1)

Country Link
CN (1) CN114640500B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018177255A1 (zh) * 2017-03-28 2018-10-04 阿里巴巴集团控股有限公司 一种基于区块链的共识方法及装置
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
CN112702346A (zh) * 2020-12-24 2021-04-23 国网浙江省电力有限公司电力科学研究院 基于联盟链的分布式身份认证方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018177255A1 (zh) * 2017-03-28 2018-10-04 阿里巴巴集团控股有限公司 一种基于区块链的共识方法及装置
WO2019232789A1 (zh) * 2018-06-08 2019-12-12 北京大学深圳研究生院 一种基于投票的共识方法
CN112702346A (zh) * 2020-12-24 2021-04-23 国网浙江省电力有限公司电力科学研究院 基于联盟链的分布式身份认证方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hybrid Consensus Algorithm Optimization:A Mathematical Method Based onPOS and PBFT and Its Application in Blockchain;Yaqin Wu, et al.;Mathematical Problems in Engineering;全文 *

Also Published As

Publication number Publication date
CN114640500A (zh) 2022-06-17

Similar Documents

Publication Publication Date Title
TWI724780B (zh) 用於區塊鏈系統中的主節點切換處理的方法及裝置
US11128522B2 (en) Changing a master node in a blockchain system
CN110784346B (zh) 一种基于信誉值的pbft共识系统及方法
CN107395403B (zh) 一种适用于大规模电子商务的基于信用的区块链共识方法
CN111314067B (zh) 区块存储方法、装置、计算机设备及存储介质
CN113271204B (zh) 一种基于量子密钥分发的拜占庭容错共识方法
CN113141414B (zh) 一种cnfs协议中区块链节点的分组多链异步共识方法
Wan et al. Electronic contract signing without using trusted third party
CN112329051A (zh) 一种安全高效的共识机制实现方法及系统
CN112636905B (zh) 基于多角色的可扩展共识机制的系统及方法
CN114422513B (zh) 一种基于Raft-PBFT的区块链共识方法
CN111179087B (zh) 一种基于网格仲裁的联盟链共识方法
CN114050904B (zh) 一种基于两层级领导节点分片结构的共识系统及方法
CN111582843A (zh) 一种基于聚合签名的区块链隐私交易方法
CN115051985B (zh) 一种基于动态节点的拜占庭容错共识协议的数据共识方法
CN113612604A (zh) 面向异步网络的安全分布式随机数生成方法及装置
CN115174570B (zh) 一种基于动态委员会的跨链共识方法及系统
Wu et al. Robust and auditable distributed data storage with scalability in edge computing
CN114143021B (zh) 一种基于区块链的新闻信息信用积分系统
CN113923093A (zh) 一种基于可信执行环境的新型拜占庭容错共识方法
US20220278854A1 (en) Unity Protocol Consensus
CN114640500B (zh) 一种基于服务的联盟链高效共识方法
CN115633035B (zh) 一种基于改进的pbft物联网区块链共识算法
Chen et al. Cipherchain: a secure and efficient ciphertext blockchain via mpeck
Wang et al. A novel blockchain identity authentication scheme implemented in fog computing

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