IP Library Granted Patent US 12,443,569
Granted Patent B2
US 12,443,569 · App. 17/884,277 · Granted Oct 14, 2025

Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system

Inventors: Yangrui Guo (Long Island City, NY); Qiandong Yang (Shenzhen, CN); Hui Zhou (Hong Kong, CN); Weiqiang Lu (Shenzhen, CN); Sheng Zeng (Shenzhen, CN); Liang Yang (Shenzen, CN); Sicong Zhuang (Shenzhen, CN)
Assignee: Cypherium Blockchain Inc.
G06F16/1837G06F16/00G06Q20/223G06Q20/38215G06Q20/3825G06Q20/3827G06Q20/3829G06Q20/389G06Q20/401H04L9/00H04L9/0637H04L9/0643H04L9/0836H04L9/30H04L9/3247H04L9/3255H04L9/3265H04L9/3297H04L67/00H04L67/1051G06F16/27G06Q20/02G06Q20/065G06Q20/3678G06Q20/4016H04L9/3239H04L9/50H04L63/123
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,443,569
App. No.
17/884,277
Granted
Oct 14, 2025
Kind
B2
Abstract

A distributed transaction system is provided including a group of validator nodes that are known to each other in a network but are indistinguishable to other network nodes. The validator nodes form a Committee including a Leader node and one or more Associate nodes configured to receive and process transaction requests, for example, to add new blocks to one or more blockchains. The Committee may be dynamically changed, such that new network nodes may be added to the Committee or may replace existing validator nodes. The Associate nodes also may coordinate with each other to select a new Leader node. The validator nodes in the Committee may be changed at a sufficient frequency to remove unreliable, unavailable, or otherwise untrusted nodes.

Claims (41)

1. A network node in a network comprising a committee of validator nodes and at least one client node, the network node comprising at least one processor and at least one memory containing instructions that, when executed by the processor, configure the network node to perform the following steps of a reconfiguration process for reconfiguring the membership of validator nodes in the committee, the steps comprising:

in a first stage of the reconfiguration process:

transmitting to the committee of validator nodes a request to become a new validator node in the committee;

receiving a response from at least one validator node in the committee confirming that the network node has been selected to become a new validator node in the committee; and

in a second stage of the reconfiguration process:

generating a request for data confirming the network node is the new validator node;

receiving the data, wherein the data indicates that at least a threshold number of validator nodes have confirmed that the network node is selected to be the new validator node; and

coordinating with the other validator nodes in the committee to process a transaction received from the client node in the network.

2. The network node of claim 1 , wherein the transaction received from the client node contains transaction data and the validator nodes in the committee process the transaction data to form a new block to be added to a TransactionBlock blockchain.

3. The network node of claim 1 , wherein public key information for at least one of the validator nodes in the committee is stored in a current block of a KeyBlock blockchain.

4. The network node of claim 1 , wherein the instructions that, when executed by the processor, further configure the network node to perform: coordinating with the other validator nodes in the committee to add a new block to a KeyBlock blockchain, the new block corresponding to the committee including the network node.

5. The network node of claim 1 , wherein the identity of at least one validator node in the committee is unknown to the network node before the network node receives the response.

6. The network node of claim 1 , wherein the instructions that, when executed by the processor, further configure the network node to perform: generating at least one of a proof of work or a proof of stake.

7. The network node of claim 1 , wherein the instructions that, when executed by the processor, further configure the network node to perform: receiving a confirmation from at least one validator node in the committee indicating that the network node as been selected for new membership in the committee.

8. The network node of claim 7 , wherein the confirmation is digitally signed using a multi-signature from validator nodes in the committee.

9. A non-transitory computer readable medium storing instructions that, when executed by executed by a processor of a network node in a network comprising a committee of validator nodes and at least one client node, configure the network node to perform the following steps of a reconfiguration process for reconfiguring the membership of validator nodes in the committee, the steps comprising:

in a first stage of the reconfiguration process:

transmitting to the committee of validator nodes a request to become a new validator node in the committee;

receiving a response from at least one validator node in the committee confirming that the network node has been selected to become a new validator node in the committee; and

in a second stage of the reconfiguration process:

generating a request for data confirming the network node is the new validator node;

receiving the data, wherein the data indicates that at least a threshold number of validator nodes have confirmed that the network node is selected to be the new validator node; and

coordinating with the other validator nodes in the committee to process a transaction received from the client node in the network.

10. The computer readable medium of claim 9 , wherein the transaction received from the client node contains transaction data and the validator nodes in the committee process the transaction data to form a new block to be added to a TransactionBlock blockchain.

11. The computer readable medium of claim 9 , wherein public key information for at least one of the validator nodes in the committee is stored in a current block of a KeyBlock blockchain.

12. The computer readable medium of claim 9 , wherein the instructions that, when executed by the processor, further configure the network node to perform: coordinating with the other validator nodes in the committee to add a new block to a KeyBlock blockchain, the new block corresponding to the committee including the network node.

13. The computer readable medium of claim 9 , wherein the identity of at least one validator node in the committee is unknown to the network node before the network node receives the response.

14. The computer readable medium of claim 9 , wherein the instructions that, when executed by the processor, further configure the network node to perform: generating at least one of a proof of work or a proof of stake.

15. The computer readable medium of claim 9 , wherein the instructions that, when executed by the processor, further configure the network node to perform: receiving a confirmation from at least one validator node in the committee indicating that the network node has been selected for new membership in the committee.

16. The computer readable medium of claim 9 , wherein the confirmation is digitally signed using a multi-signature from validator nodes in the committee.

17. A method for managing a network node in a network comprising a committee of validator nodes and at least one client node, the method comprising:

in a first stage of a reconfiguration process for reconfiguring the membership of validator nodes in the committee:

transmitting to the committee of validator nodes a request to become a new validator node in the committee;

receiving a response from at least one validator node in the committee confirming that the network node has been selected to become a new validator node in the committee; and

in a second stage of the reconfiguration process for reconfiguring the membership of validator nodes in the committee:

generating a request for data confirming the network node is the new validator node;

receiving the data, wherein the data indicates that at least a threshold number of validator nodes have confirmed that the network node is selected to be the new validator node; and

coordinating with the other validator nodes in the committee to process a transaction received from the client node in the network.

18. The method of claim 17 , wherein the transaction received from the client node contains transaction data and the validator nodes in the committee process the transaction data to form a new block to be added to a TransactionBlock blockchain.

19. The method of claim 17 , wherein public key information for at least one of the validator nodes in the committee is stored in a current block of a KeyBlock blockchain.

20. The method of claim 17 , wherein the instructions that, when executed by the processor, further configure the network node to perform: coordinating with the other validator nodes in the committee to add a new block to a KeyBlock blockchain, the new block corresponding to the committee including the network node.

Continuity (3)
Continuation 16591604 · Oct 2, 2019
Provisional Application 62907412 · Sep 27, 2019
Related Publication 20220385460A1 · Dec 1, 2022
References Cited (95)
US 8607066B1 · Kailash et al. · 2013 [cited by applicant]
US 9608829B2 · Spanos et al. · 2017 [cited by applicant]
US 10158527B2 · Anderson et al. · 2018 [cited by applicant]
US 10666778B1 · Yang · 2020 [cited by applicant]
US 11196573B2 · Roennow · 2021 [cited by examiner]
US 11403622B2 · Fletcher · 2022 [cited by examiner]
US 11516006B2 · Guo et al. · 2022 [cited by applicant]
US 20010016911A1 · Obana · 2001 [cited by applicant]
US 20090193256A1 · Takenaka et al. · 2009 [cited by applicant]
US 20090210715A1 · Izu · 2009 [cited by examiner]
US 20140040898A1 · Karp et al. · 2014 [cited by applicant]
US 20140143205A1 · Leshchiner et al. · 2014 [cited by applicant]
US 20150161368A1 · Stewart et al. · 2015 [cited by applicant]
US 20150310054A1 · Passey et al. · 2015 [cited by applicant]
US 20170201590A1 · Wojciechowski et al. · 2017 [cited by applicant]
US 20180101560A1 · Christidis et al. · 2018 [cited by applicant]
US 20180109541A1 · Gleichauf · 2018 [cited by examiner]
US 20180115413A1 · King · 2018 [cited by examiner]
US 20180121909A1 · Christidis et al. · 2018 [cited by applicant]
US 20180123882A1 · Anderson et al. · 2018 [cited by applicant]
US 20180150835A1 · Hunt · 2018 [cited by examiner]
US 20180157558A1 · Karame et al. · 2018 [cited by applicant]
US 20180219945A1 · Soni · 2018 [cited by examiner]
US 20180337882A1 · Li · 2018 [cited by examiner]
US 20190081796A1 · Chow et al. · 2019 [cited by applicant]
US 20190149338A1 · Byrne · 2019 [cited by applicant]
US 20190266178A1 · Madhavan et al. · 2019 [cited by applicant]
US 20190278944A1 · Cheng · 2019 [cited by examiner]
US 20190354518A1 · Zochowski · 2019 [cited by examiner]
US 20190370793A1 · Zhu · 2019 [cited by examiner]
US 20200004643A1 · Yang · 2020 [cited by applicant]
US 20200013027A1 · Zhu · 2020 [cited by applicant]
US 20200019616A1 · Sukhija et al. · 2020 [cited by applicant]
US 20200026699A1 · Zhang et al. · 2020 [cited by applicant]
US 20200052880A1 · Bathen et al. · 2020 [cited by applicant]
US 20200052917A1 · Corral et al. · 2020 [cited by applicant]
US 20200082126A1 · Brown · 2020 [cited by examiner]
US 20200104293A1 · Shi et al. · 2020 [cited by applicant]
US 20200127835A1 · Fletcher · 2020 [cited by examiner]
US 20200162261A1 · Iyer · 2020 [cited by applicant]
US 20200162264A1 · Zamani et al. · 2020 [cited by applicant]
US 20200183951A1 · Mittal et al. · 2020 [cited by applicant]
US 20200204351A1 · Chen et al. · 2020 [cited by applicant]
US 20200234386A1 · Blackman · 2020 [cited by examiner]
US 20200304289A1 · Androulaki et al. · 2020 [cited by applicant]
US 20200313856A1 · Basu · 2020 [cited by examiner]
US 20200394159A1 · Hurley · 2020 [cited by examiner]
US 20200394648A1 · Blackshear et al. · 2020 [cited by applicant]
US 20200396072A1 · Maurer et al. · 2020 [cited by applicant]
US 20210004777A1 · Kim et al. · 2021 [cited by applicant]
US 20210026745A1 · Wang · 2021 [cited by applicant]
US 20210083882A1 · Venable, Sr. · 2021 [cited by applicant]
US 20210099312A1 · Guo · 2021 [cited by examiner]
CN 101378592A · 2009 [cited by examiner]
CN 102571880A · 2012 [cited by examiner]
CN 102930364A · 2013 [cited by examiner]
CN 104038397A · 2014 [cited by examiner]
CN 107017993A · 2017 [cited by examiner]
CN 107171829A · 2017 [cited by applicant]
CN 107864037A · 2018 [cited by examiner]
CN 108965469A · 2018 [cited by applicant]
CN 109039748A · 2018 [cited by applicant]
CN 110189128A · 2019 [cited by examiner]
CN 110971414B · 2021 [cited by applicant]
EP 3721582B1 · 2023 [cited by examiner]
WO WO9639765A1 · 1996 [cited by examiner]
WO 0049768A1 · 2000 [cited by applicant]
WO 2015118160A1 · 2015 [cited by applicant]
WO WO2017194976A1 · 2017 [cited by examiner]
WO WO2018073482A1 · 2018 [cited by examiner]
WO WO2018112805A1 · 2018 [cited by examiner]
WO WO2018163031A1 · 2018 [cited by examiner]
WO 2019091289A1 · 2019 [cited by applicant]
WO 2019137282A1 · 2019 [cited by applicant]
WO 2020254923A1 · 2020 [cited by applicant]
Amsden, Zachary et al., The Libra Blockchain, Revised Jul. 23, 2019, pp. 1-29; https://developers.libra.org/docs/assets/papers/the-libra-blockchain.pdf. [cited by applicant]
Lamport, Leslie et al., The Byzantine Generals Problem, AMCM Transactions on Programming Language and Systems, vol. 4, No. 3, Jul. 1982, pp. 382-401. [cited by applicant]
Syta, Ewa et al., Keeping Authorities “Honest or Bust” with Decentralized Witness Cosigning, arXiv:1503.08768v.4 [cs.CR] May 30, 2016, 20 pages. [cited by applicant]
Yin, Maofan et al., HotStuff: BFT Consensus in the Lens of Blockchain, arXiv:1803.05069v6 [cs.DC] Jul. 23, 2019, pp. 1-23. [cited by applicant]
Eyal, Ittay et al., “Bitcoin-NG: A Scalable Blockchain Protocol,” 13th USENIX Symposium on Networked System Design and Implementation (NSDI '16), pp. 45-59 (2016). [cited by applicant]
Amsden, “The Libra Blockchain” (Year: 2020). [cited by applicant]
Bano, “SoK: Consensus in the Age of Blockchains,” arXiv:1711.03936v2 [cs. CR] Nov. 14, 2017, pp. 1-17. (Year: 2017). [cited by applicant]
bit2me.com, “What is Signature Aggregation or Signature Aggregation” (Year: 2022). [cited by applicant]
Castro, “Practical Byzantine Fault Tolerance” (Year: 1999). [cited by applicant]
Eyal, “Bitcoin-NG: A Scalable Blockchain Protocol” (Year: 2015). [cited by applicant]
Guo, “Cypherium: A Scalable and Permissionless Smart Contract Platform” White Paper Draft v1.0 (undated). [cited by applicant]
Guo, “Cypherium: A Scalable and Permissionless Smart Contract Platform” White Paper Draft v1.1 (undated). [cited by applicant]
Jalalzai, “Fast-Hotstuff: A Fast and Robust BFT Protocol for Blockchains,” https://www.youtube.com/watch?v=AVGD_AWf47g (Year: 2022). [cited by applicant]
Sheff, “Serializability and Heterogeneous Trust from Two Phase Commit to Blockchains” (Year: 2019). [cited by applicant]
Sync, “Hotstuff Simple and Practical Synchronous State Machine Replication,” https://youtube.com/watch?v=mEWrrdP4kGE (Year: 2022). [cited by applicant]
Wan, “Goshawk: A novel Efficient, Robust and Flexible Blockchain Protocol” (Year: 2018). [cited by applicant]
Yaga, “Blockchain Technology Overview,” Oct. 2018 (Year: 2018). [cited by applicant]
Yin, “Hotstuff: BFT Consensus with Linearity and Responsiveness” (Year: 2019). [cited by applicant]
Yin, et al. “Hotstuff: BFT Consensus in the Lens of Blockchain” (Year: 2019). [cited by applicant]
ZK-TLV 0×09—Ittai Abraham—The Hotstuff approach to BFT (Part 3), https:www.youtube.com/watch?v=ONobl3X70Rc (Year: 2022). [cited by applicant]