CN110115001A - 促进实用拜占庭容错区块链共识和节点同步 - Google Patents

促进实用拜占庭容错区块链共识和节点同步 Download PDF

Info

Publication number
CN110115001A
CN110115001A CN201880005137.2A CN201880005137A CN110115001A CN 110115001 A CN110115001 A CN 110115001A CN 201880005137 A CN201880005137 A CN 201880005137A CN 110115001 A CN110115001 A CN 110115001A
Authority
CN
China
Prior art keywords
common recognition
message
node
block chain
block
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
CN201880005137.2A
Other languages
English (en)
Other versions
CN110115001B (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.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN110115001A publication Critical patent/CN110115001A/zh
Application granted granted Critical
Publication of CN110115001B publication Critical patent/CN110115001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/187Voting techniques
    • 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/2379Updates performed during online database operations; commit processing
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/3297Cryptographic 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • 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/56Financial cryptography, e.g. electronic payment or e-cash
    • 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

Abstract

本公开的实现包括:第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从所述第二共识节点接收所述一个或多个共识消息,每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及,如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是区块链基于实用拜占庭容错而可容忍的故障节点的最大数目。

Description

促进实用拜占庭容错区块链共识和节点同步
背景技术
区块链网络,也可以被称为区块链系统、共识网络、分布式账本系统(DLS)网络或区块链,使得参与的实体能够安全地并且不可篡改地存储数据。区块链可以被描述为交易的账本,并且区块链的多个副本跨区块链网络存储。区块链的示例性类型可包括公有区块链、联盟区块链和私有区块链。公有区块链对所有实体开放区块链的使用,并开放共识处理的参与。私有DLS针对特定实体提供,该实体集中控制读写权限。
另一种类型的区块链系统包括联盟区块链系统。联盟区块链系统针对选择的实体组群提供,该实体组群控制共识处理,并且包括访问控制层。因此,参与联盟区块链系统的一个或多个实体能控制谁可以访问联盟区块链系统、以及谁可以参与联盟区块链系统的共识处理。例如,实体组群(例如,公司、学术机构)可以参与联盟区块链系统以不可篡改地记录数据(例如,交易)。在一些示例中,某实体能够访问/查看联盟区块链系统内的数据,但不向联盟区块链系统贡献数据。
区块链包括一系列区块,每个区块包含一个或多个在网络中执行的交易。每个区块可被类比为账本中的一页,而区块链本身是账本的完整副本。各个交易被确认并被添加到区块,该区块被添加到区块链。区块链的副本是跨网络中的节点复制的。以这种方式,跨网络对区块链的状态形成共识。
容错是区块链系统中所关心的。容错通常可以被描述为网络对故障节点或恶意行为节点的容忍。在具有较少参与节点的区块链系统(例如联盟区块链系统)中,容错是特别关注的。拜占庭容错(BFT)可被描述为诸如区块链系统的分布式计算系统的容错的可靠性。BFT描述了在组件可能故障和/或是恶意、以及关于组件是否已经发生故障或是恶意的信息不完整的情况下的可靠性。尽管系统的恶意节点向其他节点传播错误信息,在共识协议中利用BFT还是能够使系统达成共识。BFT的目的是通过减轻恶意节点对共识协议的正确功能的影响来防御系统故障。实用BFT(PBFT)是BFT的优化。PBFT在诸如联盟区块链系统的异步系统中工作,并且假定存在独立节点故障以及由特定的独立节点传播经操作的消息。在PBFT中,共识系统中的所有节点按序列依次作为主节点的一个节点(随着时间的推移,不同的节点被指定为主节点)而其它节点为备节点。所有节点通过广播消息彼此通信,并且所谓的诚实节点通过多数达成共识。
在PBFT中,共识安全性可以确保不具有任何问题的两个节点不会就不同的值达成共识。共识活跃度可以确保节点不会在交换消息时落入无限循环,并且节点可以达到它们的最终状态。
在一些情况下,联盟区块链中的共识节点可能在地理上远离,并且不能保证网络质量或连通性。在这种情况下,广播消息可能无法到达所有的共识节点,这影响共识节点达成PBFT共识的能力。因此,收集足够的回复以达成共识可能是耗时的并且从计算方面上讲是繁重的。
发明内容
本公开的实施方式涉及基于实用拜占庭容错(PBFT)促进区块链网络的同步和共识处理。更具体地说,本公开的实施方式涉及通过使用基于闲话的通信方法、并且向共识消息添加数字签名,来基于PBFT促进区块链网络中的共识消息传输和节点同步。
在一些实施方式中,动作包括:由第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从所述第二共识节点接收所述一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及,如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是区块链基于实用拜占庭容错而可容忍的故障节点的最大数目。其他实施方式包括对应的系统、装置和计算机程序,所述计算机程序被配置成执行所述方法的操作、并编码在计算机存储设备上。
这些实施方式和其它实施方式可以各自可选地包括以下特征中的一个或多个:该请求包括表示共识轮的编号的序列号;所述一个或多个共识消息包括所述第一共识节点缺少的预准备消息、准备消息和承诺消息中的一个或多个;所述一个或多个共识消息被存储在生成或存储它们的一个或多个共识节点中,直到到达稳定的检查点;接收对应于所述一个或多个共识消息的一个或多个序列号,其中,每个序列号表示与对应的共识消息相关联的共识轮的编号;如果所述交易的区块被确定有效,则向区块链和状态数据库提交所述交易的区块;响应于所述定时器期满并且如果所述交易的区块被确定无效,则向第三共识节点发送请求以获得所述第二共识节点缺少的一个或多个第二共识消息;从所述第三共识节点接收所述一个或多个第二共识消息,所述一个或多个第二共识消息中的每个第二共识消息被生成该第二共识消息的相应的共识节点的私钥进行数字签名;以及如果包括在所述一个或多个共识消息和所述一个或多个第二共识消息中的承诺消息的数量大于或等于2f+1,则确定所述交易的区块是有效的。
本公开还提供了耦接到一个或多个处理器且其上存储有指令的一个或多个非暂态计算机可读存储介质,当由所述一个或多个处理器执行所述指令时,促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。
本公开还提供了用于实现本文所提供方法的系统。该系统包括一个或多个处理器、以及耦接到所述一个或多个处理器且其上存储有指令的一个或多个非暂态计算机可读存储介质,当由所述一个或多个处理器执行所述指令时,促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。
可以理解的是根据本公开的方法可以包括本文所述的方面和特征的任意组合。也即,根据本公开的方法不限于本文所述的方面和特征的组合,但也包括所提供的方面和特征的任意组合。
本公开的一个或多个实施方式的细节将在下文结合附图和描述进一步阐述。本公开的其他特征或优点将从说明书和附图以及权利要求中显而易见。
附图说明
图1描绘了可以用于执行本公开实施方式的示例性环境。
图2描绘了根据本公开实施方式的示例性概念架构。
图3描绘了根据本公开实施方式的基于PBFT的示例性共识处理。
图4描绘了根据本公开实施方式的基于PBFT的共识消息的示例性结构。
图5描绘了可根据本公开实施方式执行的示例性处理。
在各个附图中,相同的附图标记表示相同的元件。
具体实施方式
本公开的实施方式涉及基于实用拜占庭容错(PBFT)促进区块链网络的同步和共识处理。更具体地说,本公开的实施方式涉及通过使用基于闲话的通信方法、并且向共识消息添加数字签名,来基于PBFT促进区块链网络中的共识消息传输和节点同步。以这种方式,并且如本文中进一步详细描述的,可以减少通信带宽消耗,并且可以提高系统可靠性。在一些实施方式中,动作包括:由第一共识节点设置在视图改变超时之前期满的定时器;响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;从第二共识节点接收一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是区块链基于实用拜占庭容错的而可容忍的故障节点的最大数目。
为本公开实施方式提供进一步的背景,如上所述,区块链网络又可被称为共识网络(例如,由点对点节点组成)、分布式账本系统、或简称为区块链,使得参与的实体能够安全地且不可篡改地进行交易并存储数据。区块链可被提供为公有区块链、私有区块链或联盟区块链。本文参考联盟区块链来更详细地描述本公开的实施方式,其中,所述共识处理由预先选择的一组节点来控制。然而,可以预期,可以在任何合适类型的区块链中实现本公开的实施方式。
在联盟区块链中,共识处理由一组授权的节点控制,一个或多个节点由各自的实体(例如,企业)来操作。例如,十(10)个实体的联盟(例如,公司)可以操作联盟区块链系统,每个实体操作联盟DLS中的至少一个节点。因此,联盟区块链系统可被认为是关于参与实体的私有网络。在一些示例中,每个实体(节点)必须对每个区块签名,以使该区块有效并被添加到区块链。在一些示例中,每个区块必须由至少一个实体(节点)的子集(例如,至少7个实体)签名,以使该区块有效并被添加到区块链。示例性的联盟区块链系统包括Quorum,其由位于纽约的纽约摩根大通公司开发。Quorum可被描述为以企业为中心、特别针对财务用例设计的许可区块链基础结构。Quorum由以太坊(Ethereum)区块链基本码Go Etherum构建,该基本码由位于瑞士楚格州的以太坊基金会提供。
通常,联盟区块链系统支持被允许参与联盟区块链系统的实体之间的交易。因为区块链是跨联盟区块链系统内的所有节点复制的,所以交易由所有节点共享。即,所有节点相对于区块链处于完全共识状态。为了达成共识(例如,同意将区块添加到区块链),在联盟区块链网络内实施共识协议。示例性共识协议包括但不限于,在比特币网络中实施的工作量证明(POW)。
本公开的实施方式包括:用于基于PBFT促进区块链网络的共识处理的计算机实现方法。更具体地说,本公开的实施方式涉及通过使用基于闲话的通信方法、并且向共识消息添加数字签名,来基于PBFT促进区块链网络中的共识消息传输和节点同步。以这种方式,并且如本文中进一步详细描述的,可以减少通信带宽消耗,并且可以提高系统可靠性。
根据本公开的实施方式,联盟区块链系统的共识节点执行PBFT共识协议。在一些示例中,节点可以发送共识消息。根据本公开的实施方式,示例性共识消息可包括但不限于预准备、准备和承诺(commit)。在一些实施方式中,数字签名和序列号被包括在每个共识消息中。数字签名可用于识别发送相应的共识消息的节点,以及序列号表示发送该共识消息时所在的共识轮(consensus round)。
每个共识节点可以存储或记录所有接收到的共识消息。如果区块链网络中的共识节点(例如,备节点)从断开处被恢复,并且已经缺少了一个或多个共识消息,则该共识节点可以通过从一个或多个其他共识节点获取缺少的消息来与其他节点同步。根据本公开的实施方式,与例如向整个区块链网络广播获取请求截然相反,可以使用闲话(Gossip)算法来获取共识消息。因为从另一共识节点获取的共识消息携带相应的共识节点的数字签名,所以所获取的共识消息的源可被确认(并信任)。在一些示例中,备节点可能能够在单个同步中获取所有缺少的消息。这样,同步或共识的复杂度在理想条件下可以降低到O(1),而基于传统PBFT的标准组播下的复杂度为O(n)。
图1描绘了可用于执行本公开实施方式的示例性环境100。在一些示例中,示例性环境100使得实体能够参与联盟区块链系统102。示例性环境100包括计算系统106、计算系统108和网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网络站点、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。
在所描述的示例中,计算系统106、计算系统108可以各自包括能够作为节点参与联盟区块链系统102的任何适当的计算系统,用于在区块链104中存储交易。示例性计算设备包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备和智能手机。在一些示例中,计算系统106、计算系统108承载一个或多个由计算机实施的服务,用于与联盟区块链系统102交互。例如,计算系统106可以承载第一实体(例如,用户A)的由计算机实施的、例如交易管理系统的服务,第一实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。计算系统108可以承载第二实体(例如,用户B)的由计算机实施的、例如交易管理系统的服务,第二实体使用该交易管理系统管理其与一个或多个其他实体(例如,其他用户)的交易。在图1的示例中,联盟区块链系统102被表示为节点的点对点网络(Peer-to-Peer network),并且计算系统106、计算系统108分别提供参与联盟区块链系统102的第一实体和第二实体的节点。
图2描绘了根据本公开实施方式的示例性概念架构200。示例性概念架构200包括实体层202、承载服务层204和公有区块链层206。在所描绘的示例中,实体层202包括三个实体,实体1(E1)、实体2(E2)和实体3(E3),每个实体具有相应的交易管理系统208。
在所描述的示例中,承载服务层204包括用于每个交易管理系统208的区块链接口210。在一些示例中,各个交易管理系统208使用通信协议(例如,超文本传输协议安全(HTTPS))通过网络(例如,图1的网络110)与各个区块链接口210通信。在一些示例中,每个区块链接口210提供相应的交易管理系统208与区块链层206之间的通信连接。更具体地,每个区块链接口210使相应的实体能够进行记录在区块链层206的联盟区块链网络系统212中的交易。在一些示例中,区块链接口210与区块链层206之间的通信是使用远程过程调用(RPC)进行的。在一些示例中,区块链接口210“承载”用于相应的交易管理系统208的区块链节点。例如,区块链接口210提供用于访问联盟区块链网络系统212的应用程序编程接口(API)。
如本文所述的,联盟区块链网络系统212被提供为包括多个节点214的点对点网络,所述多个节点214在区块链216中不可篡改地记录信息。尽管示意性地示出了单个区块链216,但是在联盟区块链网络系统212中可以提供并维护区块链216的多个副本。例如,每个节点214存储区块链216的副本。在一些实施方式中,区块链216存储与参与联盟区块链系统212的两个或更多个实体之间进行的交易相关联的信息。
图3描绘了根据本公开实施方式的基于PBFT的示例性共识处理300。在较高层面上,示例性共识处理300由区块链网络的客户端节点(节点c 302)、领导节点(节点1 304)和多个备节点(节点2 306、节点3 308和节点4 310)执行。假定区块链网络使用的共识算法为PBFT。PBFT系统可以包括三个阶段。示例性阶段可包括但不限于预准备312、准备314和承诺316。在所描述的示例中,在由变量seq表示的序列号标识的共识轮的三个阶段期间,节点4310被断开或者不可用。在节点4 310被恢复之后,节点4 310可以请求与其他节点同步318以获取缺少的共识消息从而确保PBFT共识的安全性和活跃度。为了实现更快的同步,每个共识节点可以使用其私钥对其所发送的共识消息进行数字签名。因此,每个共识消息都携带其发送节点的数字签名。即使该发送节点被断开或者不可用,接收节点也可以安全地转发共识消息以确保网络的活跃度。在图3的以下描述中进一步讨论示例性处理300的细节。
在一些实施方式中,客户端节点302可发送用于向区块链添加一个或多个交易的请求。在一些情况下,该请求还包括表示当前共识轮的seq变量。例如,如果区块链在第三轮共识中,则变量seq等于3。
在从客户端节点302和/或其它节点接收到用于将一个或多个交易添加到区块链的一个或多个请求之后,节点1(领导节点)304可以生成经数字签名的预准备消息(pp1)。简要参考图4,图4描绘了根据本公开实施方式的基于PBFT的共识消息的示例性结构400。如图4所示,预准备消息402可以包括视图(View)、摘要(Digest)、交易(Transaction)、时间戳(Timestamp)和序列号(seq)。变量视图(View)可以表示视图改变次数v。通过允许PBFT在领导节点故障时取得进展,PBFT中的视图改变可提供活跃度。视图改变可以由超时触发,以防止备节点无限期地等待执行请求。备节点可以在其接收到请求且定时器尚未计时的情况下启动定时器。当备节点不再等待执行该请求时,它可以停止定时器。然而,如果在那时备节点正在等待执行其它请求,则备节点可以重启定时器。如果备节点的定时器在本视图中期满,则备节点可以启动视图改变以将系统移至视图v+1。
交易可以是客户端节点的用于将交易添加到区块链的请求消息。摘要可以是消息的摘要。时间戳可以用于确保每个客户端请求被执行一次。时间戳可以被排序,使得较晚的请求比较早的请求具有更高的时间戳。例如,当请求被发布时,时间戳可以是客户端的本地时钟的值。Seq可以表示消息的共识轮。在一些实施方式中,可以使用领导节点的私钥将数字签名404添加到预准备消息402。在一些实施方式中,诸如预准备消息402的共识消息可被存储在接受该消息的节点中,直到达到稳定的检查点。检查点可以是通过执行请求产生的状态,并且具有证据的检查点可以称为稳定检查点。
再次参考图3,在生成经数字签名的预准备消息pp1之后,领导节点可以将消息组播到备节点、节点2 306、节点3 308和节点4 310。
在节点2 306和节点3 308接受预准备消息pp1之后,它们可以进入准备阶段314。此时,节点4 310与区块链网络断开或者不可用。这样,节点4 310不能接收pp1、生成准备消息或执行组播。预准备阶段和准备阶段可被用于对在相同视图中所发送的请求排序,即使在提出对请求进行排序的领导节点故障时。
在准备阶段314,节点2 306可以将其准备消息p2组播到其他节点,并且将pp1和p2两者添加到其日志。类似地,节点3 308可以将其准备消息p3组播到其他节点,并且将pp1和p3两者添加到其日志。再次参考图4,准备消息406可以包括视图(view)、摘要(digest)和序列号(seq)。数字签名408可以被添加到准备消息406。
再次参考图3,节点2 306和节点3 308可以使用它们的私钥分别对p2和p3进行数字签名。在一些实施方式中,如果节点接收到摘要与自己的摘要相同的2f个共识消息,则该节点可以进入承诺阶段(commit phase)316,其中,f是区块链基于PBFT可容忍的故障节点的最大数目。值f可以计算为小于或等于(n-1)/3的最大整数,其中,n是节点的总数。在示例性共识处理300中,由于节点的总数是4,所以f=1。
假设所有接收到的摘要与节点自己的摘要相同,则在接收到p2和p3之后,节点1304具有2f个摘要消息,可以生成并组播承诺c1,并且将p2、p3和c1添加到其日志。类似地,节点2 306可以在接收到pp1和p3之后生成并组播承诺c2,并且将p3和c2添加到其日志。节点3 308可以在接收到pp1和p2之后生成并组播承诺c3,并将p2和c3添加到其日志。这样,在共识节点从另一节点接收到经数字签名的共识消息之后,共识消息和数字签名可被本地存储在接收节点处。可以基于相应的seq值对经数字签名的共识消息进行分类,以确保消息的正确顺序。
再次参考图4,承诺消息410可包括视图(view)、摘要(digest)和序列号(seq)。数字签名412可以被添加到承诺消息410。
再次参考图3,假设节点4 310恢复了并且重新连接到区块链网络,节点4 310可以开始同步阶段318以获取在其停机期间缺少的消息。在一些实施方式中,为了避免节点4310的定时器在视图中期满并启动视图改变,可将获取定时器设置为在视图改变超时之前期满。
响应于获取定时器期满,节点4 310可确定具有节点4 310缺少的共识消息的一个或多个共识节点。节点4 310可以基于闲话算法从所述一个或多个共识节点中随机选择共识节点以发送获取请求。该获取请求可以包括节点的seq编号和缺少的共识消息的类型。
在示例性共识处理300中,缺少的共识消息的类型包括预准备、准备和承诺。这样,该获取请求可以具有seq<pp,p,c>的形式。在一些示例中,节点4 310基于闲话算法随机选择节点3 308以获取缺少的共识消息。节点3 308在seq的共识轮具有记录的pp1、p2、p3、c1、c2和c3。因为所有记录的消息包括发布节点的数字签名,所以它们的真实性可以通过使用发布节点的相应公钥来验证。由于节点3 308已经记录了三个共识消息c1、c2和c3,这大于或等于2f+1个,所以它可以向节点4 310提供经数字签名的消息pp1、p2、p3、c1、c2、c3。在一些情况下,如果接收获取请求的节点已记录的共识消息少于2f+1个,则该请求节点可以从系统中的其它节点获取,直到获得至少2f+1个共识消息。在示例性处理300中,只要节点1304、节点2 306和节点3 308中的任何一个连接到区块链网络,节点4 310就可以获取全部的所述共识消息。因此,被恢复的节点可能只需要执行一次同步来获取缺少的消息。如此,可节省网络资源,并提高系统效率。
图5描绘了可以根据本公开实施方式执行的示例性处理500。为了清楚地呈现,在本说明中以下描述在其他附图的执行背景下总体地描述了示例性处理500。然而,将理解,示例性处理500可以例如通过任何系统、环境、软件和硬件,或系统、环境、软件和硬件的组合合理进行。在一些实施方式中,示例性处理500的各个步骤可以以并行、组合、循环或任何顺序运行。
在502,PBFT系统中基于PBFT重新连接到区块链网络的备节点设置在视图改变超时之前期满的定时器。在504,响应于所述定时器期满,该备节点向另一共识节点发送请求以获得该备节点缺少的一个或多个共识消息。在一些实施方式中,该请求包括表示共识轮的编号的序列号。在一些实施方式中,所述一个或多个共识消息包括该第一共识节点缺少的预准备消息、准备消息和承诺消息中的一个或多个。
在506,该备节点从该共识节点接收一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应共识节点的私钥进行数字签名。在一些实施方式中,所述一个或多个共识消息包括第一共识节点缺少的预准备消息、准备消息和承诺消息中的一个或多个。在一些实施方式中,所述一个或多个共识消息被存储在生成或存储它们的一个或多个共识节点中,直到达到稳定的检查点。
在508,如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则该备节点确定交易的区块有效,其中,f是区块链基于PBFT可容忍的故障节点的最大数目。在一些实施方式中,备节点还接收与所述一个或多个共识消息相对应的一个或多个序列号。每个序列号表示与对应的共识消息相关联的共识轮的编号。
在一些实施方式中,如果交易的区块被确定有效,则该备节点还向区块链和状态数据库提交该交易的所述区块。在一些实施方式中,响应于定时器期满并且如果交易的区块被确定无效,则该备节点还向不同于该共识节点和该备节点的第三共识节点发送请求以获得该共识节点缺少的一个或多个第二共识消息的请求。该备节点从第三共识节点接收该一个或多个第二共识消息,所述一个或多个第二共识消息中的每个共识消息被生成该第二共识消息的相应共识节点的私钥进行数字签名。随后,如果包括在一个或多个共识消息以及一个或多个第二共识消息中的承诺消息的数量大于或等于2f+1,则该备节点确定该交易的区块有效。
本申请中所描述主题的实施方式可被实施以实现特定优点或技术效果。例如,本公开的实施方式允许联盟区块链中的共识节点发送具有序列号的经数字签名的共识消息,该序列号标识相应消息的共识轮。经数字签名的共识消息可被备节点信任以确保安全,并且可以验证消息的来源。这样,可以提高联盟区块链的数据安全性和隐私性。此外,如果备节点从断开处恢复,则它可通过从另一随机共识节点获取缺少的消息、而不是向整个网络广播获取请求来与其它节点同步。因为从另一个共识节点获取的消息携带发布节点的数字签名,所以消息的源是可信的,并且该备节点能够通过一次同步从一个节点获取所有缺少的消息。这样,同步或共识的复杂度在理想条件下可以降低到O(1),而基于PBFT的标准组播方法的复杂度为O(n)。相应地,可以节省计算和网络资源,并且可以提高PBFT系统的效率。
所描述的方法可以通过对区块链的有效更新来确保计算机资源(例如,处理周期、网络带宽和存储器利用率)的有效使用。通过更简单的共识处理,这些账户操作可被更快且更安全地进行。
本文中描述的实施方式和操作可以在数字电子电路中或者在计算机软件、固件、包括本申请中公开的结构的硬件中或它们中一个或多个的组合中实现。这些操作可被实施为由数据处理装置对存储在一个或多个计算机可读存储设备上的、或从其他资源接收的数据执行的操作。数据处理装置、计算机或计算设备可以包括,包括诸如可编程处理器、计算机、片上系统或以上一个或多个或组合的,用于处理数据的装置、设备和机器。装置可以包括专用逻辑电路,例如,中央处理单元(CPU)、现场可编程门阵列(FPGA)或专用集成电路(ASIC)。装置还可包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统(例如一个操作系统或多个操作系统的组合)、跨平台运行时间环境、虚拟机或者它们之中一个或多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,例如网页服务、分布式计算和网格计算基础设施。
计算机程序(又称,例如,程序、软件、软件应用、软件模块、软件单元、脚本或代码)可以以任何形式的编程语言编写,包括编译语言或演绎性语言、说明性语言或程序性语言,并且它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、子程序、对象或适合在计算环境中使用的其他单元。程序可存储在:保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件中或者多个协调文件中(例如,存储一个或多个模块,子程序或部分代码的多个文件)中。计算机程序可以在一台计算机或者位于一个站点或由通信网络互联的分布在多个站点上的多台计算机执行。
用于执行计算机程序的处理器包括,例如,通用和专用微型处理器两者,和任意种类的数码计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或其两者接收指令和数据。计算机的重要元件为用于根据指令进行操作的处理器和用于存储指令和数据的一个或多个存储设备。通常,计算机还将包括一个或多个用于存储数据的大型存储设备,或可操作地耦接以从所述大型存储设备接收数据或向其转发数据,或两者。计算机可嵌入在另一个设备中,例如,移动电话、个人数字助理(PDA)、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备。适用于存储计算机程序指令和数据的设备包括非易失性存储器、介质和存储设备,包括,例如,半导体存储设备、磁盘和磁光盘。处理器和存储器可补充有专用逻辑电路或集成在专用逻辑电路中。
移动设备可以包括手机、用户设备(UE)、移动电话(例如,智能电话)、平板电脑、可穿戴设备(例如,智能手表和智能眼镜)、人体内的植入设备(例如,生物传感器、人工耳蜗植入)、或其它类型的移动设备。移动设备可以无线地(例如,使用射频(RF)信号)与各种(下文描述的)通信网络通信。移动设备可以包括用于确定移动设备当前环境的特征的传感器。传感器可以包括相机、麦克风、接近传感器、GPS传感器、运动传感器、加速度测量计、环境光传感器、湿度传感器、陀螺仪、指南针、气压计、指纹传感器、面部识别系统、RF传感器(例如,WiFi和蜂窝无线电)、热量传感器或其它类型的传感器。例如,相机可以包括带有可动或固定镜头的前置或后置相机、闪光灯、图像传感器和图像处理器。相机可以是能够捕捉用于面部和/或虹膜识别的细节的百万像素相机。相机与数据处理器和存储在存储器中或可远程访问的认证数据一起可以形成面部识别系统。面部识别系统或者一个或多个传感器,例如,麦克风、运动传感器、加速度测量计、GPS传感器或RF传感器可以用于用户认证。
为提供用于与用户的交互,实施方式可以在具有显示设备和输入设备的计算机上实现,例如,用于向用户显示信息的液晶显示器(LCD)或有机发光二极管(OLED)/虚拟现实(VR)/增强现实(AR)显示器以及用户可提供输入至计算机的触摸屏、键盘和指针设备。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可是任何形式的感官反馈,例如视觉反馈,听觉反馈或触觉反馈;且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可通过向用户使用的设备发送文档并从用户使用的设备接收文档来与用户交互;例如,通过响应于从网页浏览器接收到的请求向客户设备上的网页浏览器发送网页。
实施方式可以使用计算设备实现,计算设备通过有线或无线数字数据通信(或其组合)的任意形式或媒介互联,例如,通信网络。互联设备的示例为通常彼此远离的、通常通过通信网络交互的客户端和服务器。客户端,例如,移动设备,可以自身与服务器或通过服务器进行交易,例如进行买、卖、支付、给予、发送或贷款交易,或认证以上交易。这种交易可以是实时的使得操作和响应在时间上接近,例如个体感觉操作和响应基本上是同时发生的,对于在个体的操作之后的响应的时间差小于一毫秒(ms)或小于一秒(s),或在不考虑系统的处理限制的情况下,响应没有主动延迟。
通信网络的示例包括局域网(LAN)、无线电接入网(RAN)、城域网(MAN)和广域网(WAN)。通信网络可以包括所有或部分因特网、其他通信网络或通信网络的组合。可以根据各种协议和标准在通信网络上传输信息,包括长期演进网络(LTE)、5G、IEEE 802、因特网协议(IP)或其他协议或协议的组合。通信网络可以在连接的计算设备之间传输音频、视频、生物特征或认证数据或其他信息。
作为单独实施方式描述的特征可以组合实施、在单个实施方式中实施,然而被描述为单个实施方式的特征可以在多个实施方式中分别单独实现,或在任何合适的子组合中实现。按特定顺序描述的和要求保护的操作不应理解为必须以该顺序进行,也不是所有示出的操作都必须被执行(一些操作可以是可选的)。适当地,可以进行多任务或并行处理(或多任务和并行处理的组合)。

Claims (9)

1.一种基于实用拜占庭容错PBFT促进区块链网络中的共识处理的计算机实现方法,包括:
第一共识节点设置在视图改变超时之前期满的定时器;
响应于所述定时器期满,向第二共识节点发送请求以获得所述第一共识节点缺少的一个或多个共识消息;
从所述第二共识节点接收所述一个或多个共识消息,所述一个或多个共识消息中的每个共识消息被生成该共识消息的相应的共识节点的私钥进行数字签名;以及
如果包括在所接收的一个或多个共识消息中的承诺消息的数量大于或等于2f+1,则确定交易的区块有效,其中,f是所述区块链基于PBFT能够容忍的故障节点的最大数目。
2.如权利要求1所述的计算机实现方法,其中,所述请求包括表示共识轮的编号的序列号。
3.如权利要求1所述的计算机实现方法,其中,所述一个或多个共识消息包括:所述第一共识节点缺少的预准备消息、准备消息和承诺消息中的一个或多个。
4.如权利要求1所述的计算机实现方法,其中,所述一个或多个共识消息被存储在生成或存储它们的一个或多个共识节点中,直到到达稳定的检查点。
5.如权利要求1所述的计算机实现方法,还包括:
接收对应于所述一个或多个共识消息的一个或多个序列号,其中,每个序列号表示与对应的共识消息相关联的共识轮的编号。
6.如权利要求1所述的计算机实现方法,还包括:
如果所述交易的区块被确定有效,则向区块链和状态数据库提交所述交易的区块。
7.如权利要求1所述的计算机实现方法,还包括:
响应于所述定时器期满并且如果所述交易的区块被确定无效,则向第三共识节点发送请求以获得所述第二共识节点缺少的一个或多个第二共识消息;
从所述第三共识节点接收所述一个或多个第二共识消息,所述一个或多个第二共识消息中的每个第二共识消息被生成该第二共识消息的相应的共识节点的私钥进行数字签名;以及
如果包括在所述一个或多个共识消息和所述一个或多个第二共识消息中的承诺消息的数量大于或等于2f+1,则确定所述交易的区块有效。
8.一种耦接到一个或多个处理器且其上存储有指令的非暂态计算机可读存储介质,当由所述一个或多个处理器执行所述指令时,促使所述一个或多个处理器根据权利要求1-7中一个或多个所述的方法执行操作。
9.一种系统,包括:
计算设备;和
耦接到所述计算设备且其上存储有指令的计算机可读存储设备,当由所述计算设备执行所述指令时,促使所述计算设备根据权利要求1-7中一个或多个所述的方法执行操作。
CN201880005137.2A 2018-11-07 2018-11-07 促进实用拜占庭容错区块链共识和节点同步 Active CN110115001B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/114334 WO2019072263A2 (en) 2018-11-07 2018-11-07 FACILITATION OF BLOCK CHAIN CONSENSUS AND NODE SYNCHRONIZATION FOR PRACTICAL TOLERANCE TO ARBITRARY FAILURES

Publications (2)

Publication Number Publication Date
CN110115001A true CN110115001A (zh) 2019-08-09
CN110115001B CN110115001B (zh) 2022-07-15

Family

ID=66100059

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880005137.2A Active CN110115001B (zh) 2018-11-07 2018-11-07 促进实用拜占庭容错区块链共识和节点同步

Country Status (16)

Country Link
US (3) US10803052B2 (zh)
EP (2) EP3542514B1 (zh)
JP (1) JP6727630B2 (zh)
KR (1) KR102193549B1 (zh)
CN (1) CN110115001B (zh)
AU (1) AU2018347187B2 (zh)
BR (1) BR112019008172B1 (zh)
CA (1) CA3041463C (zh)
ES (1) ES2867423T3 (zh)
MX (1) MX2019004657A (zh)
PH (1) PH12019500902B1 (zh)
PL (1) PL3542514T3 (zh)
RU (1) RU2724181C1 (zh)
SG (1) SG11201903581WA (zh)
WO (1) WO2019072263A2 (zh)
ZA (1) ZA201902555B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111417946A (zh) * 2020-02-24 2020-07-14 支付宝(杭州)信息技术有限公司 基于区块链的共识处理
CN112019599A (zh) * 2020-03-16 2020-12-01 支付宝(杭州)信息技术有限公司 在区块链共识处理时进行处理消息同步的方法及装置
CN112068978A (zh) * 2020-08-27 2020-12-11 恒宝股份有限公司 View-change二次启动定时器的定时期限延长方法
CN112513914A (zh) * 2020-07-03 2021-03-16 支付宝(杭州)信息技术有限公司 基于区块链的隐私交易中提供隐私和安全保护的系统和方法
CN112564960A (zh) * 2020-12-01 2021-03-26 浙商银行股份有限公司 基于区块链节点中心度弹性调整共识的方法及装置
CN112565368A (zh) * 2020-11-26 2021-03-26 中国船舶工业系统工程研究院 基于区块链的海上装备自组网系统、方法和介质
CN113259120A (zh) * 2021-06-02 2021-08-13 支付宝(杭州)信息技术有限公司 同步节点信息列表的方法
CN113630257A (zh) * 2021-10-09 2021-11-09 支付宝(杭州)信息技术有限公司 一种共识方法、区块链系统和共识节点
CN114401150A (zh) * 2019-09-05 2022-04-26 创新先进技术有限公司 区块链网络中加入节点的方法和区块链系统

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110430064B (zh) * 2017-03-30 2020-12-04 腾讯科技(深圳)有限公司 区块链系统、消息处理方法及存储介质
BR112019008172B1 (pt) 2018-11-07 2022-01-25 Advanced New Technologies Co., Ltd Método implementado por computador para facilitar um processo de consenso em uma rede de protocolo de confiança baseada na tolerância a falhas bizantinas práticas, meio de armazenamento não transitório legível por computador e sistema
WO2019101241A2 (en) * 2019-03-18 2019-05-31 Alibaba Group Holding Limited System and method for ending view change protocol
CN110785966B (zh) 2019-03-18 2022-08-26 创新先进技术有限公司 用于结束视图更改协议的系统和方法
ES2872101T3 (es) 2019-04-26 2021-11-02 Advanced New Technologies Co Ltd Gestión de claves distribuidas para entornos de ejecución confiables
CN110166295B (zh) * 2019-05-23 2021-07-30 杭州趣链科技有限公司 一种用于判断网络拓扑支持拜占庭容错与否的方法
US11050822B2 (en) * 2019-06-05 2021-06-29 International Business Machines Corporation Secure data dissemination
SE544149C2 (en) * 2019-06-25 2022-01-11 Coined Invest Pool Company Ab Method and system for performing electronic transactions
CN110458291A (zh) * 2019-08-09 2019-11-15 成都理工大学 一种基于遗传算法的最佳共识节点选择方法
CN110636113A (zh) * 2019-08-23 2019-12-31 上海电力大学 区块链的拜占庭容错共识方法、系统、设备和存储介质
CN110730204B (zh) * 2019-09-05 2022-09-02 创新先进技术有限公司 区块链网络中删除节点的方法和区块链系统
EP4029218A4 (en) * 2019-09-11 2022-09-21 Visa International Service Association BLOCKCHAIN FRAGMENTATION WITH ADJUSTABLE QUORUMS
CN110661656B (zh) * 2019-09-20 2022-03-04 广东卓启投资有限责任公司 一种区块链快速共识方法及装置
US11368284B2 (en) * 2019-09-25 2022-06-21 Ford Global Technologies, Llc Vehicle blockchain transactions
CN110460484B (zh) * 2019-10-10 2020-02-18 杭州趣链科技有限公司 一种基于pbft算法改进的单节点异常主动恢复方法
WO2021073777A1 (en) * 2019-10-14 2021-04-22 NEC Laboratories Europe GmbH Topology-driven byzantine fault-tolerant consensus protocol with vote aggregation
CN111131399B (zh) * 2019-12-03 2021-11-26 北京海益同展信息科技有限公司 一种区块链中共识节点动态增加方法及装置
CN111163148B (zh) * 2019-12-24 2021-09-28 腾讯科技(深圳)有限公司 一种区块链系统的共识状态的同步方法及相关设备
CN111444211B (zh) * 2020-03-26 2021-07-13 腾讯科技(深圳)有限公司 区块链共识节点校验方法、装置、设备以及存储介质
US11250021B2 (en) 2020-04-17 2022-02-15 International Business Machines Corporation Faster view change for blockchain
CN111682942B (zh) * 2020-05-18 2022-06-10 哈尔滨工业大学 一种应用于许可链的二元加权拜占庭容错共识方法
CN111698315B (zh) * 2020-06-09 2021-10-15 腾讯科技(深圳)有限公司 针对区块的数据处理方法、数据处理装置及计算机设备
CN111756823A (zh) * 2020-06-12 2020-10-09 山西警察学院 基于简化拜占庭容错算法的应用于公安系统的开放许可链
CN113888168A (zh) * 2020-07-03 2022-01-04 支付宝(杭州)信息技术有限公司 联盟链的共识方法、数据校验方法、装置及系统
CN112118321B (zh) * 2020-09-24 2023-06-06 北京工业大学 一种工业区块链的实用拜占庭容错共识机制优化系统
CN112651830B (zh) * 2020-12-03 2023-01-24 齐鲁工业大学 应用于电力资源共享网络的区块链共识方法
CN112769917B (zh) * 2020-12-31 2022-08-02 山西特信环宇信息技术有限公司 一种锥体区块链的主权联盟链
CN112866399B (zh) * 2021-01-28 2023-01-31 深圳大学 一种改进的pbft共识方法、装置、智能终端及存储介质
CN113301149A (zh) * 2021-05-24 2021-08-24 山东大学 一种基于区块链的可信软件定义网络构建方法
CN113316177B (zh) * 2021-06-01 2022-03-25 山东大学 一种智能群体的决策通信系统及决策通信方法
CN113259456B (zh) * 2021-06-02 2021-10-15 支付宝(杭州)信息技术有限公司 跨链交互方法及装置
CN113448694B (zh) * 2021-06-11 2023-04-21 电子科技大学 一种提高事务处理能力的区块链共识方法
CN113542285B (zh) * 2021-07-19 2022-06-28 东南大学 一种针对Tendermint共识协议的多阶段自动化的形式化验证方法
CN113328920B (zh) * 2021-08-04 2021-10-29 成都飞机工业(集团)有限责任公司 一种对设备数据的采集与存储方法
WO2023035065A1 (en) * 2021-09-07 2023-03-16 Jalalzai Mohammad Methods and systems for fast consensus within distributed ledgers
CN113541968B (zh) * 2021-09-16 2021-11-26 中国信息通信研究院 共识方法、装置及区块链系统
CN113821569B (zh) * 2021-09-30 2024-02-06 广州智链未来科技有限公司 一种区块链的共识方法及区块链
CN113761071B (zh) * 2021-10-09 2023-07-11 支付宝(杭州)信息技术有限公司 一种共识方法、区块链系统和共识节点
CN114401064B (zh) * 2021-12-06 2023-10-31 西安电子科技大学 信任管理时间同步方法、系统、计算机设备、介质及终端
CN114258015B (zh) * 2021-12-23 2023-10-24 成都三零瑞通移动通信有限公司 一种基于全网共识的集群终端防失控方法及系统
CN114048517B (zh) * 2022-01-14 2022-05-20 北京大学深圳研究生院 区块链的双通道共识系统和方法、计算机可读存储介质
CN116633699B (zh) * 2023-07-25 2023-10-13 北京银联金卡科技有限公司 基于区块链的产品防伪溯源信息可信处理方法及系统
CN116915796B (zh) * 2023-09-14 2023-12-12 杭州趣链科技有限公司 集群视图分叉后的自主恢复方法、装置以及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070195815A1 (en) * 2006-02-21 2007-08-23 Turner R B Methods and apparatus for low latency signal aggregation and bandwidth reduction
CN103069891A (zh) * 2010-08-23 2013-04-24 诺基亚公司 用于自组织网络中的功率节省的装置和方法
CN106447311A (zh) * 2016-09-26 2017-02-22 北京天德科技有限公司 一种四次通信的拜占庭容错算法的区块链建块方法
CN107124403A (zh) * 2017-04-14 2017-09-01 朱清明 区块链中共识区块的生成方法与计算设备
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
CN107368507A (zh) * 2017-03-28 2017-11-21 阿里巴巴集团控股有限公司 一种基于区块链的共识方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7392391B2 (en) 2001-11-01 2008-06-24 International Business Machines Corporation System and method for secure configuration of sensitive web services
US8745401B1 (en) 2010-11-12 2014-06-03 Google Inc. Authorizing actions performed by an online service provider
KR101757245B1 (ko) 2015-07-28 2017-07-13 한국과학기술원 피커링 에멀젼 및 그 제조 방법
JP6767007B2 (ja) * 2015-11-20 2020-10-14 株式会社写真化学 光造形装置
KR20170137388A (ko) * 2016-06-03 2017-12-13 (주) 블록체인오에스 블록체인 기술을 이용한 무결성 보장 방법
EP3394756B1 (en) * 2016-11-25 2024-01-03 NEC Corporation Method and system for byzantine fault - tolerance replicating of data
CN107360206B (zh) * 2017-03-29 2020-03-27 创新先进技术有限公司 一种区块链共识方法、设备及系统
CN107301600B (zh) * 2017-06-23 2021-07-20 北京天德科技有限公司 一种跨链交易的区块链互联网模型的核心构建方法
CN107579848B (zh) * 2017-08-30 2020-08-25 上海保险交易所股份有限公司 实用拜占庭容错共识机制中动态更改共识节点的方法
RU181439U1 (ru) * 2018-04-06 2018-07-13 Оксана Валерьевна Кириченко Децентрализованная технологическая платформа хранения и обмена данными транзакций в распределенной вычислительной сети
BR112019008172B1 (pt) 2018-11-07 2022-01-25 Advanced New Technologies Co., Ltd Método implementado por computador para facilitar um processo de consenso em uma rede de protocolo de confiança baseada na tolerância a falhas bizantinas práticas, meio de armazenamento não transitório legível por computador e sistema

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070195815A1 (en) * 2006-02-21 2007-08-23 Turner R B Methods and apparatus for low latency signal aggregation and bandwidth reduction
CN103069891A (zh) * 2010-08-23 2013-04-24 诺基亚公司 用于自组织网络中的功率节省的装置和方法
CN106447311A (zh) * 2016-09-26 2017-02-22 北京天德科技有限公司 一种四次通信的拜占庭容错算法的区块链建块方法
WO2017186317A1 (en) * 2016-10-04 2017-11-02 Nec Europe Ltd. Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
CN107368507A (zh) * 2017-03-28 2017-11-21 阿里巴巴集团控股有限公司 一种基于区块链的共识方法及装置
CN107124403A (zh) * 2017-04-14 2017-09-01 朱清明 区块链中共识区块的生成方法与计算设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ELEFTHERIOS KOKORIS-KOGIAS等: "《Enhancing Bitcoin Security and Performance with Strong Consistency via Collective Signing》", 《25TH USENIX SECURITY SYMPOSIUM》 *
MIGUEL CASTRO等: "《Proactive Recovery in a Byzantine-Fault-Tolerant System》", 《THE ADVANCED COMPUTING SYSTEMS ASSOCIATION》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114401150A (zh) * 2019-09-05 2022-04-26 创新先进技术有限公司 区块链网络中加入节点的方法和区块链系统
CN114401150B (zh) * 2019-09-05 2023-10-20 创新先进技术有限公司 区块链网络中加入节点的方法和区块链系统
CN111417946A (zh) * 2020-02-24 2020-07-14 支付宝(杭州)信息技术有限公司 基于区块链的共识处理
CN111417946B (zh) * 2020-02-24 2023-08-04 支付宝(杭州)信息技术有限公司 基于区块链的共识处理
CN112019599A (zh) * 2020-03-16 2020-12-01 支付宝(杭州)信息技术有限公司 在区块链共识处理时进行处理消息同步的方法及装置
CN112513914A (zh) * 2020-07-03 2021-03-16 支付宝(杭州)信息技术有限公司 基于区块链的隐私交易中提供隐私和安全保护的系统和方法
CN112068978A (zh) * 2020-08-27 2020-12-11 恒宝股份有限公司 View-change二次启动定时器的定时期限延长方法
CN112565368A (zh) * 2020-11-26 2021-03-26 中国船舶工业系统工程研究院 基于区块链的海上装备自组网系统、方法和介质
CN112565368B (zh) * 2020-11-26 2023-05-19 中国船舶集团有限公司系统工程研究院 基于区块链的海上装备自组网系统、方法和介质
CN112564960A (zh) * 2020-12-01 2021-03-26 浙商银行股份有限公司 基于区块链节点中心度弹性调整共识的方法及装置
CN113259120A (zh) * 2021-06-02 2021-08-13 支付宝(杭州)信息技术有限公司 同步节点信息列表的方法
CN113630257A (zh) * 2021-10-09 2021-11-09 支付宝(杭州)信息技术有限公司 一种共识方法、区块链系统和共识节点

Also Published As

Publication number Publication date
EP3542514A2 (en) 2019-09-25
WO2019072263A2 (en) 2019-04-18
SG11201903581WA (en) 2019-05-30
CA3041463C (en) 2020-08-25
EP3542514A4 (en) 2019-11-27
JP2020504351A (ja) 2020-02-06
PH12019500902A1 (en) 2019-12-02
RU2724181C1 (ru) 2020-06-22
BR112019008172B1 (pt) 2022-01-25
AU2018347187A1 (en) 2020-05-21
US20210026839A1 (en) 2021-01-28
JP6727630B2 (ja) 2020-07-22
US11036721B2 (en) 2021-06-15
CA3041463A1 (en) 2019-04-18
WO2019072263A3 (en) 2019-08-29
PL3542514T3 (pl) 2021-08-30
CN110115001B (zh) 2022-07-15
ZA201902555B (en) 2020-01-29
KR20200054127A (ko) 2020-05-19
US10803052B2 (en) 2020-10-13
ES2867423T3 (es) 2021-10-20
US11397725B2 (en) 2022-07-26
KR102193549B1 (ko) 2020-12-23
BR112019008172A2 (pt) 2019-09-10
EP3542514B1 (en) 2021-02-17
EP3836512A1 (en) 2021-06-16
EP3836512B1 (en) 2022-07-13
US20190251077A1 (en) 2019-08-15
MX2019004657A (es) 2019-08-12
US20210303550A1 (en) 2021-09-30
AU2018347187B2 (en) 2020-09-03
PH12019500902B1 (en) 2019-12-02

Similar Documents

Publication Publication Date Title
CN110115001A (zh) 促进实用拜占庭容错区块链共识和节点同步
US11128522B2 (en) Changing a master node in a blockchain system
JP6883111B2 (ja) イベント駆動型ブロックチェーンワークフロー処理
JP6810259B2 (ja) ワークフローに基づくブロックチェーンネットワーク上での非公開のトランザクションの管理
JP6827564B2 (ja) 分散型台帳システムにおけるトランザクションのパラレル実行の実施
US20220239496A1 (en) Blockchain consensus method, device and system
JP2023036931A (ja) ブロックチェーン・ネットワークのノードに関する方法
CN110771127B (zh) 用于区块链网络中一致分布式内存池的方法和系统
CN110326013A (zh) 在账户模型下支持公开交易和私有交易的区块链系统
US20230037932A1 (en) Data processing method and apparatus based on blockchain network, and computer device
JP2021518962A (ja) ブロックチェーンブロックの非同期処理
CN110383759A (zh) 管理共识节点和客户端节点之间的通信
US20230259938A1 (en) Blockchain-based data processing method and apparatus, device, readable storage medium and computer program product
CN111475309A (zh) 一种数据处理方法、装置、区块链服务系统及存储介质
JP7477576B2 (ja) ブロックチェーンネットワークにおける整合性のある分散型メモリプールのための方法及びシステム
Ying et al. LOPE: A Low‐Overhead Payment Verification Method for Blockchains
Alavizadeh et al. A distributed reliable collusion‐free algorithm for selecting multiple coordinators in IOTA using fog computing
CN115485687A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40011686

Country of ref document: HK

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20201014

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant