CN113746635A - Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium - Google Patents
Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium Download PDFInfo
- Publication number
- CN113746635A CN113746635A CN202110950596.1A CN202110950596A CN113746635A CN 113746635 A CN113746635 A CN 113746635A CN 202110950596 A CN202110950596 A CN 202110950596A CN 113746635 A CN113746635 A CN 113746635A
- Authority
- CN
- China
- Prior art keywords
- consensus
- transactions
- node
- coordinator
- pbft
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
技术领域technical field
本发明涉及区块链共识技术领域,尤其涉及应用于区块链溯源等场景的联盟链中PBFT共识算法的可扩展性,即在网络节点扩展下的表现。具体为一种提高PBFT共识可扩展性的方法、装置、计算设备及存储介质。The invention relates to the technical field of blockchain consensus, in particular to the scalability of a PBFT consensus algorithm in a consortium chain applied to scenarios such as blockchain traceability, that is, the performance under network node expansion. Specifically, it is a method, apparatus, computing device and storage medium for improving the scalability of PBFT consensus.
背景技术Background technique
当前区块链技术已经应用于商业、金融等不同领域,在溯源等场景发挥重要作用。联盟链由一些机构发起,在实际应用中联盟链主要是PBFT算法。相比于传统的公链算法,PBFT算法共识各节点由业务的参与方或者监管方组成。该算法不需要挖矿和货币激励,安全性与稳定性由业务相关方保证。因此更适用于实际生产环境。At present, blockchain technology has been applied to different fields such as business and finance, and plays an important role in scenarios such as traceability. The alliance chain is initiated by some institutions. In practical applications, the alliance chain is mainly the PBFT algorithm. Compared with the traditional public chain algorithm, each node of the PBFT algorithm consensus is composed of business participants or supervisors. The algorithm does not require mining and monetary incentives, and the security and stability are guaranteed by business stakeholders. Therefore, it is more suitable for the actual production environment.
然而,由于可扩展性问题,技术的应用受到限制。尽管与可扩展性相关的因素多种多样,如网络带宽和加密算法,但一致性算法是显著影响问题的关键因素,可确保参与者在分布式环境中保持相同的数据。However, the application of the technology is limited due to scalability issues. While there are various factors related to scalability, such as network bandwidth and encryption algorithms, the consensus algorithm is a key factor that significantly affects the problem, ensuring that participants maintain the same data in a distributed environment.
在区块链的一致性算法中,基于拜占庭容错(BFT)的一致性算法得到了广泛的应用。PBFT(实用拜占庭容错)是一个流行且具有代表性的例子。在基于BFT的一致性算法中,随着参与者数量的增加,参与者之间的网络通信数量呈指数级增长。这是因为基于BFT的一致性算法要求所有参与者都参与到每个交易完成的过程中,而这个过程由不同的步骤组成。Among the consensus algorithms of blockchain, the consensus algorithm based on Byzantine Fault Tolerance (BFT) has been widely used. PBFT (Practical Byzantine Fault Tolerance) is a popular and representative example. In a BFT-based consensus algorithm, as the number of participants increases, the number of network communications between participants increases exponentially. This is because BFT-based consensus algorithms require all participants to participate in the completion of each transaction, which consists of different steps.
基于BFT的一致性算法的核心三个阶段分别是pre-prepare阶段(预准备阶段),prepare阶段(准备阶段),commit阶段(提交阶段)。图1中的C代表客户端,N0~N3代表编号为0~3的节点,N0是主节点。打叉的N3代表可能是故障节点或者问题节点,这里表现的行为就是对其它节点的请求无响应。节点通信过程中有一次单点全广播和两次全点全广播,当节点的数量越来越多时,通信次数呈指数型增长、共识过程网络消耗较大,容易造成网络拥堵影响请求正确执行。The core three phases of the BFT-based consensus algorithm are the pre-prepare phase (pre-preparation phase), the prepare phase (preparation phase), and the commit phase (commit phase). C in Figure 1 represents the client, N0 to N3 represent nodes numbered 0 to 3, and N0 is the master node. The crossed N3 means that it may be a faulty node or a problem node, and the behavior here is that it does not respond to requests from other nodes. In the process of node communication, there is one single-point full broadcast and two full-point full broadcasts. When the number of nodes increases, the number of communications increases exponentially, and the network consumption during the consensus process is large, which is likely to cause network congestion and affect the correct execution of requests.
随着节点数的增加,其性能和可扩展性不可避免地降低。这是因为所有参与者都应该加入共识过程,一致性过程完成得越来越慢。As the number of nodes increases, its performance and scalability inevitably decrease. This is because all participants should join the consensus process, and the consensus process completes more and more slowly.
在应用中发现PBFT算法的缺点也很明显:The shortcomings of the PBFT algorithm are also evident in applications:
(1)算法在收到客户端请求之后,需要经过预准备、准备、确认三个阶段才能达成共识。每一个阶段均需要广播全网节点,这将带来巨大的传输消耗。随着节点的增多,这种消耗会迅速的增加。当n个节点达成状态共识时,算法通信复杂度达到O(n2)。有实验得出,在Hyperledger Fabric平台的测试,当节点数量超过16时,算法的性能会急剧下降。(1) After the algorithm receives the client request, it needs to go through three stages of pre-preparation, preparation and confirmation to reach a consensus. Each stage needs to broadcast the entire network nodes, which will bring huge transmission consumption. As the number of nodes increases, this consumption will increase rapidly. When n nodes reach a state consensus, the communication complexity of the algorithm reaches O(n 2 ). Some experiments show that in the test on the Hyperledger Fabric platform, when the number of nodes exceeds 16, the performance of the algorithm will drop sharply.
(2)PBFT算法里面的主节点选择策略较为简单,当主节点是拜占庭节点时,会发生视图切换,增加视图切换协议的开销,并根据新视图选出新主节点。此操作将带来不小的时间开销,(2) The master node selection strategy in the PBFT algorithm is relatively simple. When the master node is a Byzantine node, view switching will occur, increasing the overhead of the view switching protocol, and selecting a new master node according to the new view. This operation will bring a lot of time overhead,
(3)区块链系统中共识节点可以是不稳定的,随时会有节点加入进来,也会有节点退出系统。在节点变化之后,主节点的选择策略以及是否进行视图切换也是需要考虑的问题。PBFT算法没有完善的节点加入和退出机制。节点加入和退出时,整个网络需要重新启动,开销较大。如果系统中的节点更换频率较大,这将大大降低系统的可用性。(3) Consensus nodes in the blockchain system can be unstable. At any time, nodes will join in and some nodes will exit the system. After the node changes, the selection strategy of the master node and whether to switch views are also issues that need to be considered. The PBFT algorithm does not have a perfect node joining and exiting mechanism. When a node joins and leaves, the entire network needs to be restarted, which is expensive. If the nodes in the system are replaced frequently, this will greatly reduce the availability of the system.
发明内容SUMMARY OF THE INVENTION
为克服上述现有技术的不足,本发明提供一种提高PBFT共识可扩展性的方法、装置、计算设备及存储介质,用于在很多个节点加入系统后,使系统仍然能够提供良好的服务。In order to overcome the above-mentioned deficiencies of the prior art, the present invention provides a method, device, computing device and storage medium for improving the scalability of PBFT consensus, so that the system can still provide good services after many nodes join the system.
根据本发明说明书的一方面,提供一种提高PBFT共识可扩展性的方法,引入共识协调器,所述方法包括:According to an aspect of the present specification, a method for improving the scalability of PBFT consensus is provided, which introduces a consensus coordinator, and the method includes:
选择一个主节点来执行基于PBFT的一致性算法,所述主节点与共识协调器通信;selecting a master node that communicates with the consensus coordinator to execute the PBFT-based consensus algorithm;
所述共识协调器从每个节点的交易池收集交易,根据收集交易的相等性对交易进行分类,并决定是否执行一致性算法;其中,The consensus coordinator collects transactions from the transaction pool of each node, classifies the transactions according to the equality of the collected transactions, and decides whether to execute the consensus algorithm; wherein,
当所有交易都相等时,所述共识协调器请求主节点执行块生成;When all transactions are equal, the consensus coordinator requests the master node to perform block generation;
当某些交易不相等时,所述共识协调器将交易分为普通交易和故障交易,并请求主节点仅对故障交易执行基于PBFT的一致性算法,生成约定交易;主节点将共识后的交易通知给共识协调器;共识协调器按时间顺序对所有普通交易和约定交易进行打包,并请求所有节点对打包的交易执行块生成。When some transactions are not equal, the consensus coordinator divides the transactions into ordinary transactions and faulty transactions, and requests the master node to execute the PBFT-based consensus algorithm only on the faulty transactions to generate agreed transactions; Notify the consensus coordinator; the consensus coordinator packages all ordinary and agreed transactions in chronological order, and requests all nodes to perform block generation on the packaged transactions.
上述技术方案中,通过引入共识协调器,并对交易条件进行分类来执行基于PBFT的一致性算法;交易分为相同交易和不相同交易,不相同交易又被划分为普通交易和故障交易,只对有问题的交易执行一致性算法,在共识未达成的情况下执行经典的PBFT算法;这样可以节省因为节点改变视图切换而带来的系统开销,实现可扩展性。In the above technical solution, the consensus algorithm based on PBFT is implemented by introducing a consensus coordinator and classifying transaction conditions; transactions are divided into identical transactions and non-identical transactions, and non-identical transactions are divided into ordinary transactions and faulty transactions. Execute the consensus algorithm for problematic transactions, and execute the classic PBFT algorithm when the consensus is not reached; this can save the system overhead caused by the node changing view switching and achieve scalability.
作为进一步的技术方案,在所有参与节点中,通过可验证随机函数VRF的方式选择一个主节点;当VRF随机数小于等于之前某个节点Nodei的情况下,这个编号i节点Nodei被选为主节点,以节点签名私钥sk为输入对节点号Nodei和种子seed签名后,生成VRF公钥并通知共识协调器。As a further technical solution, among all participating nodes, a master node is selected by means of a verifiable random function VRF; when the VRF random number is less than or equal to a previous node Node i , this number i node Node i is selected as The master node, after signing the node number Node i and the seed seed with the node signature private key sk as input, generates a VRF public key and notifies the consensus coordinator.
作为进一步的技术方案,所述共识协调器一旦得到主节点的选择主节点通知,则从每个节点的交易池中收集所有交易。As a further technical solution, once the consensus coordinator is notified of the selection of the master node by the master node, it collects all transactions from the transaction pool of each node.
作为进一步的技术方案,所述共识协调器通过使用公布的种子和Nodei生成一个随机数random来检查选定的主节点的有效性;如果生成的随机数等于从主节点接收到的Nodei,则共识协调器请求所有节点发送前一个时间timep到当前时间timec之间每个节点的交易池中累积的所有交易;如果生成的随机数不等于从主节点接收到的Nodei,则共识协调器终止本轮所有协调步骤,等待下一个空闲状态。As a further technical solution, the consensus coordinator checks the validity of the selected master node by generating a random number random using the published seed and Node i ; if the generated random number is equal to the Node i received from the master node, Then the consensus coordinator requests all nodes to send all the transactions accumulated in the transaction pool of each node between the previous time time p and the current time time c ; if the generated random number is not equal to the Node i received from the master node, the consensus The coordinator terminates all coordination steps in this round and waits for the next idle state.
根据本发明说明书的一方面,提供了一种提高PBFT共识可扩展性的装置,包括:According to an aspect of the present specification, an apparatus for improving the scalability of PBFT consensus is provided, including:
选择模块,用于从所有区块链节点中选择一个主节点来执行基于BFT的一致性算法,所述主节点与共识协调器通信;a selection module for selecting a master node from all blockchain nodes to execute the BFT-based consensus algorithm, the master node communicating with the consensus coordinator;
所述共识协调器,用于从每个节点的交易池收集交易,根据收集交易的相等性对交易进行分类,并决定是否执行一致性算法;其中,The consensus coordinator is used to collect transactions from the transaction pool of each node, classify the transactions according to the equality of the collected transactions, and decide whether to execute the consensus algorithm; wherein,
当所有交易都相等时,所述共识协调器请求主节点执行块生成;When all transactions are equal, the consensus coordinator requests the master node to perform block generation;
当某些交易不相等时,所述共识协调器将交易分为普通交易和故障交易,并请求主节点仅对故障交易执行基于PBFT的一致性算法,生成约定交易;主节点将共识后的交易通知给共识协调器;共识协调器按时间顺序对所有普通交易和约定交易进行打包,并请求所有节点对打包的交易执行块生成。When some transactions are not equal, the consensus coordinator divides the transactions into ordinary transactions and faulty transactions, and requests the master node to execute the PBFT-based consensus algorithm only on the faulty transactions to generate agreed transactions; Notify the consensus coordinator; the consensus coordinator packages all ordinary and agreed transactions in chronological order, and requests all nodes to perform block generation on the packaged transactions.
上述技术方案中,通过引入共识协调器,在对所有节点的交易进行等价分类后,控制基于PBFT的一致性算法的条件执行;该技术方案要检查交易的相等性,对故障交易执行共识算法,虽然PBFT的共识所用时间有所增加,但在区块链节点数增加的情况下,总运行时延的增速相对于传统PBFT方式得到极大减缓。In the above technical solution, the consensus coordinator is introduced to control the conditional execution of the PBFT-based consensus algorithm after equivalent classification of transactions of all nodes; this technical solution needs to check the equality of transactions and execute the consensus algorithm for faulty transactions. , although the consensus time of PBFT has increased, when the number of blockchain nodes increases, the growth rate of the total running delay is greatly slowed down compared with the traditional PBFT method.
作为进一步的技术方案,所述选择模块,还用于在所有参与节点中,通过可验证随机函数VRF的方式选择一个主节点;当VRF随机数小于等于之前某个节点Nodei的情况下,这个编号i节点Nodei被选为主节点,以节点签名私钥sk为输入对节点号Nodei和种子seed签名后,生成VRF公钥并通知共识协调器。As a further technical solution, the selection module is also used to select a master node among all participating nodes by means of a verifiable random function VRF; when the VRF random number is less than or equal to a previous node Node i , this The number i node Node i is selected as the master node, and after signing the node number Node i and the seed seed with the node signature private key sk as the input, a VRF public key is generated and notified to the consensus coordinator.
作为进一步的技术方案,所述共识协调器进一步用于,按时间顺序对所有公共交易和约定交易进行排序,并请求主节点生成包含所有已处理交易的新块。As a further technical solution, the consensus coordinator is further configured to sort all public transactions and agreed transactions in chronological order, and request the master node to generate a new block containing all processed transactions.
根据本发明说明书的一方面,提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法。According to one aspect of the present specification, there is provided a computing device including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the method when the processor executes the computer program.
根据本发明说明书的一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行所述方法的计算机程序。According to an aspect of the present specification, there is provided a computer-readable storage medium storing a computer program for executing the method.
与现有技术相比,本发明的有益效果在于:Compared with the prior art, the beneficial effects of the present invention are:
(1)本发明提供一种方法,用于改善PBFT一致性算法的可扩展性,即在节点增加情况下,通过交易分类执行有条件的PBFT一致性算法,而不仅仅依赖于使用PBFT。相对于传统方式中随着节点的增加,PBFT中的所有节点算法都参与协商过程且通信次数增加,所有交易都执行协商一致程序,导致PBFT运行时间增加。本发明检查交易的相等性,仅对故障交易执行共识算法,虽然引入了额外的阶段,但在区块链节点数增加的情况下,总运行时间的增加没有单一PBFT方式急剧增加。(1) The present invention provides a method for improving the scalability of the PBFT consensus algorithm, that is, in the case of an increase in nodes, the conditional PBFT consensus algorithm is executed through transaction classification, rather than relying solely on the use of PBFT. Compared with the increase of nodes in the traditional method, all node algorithms in PBFT participate in the negotiation process and the number of communications increases, and all transactions execute the consensus procedure, resulting in an increase in the running time of PBFT. The present invention checks the equality of transactions and only executes the consensus algorithm for faulty transactions. Although an additional stage is introduced, the increase in total running time does not increase sharply with the single PBFT method when the number of blockchain nodes increases.
(2)本发明引入可验证随机函数技术(VRF),使得每个共识节点被选中后仅自己知道,但又可提供证明供其他节点验证。在主节点选举的过程中,网络中每个节点只知晓自己是否被选中而无法知晓其他节点谁被选中。VRF技术的引入使得选举过程具有了不可预测性和不可操纵性,只有选举结束后,网络中的其他节点才能知晓被选中的节点,防止了选举过程被操控,选举过程更加公平、安全。(2) The present invention introduces verifiable random function technology (VRF), so that each consensus node is only known by itself after being selected, but can also provide proofs for other nodes to verify. In the process of master node election, each node in the network only knows whether it is selected and cannot know who is selected by other nodes. The introduction of VRF technology makes the election process unpredictable and unmaneuverable. Only after the election is over, other nodes in the network can know the selected node, which prevents the election process from being manipulated and makes the election process more fair and secure.
(3)本发明提供一种系统,通过引入共识协调器,在对所有节点的交易进行等价分类后,控制基于PBFT的一致性算法的条件执行;该系统在节点变化之后,在共识未达成的情况下切换为经典的PBFT算法,使系统能够根据节点实际情况,选择合适的交易参与共识,实现了共识算法的可配置性。(3) The present invention provides a system that, by introducing a consensus coordinator, controls the conditional execution of the PBFT-based consensus algorithm after equivalent classification of transactions of all nodes; after the node changes, the system fails to reach a consensus after the node changes. In the case of switching to the classic PBFT algorithm, the system can select the appropriate transaction to participate in the consensus according to the actual situation of the node, and realize the configurability of the consensus algorithm.
附图说明Description of drawings
图1为PBFT协议示意图。Figure 1 is a schematic diagram of the PBFT protocol.
图2为根据本发明实施例的提高PBFT共识可扩展性的方法流程图。FIG. 2 is a flowchart of a method for improving the scalability of a PBFT consensus according to an embodiment of the present invention.
图3为根据本发明实施例的共识协调模块与PBFT模块的工作示意图。FIG. 3 is a schematic working diagram of a consensus coordination module and a PBFT module according to an embodiment of the present invention.
具体实施方式Detailed ways
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述发实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present invention.
本申请实施例中所称的节点,可以理解为响应外界特定触发条件,并按一定规则做状态转换的抽象机器,可以是手机、平板电脑、掌上电脑、个人PC电脑等可以按照应用软件且能够联网的设备。The nodes referred to in the embodiments of this application can be understood as abstract machines that respond to specific external trigger conditions and perform state transitions according to certain rules. Internet-connected devices.
如图2所示,本说明书提供一种提高PBFT共识可扩展性的方法,引入共识协调器,所述方法包括:As shown in Figure 2, this specification provides a method for improving the scalability of PBFT consensus, introducing a consensus coordinator, and the method includes:
步骤1,在所有参与节点中选择主节点。
所选的主节点起着与共识协调器交互的作用。在所有参与节点中通过可验证随机函数(VRF)的方式选举一个主节点。选举步骤在每个t规则时间内运行。选举主节点从一个种子开始,这个种子是一个前一个区块的哈希值。因为在前一轮中已经达成一致,前一个区块的哈希值在所有节点中相同。The chosen masternodes play the role of interacting with the consensus coordinator. A master node is elected among all participating nodes by means of a Verifiable Random Function (VRF). The election step runs every t rule time. Election of a masternode starts with a seed, which is a hash of the previous block. Because consensus was reached in the previous round, the hash of the previous block is the same among all nodes.
每个节点都拥有一个私钥SK,而它的验证公钥VK是公开的。VRF随机数小于等于之前某个节点Nodei的情况下,这个编号i节点Nodei被选为主节点,以节点签名私钥SK为输入对节点号Nodei和种子seed签名后,生成VRF公钥并通知共识协调器。Each node has a private key SK, and its verification public key VK is public. When the VRF random number is less than or equal to a previous node Node i , this number i node Node i is selected as the master node, and the node number Node i and the seed seed are signed with the node signature private key SK as the input, and the VRF public key is generated. And notify the consensus coordinator.
步骤2,共识协调器收集每个节点的交易池中存在的所有交易。Step 2, the consensus coordinator collects all transactions that exist in each node's transaction pool.
共识协调器一旦得到主节点的选举主节点通知,它从每个节点的交易池中收集所有交易。共识协调器通过使用公布的种子和Nodei生成一个随机数random来检查选定的主节点的有效性。如果生成的随机数等于从主节点接收到的Nodei,则共识协调器请求所有节点发送前一个时间timep到当前时间timec之间每个节点的交易池中累积的所有交易。当生成的随机数不等于从主节点接收到的Nodei,则共识协调器终止本轮所有协调步骤,等待下一个空闲状态。Once the consensus coordinator is notified of the election of a master node by the master node, it collects all transactions from each node's transaction pool. The consensus coordinator checks the validity of the selected master node by generating a random number random using the published seed and Node i . If the generated random number is equal to Node i received from the master node, the consensus coordinator requests all nodes to send all transactions accumulated in each node's transaction pool between the previous time time p and the current time time c . When the generated random number is not equal to the Node i received from the master node, the consensus coordinator terminates all coordination steps in this round and waits for the next idle state.
步骤3,共识协调器检查每个节点收集的交易是否与其他节点的所有交易相同。Step 3, the consensus coordinator checks whether the transactions collected by each node are the same as all the transactions of other nodes.
这一步根据每个根据节点收集到的交易分两种情况执行PBFT的共识算法。首先,共识协调器检查从每个节点收集的交易是否与来自其他节点的所有交易相同。当所有交易相等时,执行处理相等交易步骤,然后终止第三步。当所有交易不相同时,首先将交易分为普通交易和故障交易。对于故障交易,共识协调器请求主节点执行一致性算法并生成约定交易。最后,共识协调器按时间顺序打包普通交易和约定交易,并请求所有节点的控制器对打包的交易执行块生成。详细过程如下:In this step, the consensus algorithm of PBFT is executed in two cases according to each transaction collected by the node. First, the consensus coordinator checks that the transactions collected from each node are the same as all transactions from other nodes. When all transactions are equal, the Process Equal Transactions step is performed, and then the third step is terminated. When all transactions are not identical, the transactions are first divided into normal transactions and faulty transactions. For faulty transactions, the consensus coordinator requests the master node to execute the consensus algorithm and generate the agreed transaction. Finally, the consensus coordinator packages normal and agreed transactions in chronological order, and requests the controllers of all nodes to perform block generation on the packaged transactions. The detailed process is as follows:
1.来自每个节点的交易与其他节点相等1. Transactions from each node are equal to other nodes
如果来自每个节点的交易与其他节点的所有交易都相等,则共识协调器执行生成此步骤。为了检查交易的相等性,首先将来自每个节点的一组交易转换为哈希函数,然后比较它们的相等性。如果所有交易都相同,它们的哈希值必然相同。The consensus coordinator performs this step if the transactions from each node are equal to all transactions from other nodes. To check the equality of transactions, first convert a set of transactions from each node into a hash function and then compare them for equality. If all transactions are the same, their hashes must be the same.
如果所有交易都相同,则共识协调器请求主节点NodePrime确认交易Txs,主节点响应共识协调器交易的确认请求。If all transactions are the same, the consensus coordinator requests the master node NodePrime to confirm the transaction Txs, and the master node responds to the confirmation request of the consensus coordinator transaction.
当主节点认可所有节点的交易相等时,共识协调器请求区块链网络的所有节点生成一个新块。所有节点接收请求并将请求委托给PBFT共识模块以生成新块。所有节点的timep都使用当前timec更新,用于设定下一轮的开始时间段。如果主节点没有确认交易,则本轮共识终止,timep保持前一轮的开始时间段。When the master node recognizes all nodes' transactions as equal, the consensus coordinator requests all nodes of the blockchain network to generate a new block. All nodes receive requests and delegate them to the PBFT consensus module to generate new blocks. The time p of all nodes is updated with the current time c , which is used to set the start time period of the next round. If the master node does not confirm the transaction, the current round of consensus is terminated, and time p maintains the start time period of the previous round.
2.来自每个节点的交易与其他节点不相等2. Transactions from each node are not equal to other nodes
(1)交易分类:在这一步中,共识协调器将来自每个节点中的所有交易分为普通交易和故障交易,分类输出存储在列表Listcomm和Listtr。(1) Transaction classification: In this step, the consensus coordinator classifies all transactions from each node into normal transactions and faulty transactions, and the classification outputs are stored in lists List comm and List tr .
(2)执行共识算法:共识协调器请求主节点仅对故障交易执行共识算法,我们将其中达成一致(获得同意交易)的列表Listagg称为约定交易。因为某些交易在共识算法中无法达成,故障交易列表Listtr中的所有交易都不在Listagg中。(2) Execute the consensus algorithm: The consensus coordinator requests the master node to execute the consensus algorithm only on the faulty transaction, and we call the List agg in which the consensus (acquired transaction) is reached as the agreed transaction. Because some transactions cannot be reached in the consensus algorithm, all transactions in the list of faulty transactions List tr are not in List agg .
(3)所有交易进行排序:在这一步共识协调器根据普通交易列表Listcomm和约定交易列表Listagg,将它们打包并按时间排序为SortedList。然后,共识协调器请求主节点确认打包的交易SortedList。如果主节点身份合法且交易被确认,共识协调器请求所有节点的控制器对打包的交易SortedList执行区块生成,生成一个新块后所有节点的timep更新为当前时间timec。(3) Sort all transactions: In this step, the consensus coordinator packs and sorts them into a SortedList according to the common transaction list List comm and the agreed transaction list List agg . Then, the consensus coordinator requests the master node to confirm the packaged transaction SortedList. If the identity of the master node is legal and the transaction is confirmed, the consensus coordinator requests the controllers of all nodes to perform block generation on the packaged transaction SortedList. After a new block is generated, the time p of all nodes is updated to the current time time c .
步骤4,所有节点对打包的交易执行块生成。Step 4, all nodes perform block generation on the packaged transaction.
这一步是生成区块链平台的新块,共识协调器不会干预这最后一步。在块生成之前,主节点要连同凭证(VRF proof)一起对外广播,其他节点通过凭证(VRF proof)计算才能确定其身份合法性。这可以降低多个共识节点合谋作恶的可能性,提升系统的安全性。如果主节点身份合法且交易被确认,所有节点都会创建一个新块,其中包含指定交易和前一个块的哈希值。This step is to generate a new block for the blockchain platform, and the consensus coordinator will not interfere with this last step. Before the block is generated, the master node must broadcast it together with the certificate (VRF proof), and other nodes can determine the legitimacy of their identity through the calculation of the certificate (VRF proof). This can reduce the possibility of multiple consensus nodes conspiring to do evil and improve the security of the system. If the masternode identity is legitimate and the transaction is confirmed, all nodes create a new block containing the specified transaction and the hash of the previous block.
用于请求PBFT模块生成新块和访问交易池的控制器是为区块链平台开发的,此方法可以应用于各种基于BFT的共识算法。The controller used to request the PBFT module to generate new blocks and access the transaction pool is developed for blockchain platforms, and this method can be applied to various BFT-based consensus algorithms.
本说明书还提供一种提高PBFT共识可扩展性的装置,通过引入共识协调器,在对所有节点的交易进行等价分类后,控制基于PBFT的一致性算法的条件执行。This specification also provides a device for improving the scalability of the PBFT consensus. By introducing a consensus coordinator, after the transactions of all nodes are equivalently classified, the conditional execution of the PBFT-based consensus algorithm is controlled.
在一些实施例中,共识协调模块与传统PBFT模块的工作图如图3所示。In some embodiments, the working diagram of the consensus coordination module and the traditional PBFT module is shown in FIG. 3 .
图3右部是PBFT模块,表示传统的PBFT算法。它由一个控制共识过程的主节点和其他类似于BFT的区块链平台的通用节点组成。每个节点都有BFT模块控制协商过程,生成新的区块和交易池来维护未确认的交易。PBFT模块定期访问交易池中的交易,并执行基于PBFT的一致性算法。一旦所有的节点都达成了交易的共识,PBFT模块在累积的交易达成一致后产生一个新的块。The right part of Figure 3 is the PBFT module, which represents the traditional PBFT algorithm. It consists of a masternode that controls the consensus process and other general-purpose nodes of a BFT-like blockchain platform. Each node has a BFT module that controls the negotiation process, generates new blocks and a transaction pool to maintain unconfirmed transactions. The PBFT module periodically accesses transactions in the transaction pool and executes a PBFT-based consensus algorithm. Once all nodes have reached consensus on the transaction, the PBFT module generates a new block after the accumulated transactions have reached consensus.
图3左部是共识协调模块。在该模块中设计了共识协调器,它基于PBFT的一致性算法,根据交易的等价性控制每个节点按PBFT的一致性算法条件执行。The left part of Figure 3 is the consensus coordination module. A consensus coordinator is designed in this module, which is based on the consensus algorithm of PBFT, and controls each node to execute according to the consensus algorithm conditions of PBFT according to the equivalence of transactions.
在区块链溯源的场景下,共识节点是没有主观恶意的动机。通常情况只有网络出现宕机,或者通信中断的情况下才会出现拜占庭节点,而这种情况发生的概率是极低的,因此并不需要每次都要进行三阶段的广播来达成共识。In the scenario of blockchain traceability, consensus nodes have no motive for subjective maliciousness. Usually, Byzantine nodes will appear only when the network is down or the communication is interrupted, and the probability of this happening is extremely low, so it is not necessary to perform three-stage broadcasting every time to reach a consensus.
在一些实施例中,核心思想是引入共识协调器,在对所有节点的交易进行等价分类后,控制基于PBFT的一致性算法的条件执行。交易分为相同交易和不相同交易。此外,不相同交易又被划分为普通交易和故障交易。在此基础上,只对有问题的交易执行一致性算法,在共识未达成的情况下执行经典的PBFT算法。这样可以节省因为节点改变视图切换而带来的系统开销。这种基于PBFT的一致性算法可以实现可扩展性。In some embodiments, the core idea is to introduce a consensus coordinator to control the conditional execution of the PBFT-based consensus algorithm after equivalence classification of transactions of all nodes. Transactions are divided into identical transactions and non-identical transactions. In addition, non-identical transactions are divided into ordinary transactions and faulty transactions. On this basis, the consensus algorithm is only executed for the transactions in question, and the classic PBFT algorithm is executed when the consensus is not reached. In this way, the system overhead caused by the node changing view switching can be saved. This PBFT-based consensus algorithm can achieve scalability.
在一些实施例中,首先,在所有区块链节点中选择一个主节点来执行基于BFT的一致性算法,并与共识协调器通信。然后,共识协调器从每个节点的交易池收集交易。在第三步中,协调器根据收集交易的相等性对交易进行分类,并决定执行一致性算法与否。在所有交易都相等的情况下,协调器让主节点执行块生成而不执行一致性算法,这是区块链网络中同步完成的。当某些交易不相等时,协调器将交易分为普通交易和故障交易,并请求主节点仅对故障交易执行基于BFT的一致性算法。主节点将共识后的交易通知给协调器。最后,协调器按时间顺序对所有普通交易和约定交易进行排序,并请求主节点执行共识算法,生成新块。In some embodiments, first, a master node is selected among all blockchain nodes to execute the BFT-based consensus algorithm and communicate with the consensus coordinator. The consensus coordinator then collects transactions from each node's transaction pool. In the third step, the coordinator classifies the transactions based on the equality of the collected transactions and decides whether to execute the consensus algorithm or not. When all transactions are equal, the coordinator lets the master node perform block generation without executing the consensus algorithm, which is done synchronously in the blockchain network. When some transactions are not equal, the coordinator divides the transactions into normal transactions and faulty transactions, and requests the master node to execute the BFT-based consensus algorithm only for faulty transactions. The master node notifies the coordinator of the consensus transaction. Finally, the coordinator sorts all ordinary and agreed transactions in chronological order, and requests the master node to execute the consensus algorithm to generate a new block.
本实施例先检查交易的相等性,仅对故障交易执行共识算法,虽然PBFT的共识所用时间有所增加,但在区块链节点数增加的情况下,总运行时间的增速相对于传统PBFT方式而言得到极大减缓。In this example, the equality of transactions is checked first, and the consensus algorithm is only executed for the faulty transactions. Although the time taken for PBFT consensus increases, when the number of blockchain nodes increases, the growth rate of the total running time is higher than that of traditional PBFT. method is greatly slowed down.
本说明书还提供一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述方法。The present specification also provides a computing device including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the method when executing the computer program.
本说明书还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述方法的步骤。The present specification also provides a computer-readable storage medium having stored thereon computer instructions that, when executed by a processor, implement the steps of the method.
处理器可以按任何适当的方式实现,例如,处理器可以采取例如微处理器以及存储可由该微处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器的形式,处理器的例子包括但不限于以下微控制器:Intel E-2274G、Intel i7-1060G7、Intel i5-1035G4、Intel M5-6Y54、AMD Epyc 7251,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现处理器以外,完全可以通过将方法步骤进行逻辑编程来使得处理器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微制器等的形式来实现相同功能。因此这种处理器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。A processor may be implemented in any suitable manner, for example, a processor may take the form of, for example, a microprocessor and a computer-readable medium storing computer-readable program code (eg, software or firmware) executable by the microprocessor, logic gates, switches , application specific integrated circuits, programmable logic controllers and embedded microcontrollers, examples of processors include but are not limited to the following microcontrollers: Intel E-2274G, Intel i7-1060G7, Intel i5-1035G4, Intel M5-6Y54 , AMD Epyc 7251, the memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that, in addition to implementing the processor in the form of pure computer-readable program code, the processor can be implemented in logic gates, switches, application-specific integrated circuits, programmable logic controllers and embedded devices by logically programming method steps. The same function can be realized in the form of a microcontroller, etc. Therefore, such a processor can be regarded as a hardware component, and the devices included therein for implementing various functions can also be regarded as a structure within the hardware component. Or even, the means for implementing various functions can be regarded as both a software module implementing a method and a structure within a hardware component.
上述实施例阐明的平台、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。The platforms, devices, modules or units described in the above embodiments may be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer can be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or A combination of any of these devices.
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
本发明是参照根据本发明实施例的方法、平台(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, platforms (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block in the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to the processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing device to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing device produce Means for implementing the functions specified in a flow or flow of a flowchart and/or a block or blocks of a block diagram.
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。This specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory result in an article of manufacture comprising instruction means, the instructions The apparatus implements the functions specified in the flow or flow of the flowcharts and/or the block or blocks of the block diagrams.
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。These computer program instructions can also be loaded on a computer or other programmable data processing device to cause a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process such that The instructions provide steps for implementing the functions specified in the flow or blocks of the flowcharts and/or the block or blocks of the block diagrams. In a typical configuration, a computer includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-persistent memory in computer readable media, random access memory (RAM) and/or non-volatile memory in the form of, for example, read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media includes both persistent and non-permanent, removable and non-removable media, and storage of information may be implemented by any method or technology. Information may be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cartridges, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves.
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the terms "comprising", "comprising" or any other variation thereof are intended to encompass a non-exclusive inclusion such that a process, method, article or device comprising a series of elements includes not only those elements, but also Other elements not expressly listed, or which are inherent to such a process, method, article of manufacture, or apparatus are also included. Without further limitation, an element qualified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, article of manufacture, or device that includes the element.
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, but not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still be Modifications are made to the technical solutions described in the foregoing embodiments, or some or all of the technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the technical solutions of the embodiments of the present invention.
Claims (9)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110950596.1A CN113746635A (en) | 2021-08-18 | 2021-08-18 | Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110950596.1A CN113746635A (en) | 2021-08-18 | 2021-08-18 | Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN113746635A true CN113746635A (en) | 2021-12-03 |
Family
ID=78731690
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202110950596.1A Pending CN113746635A (en) | 2021-08-18 | 2021-08-18 | Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113746635A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114463009A (en) * | 2022-04-13 | 2022-05-10 | 成都理工大学 | A method for improving the security of large-scale energy node transactions |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109767199A (en) * | 2018-12-10 | 2019-05-17 | 西安电子科技大学 | Reputation-based PBFT consensus system and method, blockchain data processing system |
| US20200076603A1 (en) * | 2018-09-05 | 2020-03-05 | NEC Laboratories Europe GmbH | Method and system for publicly verifiable proofs of retrievability in blockchains |
| KR102090723B1 (en) * | 2019-12-12 | 2020-03-18 | 주식회사 립페이 | Method for providing blockchain based bicameralism consensus service using quantum random function mechanism |
| CN112286945A (en) * | 2020-09-21 | 2021-01-29 | 杭州趣链科技有限公司 | Configuration changing method, system, equipment and medium based on PBFT algorithm |
| KR20210080818A (en) * | 2019-12-23 | 2021-07-01 | 서강대학교산학협력단 | Blockchain network and method for preprocessing by using an agent in a blockchain network |
-
2021
- 2021-08-18 CN CN202110950596.1A patent/CN113746635A/en active Pending
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200076603A1 (en) * | 2018-09-05 | 2020-03-05 | NEC Laboratories Europe GmbH | Method and system for publicly verifiable proofs of retrievability in blockchains |
| CN109767199A (en) * | 2018-12-10 | 2019-05-17 | 西安电子科技大学 | Reputation-based PBFT consensus system and method, blockchain data processing system |
| KR102090723B1 (en) * | 2019-12-12 | 2020-03-18 | 주식회사 립페이 | Method for providing blockchain based bicameralism consensus service using quantum random function mechanism |
| KR20210080818A (en) * | 2019-12-23 | 2021-07-01 | 서강대학교산학협력단 | Blockchain network and method for preprocessing by using an agent in a blockchain network |
| CN112286945A (en) * | 2020-09-21 | 2021-01-29 | 杭州趣链科技有限公司 | Configuration changing method, system, equipment and medium based on PBFT algorithm |
Non-Patent Citations (1)
| Title |
|---|
| XIANYAN MI, ZUOWEN LIAO.: "Adaptive teaching–learning-based optimization with experience learning to identify photovoltaic cell parameters", ENERGY REPORTS, vol. 7, pages 4114 - 4125 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114463009A (en) * | 2022-04-13 | 2022-05-10 | 成都理工大学 | A method for improving the security of large-scale energy node transactions |
| CN114463009B (en) * | 2022-04-13 | 2022-06-28 | 成都理工大学 | A method for improving the security of large-scale energy node transactions |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Li et al. | An optimized byzantine fault tolerance algorithm for consortium blockchain | |
| CN114401150B (en) | Methods and blockchain systems for adding nodes to the blockchain network | |
| CN111131209B (en) | An improved and efficient consensus method, system, computer equipment and storage medium | |
| US11157487B2 (en) | Trusted storage method and system based on directed acyclic graph structure | |
| Kuhn et al. | Distributed computation in dynamic networks | |
| CN113452747B (en) | Extensible and safe consensus method, system, storage medium and intelligent terminal | |
| US20200082398A1 (en) | Proof-of-Devotion Blockchain Consensus Algorithm | |
| CN114218612B (en) | Consensus method suitable for alliance chain high-frequency transaction scene | |
| EP4447396A1 (en) | Consensus processing method and apparatus of block chain network, device, storage medium, and program product | |
| CN111414420B (en) | An Improved PBFT Blockchain Consensus Method | |
| WO2024040796A1 (en) | Block chain power transaction system, consensus method, device and storage medium | |
| WO2021244581A1 (en) | Consensus method in alliance chain and alliance chain system | |
| CN111478795B (en) | A Consortium Blockchain Network Consensus Method Based on Hybrid Byzantine Fault Tolerance | |
| Xu et al. | A two-layer blockchain sharding protocol leveraging safety and liveness for enhanced performance | |
| CN115664724B (en) | Common identification method in block chain system, block chain system and common identification node | |
| CN109919760A (en) | Byzantine Fault Tolerant Consensus Algorithm Based on Voting Mechanism | |
| CN115174572B (en) | Data multicasting method in blockchain, blockchain node and storage medium | |
| WO2021190179A1 (en) | Synchronous processing method and related apparatus | |
| CN116962426A (en) | Block chain consensus mechanism performance optimization method based on CPE-BFT algorithm | |
| CN115633035A (en) | A Consensus Algorithm Based on Improved PBFT IoT Blockchain | |
| CN118764210A (en) | A node security consensus method and device | |
| Capossele et al. | Robustness and efficiency of leaderless probabilistic consensus protocols within byzantine infrastructures | |
| CN117978663A (en) | A scalable BFT consensus liveness method based on rotating leaders | |
| CN113746635A (en) | Method and device for improving PBFT (provider-based data transfer) consensus expandability, computing equipment and storage medium | |
| CN115473643B (en) | Trusted efficiency consensus system and method suitable for alliance chains |
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 | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211203 |
|
| RJ01 | Rejection of invention patent application after publication |