System and method for ending view change protocol

US11263067B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11263067-B2
Application numberUS-201916498348-A
CountryUS
Kind codeB2
Filing dateMar 18, 2019
Priority dateMar 18, 2019
Publication dateMar 1, 2022
Grant dateMar 1, 2022

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing view change. One of the methods is to be implemented on a blockchain and performed by a first node of N nodes in a view change protocol. The method includes: multicasting a view change message to at least some of the N nodes; obtaining, respectively from at least Q second nodes of the N nodes, at least Q echo messages each comprising: a consistent current view known to the second node indicating a primary node designated among the N nodes, and a consistent current sequence number known to the second node, the current sequence number associated with a latest transaction or a latest block, the current sequence number is larger than a first sequence number known to the first node; and responsive to obtaining the at least Q echo messages, ending the view change protocol.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented consensus method to be implemented on a blockchain maintained by a number (N) of nodes, the method performed by a second node of the N nodes that is in a normal operation protocol, the method comprising: obtaining a view change message from a first node that is in a view change protocol; determining a current protocol status of the second node; and in response to determining that the current protocol status is the normal operation protocol, transmitting to the first node an echo message comprising: a current view known to the second node indicating a primary node designated among the N nodes, a current sequence number known to the second node, the current sequence number associated with a latest block or a latest transaction committed by the second node, a digital signature certifying the current view and the current sequence number both known to the second node, and a digest of the latest block or the latest transaction. 2. The method of claim 1 , wherein: the current sequence number is larger than a first sequence number known to the first node. 3. The method of claim 2 , wherein: the current sequence number comprises a height of a second copy of the blockchain maintained by the second node; and the first sequence number comprises a height of a first copy of the blockchain maintained by the first node. 4. The method of claim 2 , wherein: the current sequence number comprises a sequence number of the latest transaction committed by the second node; and the first sequence number comprises a sequence number of a latest transaction committed by the first node. 5. The method of claim 1 , wherein: the digest comprises a hash value of the latest block or the latest transaction. 6. The method of claim 1 , wherein: the digest comprises a Merkle root of the latest block known to the second node but unknown to the first node. 7. The method of claim 1 , wherein: the N nodes form a Practical Byzantine Fault Tolerance (PBFT) network, in which one of the N nodes acts as the primary node and the other (N−1) nodes act as backup nodes; the current sequence number known to the second node is (n+1); the first sequence number known to the first node is n; the current view for the second node is v; and when in the view change protocol, the first node has a first view larger than v. 8. A view change system for maintaining a blockchain, wherein a number (N) of nodes maintain the blockchain, the system acting as a second node of the N nodes that is in a normal operation protocol, the system comprising one or more processors and one or more non-transitory computer-readable memories coupled to the one or more processors and configured with instructions executable by the one or more processors to cause the system to perform operations comprising: obtaining a view change message from a first node that is in a view change protocol; determining a current protocol status of the second node; and in response to determining that the current protocol status is the normal operation protocol, transmitting to the first node an echo message comprising: a current view known to the second node indicating a primary node designated among the N nodes, a current sequence number known to the second node, the current sequence number associated with a latest block or a latest transaction committed by the second node, a digital signature certifying the current view and the current sequence number both known to the second node, and a digest of the latest block or the latest transaction. 9. The system of claim 8 , wherein: the current sequence number is larger than a first sequence number known to the first node. 10. The system of claim 9 , wherein: the current sequence number comprises a height of a second copy of the blockchain maintained by the second node; and the first sequence number comprises a height of a first copy of the blockchain maintained by the first node. 11. The system of claim 9 , wherein: the current sequence number comprises a sequence number of the latest transaction committed by the second node; and the first sequence number comprises a sequence number of a latest transaction committed by the first node. 12. The system of claim 8 , wherein: the digest comprises a hash value of the latest block or the latest transaction. 13. The system of claim 8 , wherein: the digest comprises a Merkle root of the latest block known to the second node but unknown to the first node. 14. The system of claim 8 , wherein: the N nodes form a Practical Byzantine Fault Tolerance (PBFT) network, in which one of the N nodes acts as the primary node and the other (N−1) nodes act as backup nodes; the current sequence number known to the second node is (n+1); the first sequence number known to the first node is n; the current view for the second node is v; and when in the view change protocol, the first node has a first view larger than v. 15. A non-transitory computer-readable storage medium for maintaining a blockchain, wherein a number (N) of nodes maintain the blockchain, the storage medium being associated with a second node of the N nodes that is in a normal operation protocol, the storage medium configured with instructions executable by one or more processors to cause the one or more processors to perform operations comprising: obtaining a view change message from a first node that is in a view change protocol; determining a current protocol status of the second node; and in response to determining that the current protocol status is the normal operation protocol, transmitting to the first node an echo message comprising: a current view known to the second node indicating a primary node designated among the N nodes, a current sequence number known to the second node, the current sequence number associated with a latest block or a latest transaction committed by the second node, a digital signature certifying the current view and the current sequence number both known to the second node, and a digest of the latest block or the latest transaction. 16. The storage medium of claim 15 , wherein: the current sequence number is larger than a first sequence number known to the first node. 17. The storage medium of claim 16 , wherein: the current sequence number comprises a height of a second copy of the blockchain maintained by the second node; and the first sequence number comprises a height of a first copy of the blockchain maintained by the first node. 18. The storage medium of claim 16 , wherein: the current sequence number comprises a sequence number of the latest transaction committed by the second node; and the first sequence number comprises a sequence number of a latest transaction committed by the first node. 19. The storage medium of claim 15 , wherein: the digest comprises a hash value of the latest block or the latest transaction. 20. The storage medium of claim 15 , wherein: the digest comprises a Merkle root of the latest block known to the second node but unknown to the first node.

Assignees

Inventors

Classifications

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • Voting techniques · CPC title

  • involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title

  • involving digital signatures · CPC title

  • G06F11/14Primary

    Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11263067B2 cover?
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for performing view change. One of the methods is to be implemented on a blockchain and performed by a first node of N nodes in a view change protocol. The method includes: multicasting a view change message to at least some of the N nodes; obtaining, respectively from at least Q second nodes of the …
Who is the assignee on this patent?
Advanced New Technologies Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F11/14. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 01 2022 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).