US 11,907,174 B2
Systems and methods for managing data generation, storage, and verification in a distributed system having a committee of validator nodes
Yangrui Guo, Long Island City, NY (US); Qiandong Yang, Shenzhen (CN); Hui Zhou, Hong Kong (CN); Weiqiang Lu, Shenzhen (CN); and Sheng Zeng, Shenzhen (CN)
Assigned to Cypherium Blockchain Inc., New York, NY (US)
Filed by CYPHERIUM BLOCKCHAIN INC., New York, NY (US)
Filed on Feb. 20, 2020, as Appl. No. 16/796,363.
Claims priority of provisional application 62/907,412, filed on Sep. 27, 2019.
Prior Publication US 2021/0097538 A1, Apr. 1, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/06 (2006.01); H04L 67/104 (2022.01); G06F 16/182 (2019.01); H04L 9/30 (2006.01); G06Q 20/22 (2012.01); H04L 67/00 (2022.01); G06F 16/00 (2019.01); H04L 9/00 (2022.01); G06F 3/00 (2006.01); G06F 16/27 (2019.01); H04L 9/08 (2006.01); H04L 9/32 (2006.01); G06Q 20/38 (2012.01); G06Q 20/40 (2012.01); G06F 11/00 (2006.01); G06Q 20/02 (2012.01); G06Q 20/06 (2012.01); G06Q 20/36 (2012.01); H04L 9/40 (2022.01)
CPC G06F 16/1837 (2019.01) [G06F 16/00 (2019.01); G06Q 20/223 (2013.01); G06Q 20/389 (2013.01); G06Q 20/3825 (2013.01); G06Q 20/3827 (2013.01); G06Q 20/3829 (2013.01); G06Q 20/38215 (2013.01); G06Q 20/401 (2013.01); H04L 9/00 (2013.01); H04L 9/0637 (2013.01); H04L 9/0643 (2013.01); H04L 9/0836 (2013.01); H04L 9/30 (2013.01); H04L 9/3247 (2013.01); H04L 9/3255 (2013.01); H04L 9/3265 (2013.01); H04L 9/3297 (2013.01); H04L 67/00 (2013.01); H04L 67/1051 (2013.01); G06F 16/27 (2019.01); G06Q 20/02 (2013.01); G06Q 20/065 (2013.01); G06Q 20/3678 (2013.01); G06Q 20/4016 (2013.01); H04L 9/3239 (2013.01); H04L 9/50 (2022.05); H04L 63/123 (2013.01)] 24 Claims
OG exemplary drawing
 
1. A network node in a network comprising a committee of validator nodes, the committee of validator nodes comprising at least one leader node and a plurality of associate nodes, wherein the committee consists of n validator nodes and satisfies the relation that n is greater than or equal to (3f+1) to accommodate a fault tolerance of up to f faulty validator nodes, wherein the leader node is configured to transmit information to the plurality of associate nodes and receive at least (2f+1) responses from the plurality of associate nodes, wherein each network node in the network stores a copy of one or more blockchains comprising data received in the network, wherein the network node is a validator node in the committee, and wherein the network node comprises at least one processor and at least one memory containing instructions that, when executed by the at least one processor, configure the network node to perform steps comprising:
receiving a request to become a new validator node in the committee from a second network node that is not currently a member of the committee of validator nodes, wherein the second network node is a common node of a plurality of common nodes, and wherein each validator node in the committee is associated with a respective candidate pool of common nodes;
adding the second network node to the candidate pool of common nodes associated with the network node when the received request satisfies a predetermined proof; and
after adding the second network node to the candidate pool, and in response to a triggering event, coordinating with other validator nodes to configure the committee to include the second network node, wherein coordinating with the other validator nodes comprises:
transmitting a first data comprising information corresponding to an updated committee including the second network node;
receiving first partial signatures from the plurality of associate nodes;
generating a first aggregate signature based on the first partial signatures received from the plurality of associate nodes;
transmitting the first aggregate signature to the plurality of associate nodes;
receiving second partial signatures from the plurality of associate nodes;
generating a second aggregate signature based on the second partial signatures received from the plurality of associate nodes;
transmitting the second aggregate signature to the plurality of associate nodes;
receiving third partial signatures from the plurality of associate nodes;
generating a third aggregate signature based on the third partial signatures received from the plurality of associate nodes;
generating a second data comprising the third aggregate signature; and
transmitting the second data to at least one other network node in the network.