BLOCKCHAIN CONSENSUS SYSTEMS AND METHODS INVOLVING A TIME PARAMETER
First Claim
1. A system comprising:
- a plurality of node computers, each node computer in the plurality including a processor, memory storing computer instructions executable by the processor, and a network interface operatively coupled to the processor and a communications network connecting the plurality of node computers, wherein the plurality of node computers are configured to create a blockchain containing transactions, the plurality of node computers includes a committee of node computers comprising proposer node computers and voter node computers;
wherein the system is configured to provide a time parameter to a proposal, the time parameter includes a value and defines a period of time, the value identifies a proposer node computer in the committee that sends a proposal and the period of time has a duration long enough for the committee to complete a notarization process;
wherein the committee is configured to perform a notarization process, and in the notarization process, the proposer node computer identified by the value of the time parameter is configured to prepare and send an unnotarized proposal, including transactions and a time parameter value in which the unnotarized proposal is sent, to the voter node computers in the committee, and each of the voter node computers in the committee is configured to sign the unnotarized proposal when the voter node computer has substantially the same record of the blockchain as the proposer node computer;
wherein the system is configured to notarize the unnotarized proposal after the unnotarized proposal receives a threshold number of signatures and add the notarized proposal with the time parameter value to the blockchain;
wherein the records being used to determine whether the voter node computer and the proposer node have substantially the same record are notarized chains that have the largest time parameter value; and
wherein the system is configured to determine a finalized chain from the notarized chain by excluding a number of consecutive blocks with constitutive time parameter values from the notarized chain and the finalized chain consists of blocks that are irreversible by node computers in the system.
2 Assignments
0 Petitions
Accused Products
Abstract
The present blockchain systems and censuses protocols involve a committee of consensus nodes to notarize candidate blocks. The committee includes proposers and votes. A proposer can send an unnotarized proposal to the voters, and the voters can vote on an unnotarized proposal when the voter and the proposer have substantially the same freshest notarized chain. After receiving enough votes for the proposal, the proposal is notarized and added to the blockchain maintained by the systems and protocols. Epoch is provided to facilitate the operation of the systems and protocols. Epoch includes a value identifying a proposer and defines a duration in which the transmission and voting of the proposal can be completed. The time parameter can be used to determine the freshest notarized chain and the finalized chain. The finalized chain is determined by excluding a number of consecutive blocks with consecutive epoch values from the notarized chain.
12 Citations
20 Claims
-
1. A system comprising:
-
a plurality of node computers, each node computer in the plurality including a processor, memory storing computer instructions executable by the processor, and a network interface operatively coupled to the processor and a communications network connecting the plurality of node computers, wherein the plurality of node computers are configured to create a blockchain containing transactions, the plurality of node computers includes a committee of node computers comprising proposer node computers and voter node computers; wherein the system is configured to provide a time parameter to a proposal, the time parameter includes a value and defines a period of time, the value identifies a proposer node computer in the committee that sends a proposal and the period of time has a duration long enough for the committee to complete a notarization process; wherein the committee is configured to perform a notarization process, and in the notarization process, the proposer node computer identified by the value of the time parameter is configured to prepare and send an unnotarized proposal, including transactions and a time parameter value in which the unnotarized proposal is sent, to the voter node computers in the committee, and each of the voter node computers in the committee is configured to sign the unnotarized proposal when the voter node computer has substantially the same record of the blockchain as the proposer node computer; wherein the system is configured to notarize the unnotarized proposal after the unnotarized proposal receives a threshold number of signatures and add the notarized proposal with the time parameter value to the blockchain; wherein the records being used to determine whether the voter node computer and the proposer node have substantially the same record are notarized chains that have the largest time parameter value; and wherein the system is configured to determine a finalized chain from the notarized chain by excluding a number of consecutive blocks with constitutive time parameter values from the notarized chain and the finalized chain consists of blocks that are irreversible by node computers in the system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15)
-
-
11. The system according to claim 11, wherein the voter node computers are configured to receive proposals from another proposer computer in the committee after the time parameter value advances.
-
16. A computer-implemented method comprising:
-
implementing a blockchain consensus software application in a plurality of node computers, each node computer in the plurality including a processor, memory storing computer instructions executable by the processor, and a network interface operatively coupled to the processor and a communications network connecting the plurality of node computers, the application configuring the plurality of node computers to create a blockchain containing transactions and to form a committee of node computers comprising proposer node computers and voter node computers; wherein the blockchain consensus software application includes computer instructions stored in the memory that are executable by the processor to perform computer-implemented steps comprising; providing a time parameter to a proposal, the time parameter includes a value and defines a period of time, the value identifies a proposer node computer in the committee that sends a proposal and the period of time has a duration long enough for the committee to complete a notarization process; performing a notarization process comprising allowing the proposer node identified by the time parameter value to prepare and send an unnotarized proposal, including transactions and a time parameter value in which the unnotarized proposal is sent, to the voter node computers in the committee, allowing each of the voter nodes in the committee to sign the unnotarized proposal when the voter node computer has substantially the same record of the blockchain as the proposer node computer, notarizing the unnotarized proposal after the unnotarized proposal receiving a threshold number of signatures, and adding the notarized proposal with the time parameter to the blockchain; wherein the records being used to determine whether the voter node computer and the proposer node have substantially the same record are notarized chains that have the largest time parameter value; and determining a finalized chain from the notarized chain by excluding a number of consecutive blocks with constitutive time parameter values from the notarized chain, wherein the finalized chain consists of blocks that are irreversible by node computers in the system. - View Dependent Claims (17, 18)
-
-
19. A non-transitory computer readable medium storing an application cause a computer to execute a process, the process comprising:
-
implementing a blockchain consensus software application in a plurality of node computers, each node computer in the plurality including a processor, memory storing computer instructions executable by the processor, and a network interface operatively coupled to the processor and a communications network connecting the plurality of node computers, the application configuring the plurality of node computers to create a blockchain containing transactions and to form a committee of node computers comprising proposer node computers and voter node computers; wherein the blockchain consensus software application includes computer instructions stored in the memory that are executable by the processor to perform computer-implemented steps comprising; providing a time parameter to a proposal, the time parameter includes a value and defines a period of time, the value identifies a proposer node computer in the committee that sends a proposal and the period of time has a duration long enough for the committee to complete a notarization process; performing a notarization process comprising allowing the proposer node identified by the time parameter value to prepare and send an unnotarized proposal, including transactions and a time parameter value in which the unnotarized proposal is sent, to the voter node computers in the committee, allowing each of the voter nodes in the committee to sign the unnotarized proposal when the voter node computer has substantially the same record of the blockchain as the proposer node computer, notarizing the unnotarized proposal after the unnotarized proposal receiving a threshold number of signatures, and adding the notarized proposal with the time parameter value to the blockchain; wherein the records being used to determine whether the voter node computer and the proposer node have substantially the same record are notarized chains that have the largest time parameter value; and determining a finalized chain from the notarized chain by excluding a number of consecutive blocks with constitutive time parameter values from the notarized chain, wherein the finalized chain consists of blocks that are irreversible by node computers in the system. - View Dependent Claims (20)
-
Specification