Method and System for Securing a Blockchain with Proof-of-Transactions
Novel tools and techniques are provided for implementing blockchain transactions, and, more particularly, to methods, systems, and apparatuses for securing a blockchain with proof-of-transactions. In various embodiments, the blockchain system utilizes a proof-of-transactions approach that is based on a multi-player voting system and that is not susceptible to a free-rider problem that affects many other cryptocurrencies. The proof-of-transactions approach allows the cryptocurrency network to divide revenue between the nodes in the peer-to-peer network that provides bandwidth and connectivity and a set of other nodes that solve computational puzzles that safeguard the security of the blockchain system.
1 . A method, comprising:
generating, by a first network node among a plurality of network nodes in a blockchain network, a golden ticket that contains a computational puzzle;
generating, by a second network node among the plurality of network nodes in the blockchain network, a solution to the computational puzzle in the golden ticket, wherein the solution to the computational puzzle is used to select, in a manner that cannot be anticipated by the first network node generating the golden ticket, one or more network nodes among the plurality of network nodes in the blockchain network;
broadcasting, by the second node, the solution to the golden ticket throughout the blockchain network, the solution being included in a subsequent block that is produced and validated by the blockchain network; and
distributing blockchain tokens to the one or more network nodes that are selected using the solution to the computational puzzle in the golden ticket.
2 . The method of claim 1 , wherein the first network node and the second network node are the same network node.
3 . The method of claim 1 , wherein the golden ticket is at least one of included in a block published for inclusion in a blockchain or automatically associated with the block.
4 . The method of claim 3 , wherein the golden ticket comprises a random number that is created using data associated with the block.
5 . The method of claim 4 , wherein the random number comprises a cryptographic hash of data content contained within the block.
6 . The method of claim 3 , wherein the solution to the golden ticket is included in a block immediately following the block in which the golden ticket is included was published.
7 . The method of claim 1 , wherein any valid blockchain contains one or more golden tickets, each of which is solved only once.
8 . The method of claim 1 , wherein a block contains only one solution to any particular golden ticket.
9 . The method of claim 1 , wherein a block contains only one golden ticket.
10 . The method of claim 1 , wherein a block contains a solution to only one golden ticket.
11 . The method of claim 1 , wherein a block is considered to be invalid based on a determination that the block contains a golden ticket solution that is invalid.
12 . The method of claim 1 , wherein the solution to the computational puzzle in the golden ticket comprises a product of a computationally difficult challenge that is independently verifiable by other nodes in the blockchain network.
13 . The method of claim 12 , wherein the solution to the computational puzzle in the golden ticket that is generated by the second network node is generated based on a hash of data associated with the golden ticket that meets validity criteria as defined in consensus rules of the blockchain.
14 . The method of claim 1 , wherein the solution to the computational puzzle in the golden ticket is used to select one or more network nodes from a subset of network nodes among the plurality of network nodes in the blockchain network that are identified as being valuable routing nodes with regard to production of a block containing the golden ticket.
15 . The method of claim 14 , wherein routing nodes are determined to be valuable based at least in part on data from a list of active routing nodes recorded within chains of cryptographic signatures and addresses embedded within transactions that are contained in the block containing the golden ticket.
16 . The method of claim 15 , wherein the list of active routing nodes is restricted to network nodes that are recorded within chains of cryptographic signatures and addresses embedded within transactions that are included within the same block that contains a golden ticket.
17 . The method of claim 14 , wherein a likelihood that the one or more network nodes are selected is weighted according to a determination that the one or more network nodes are each perceived to contribute to health of the blockchain network as a whole, as measured based on consensus rules of the blockchain and using factors including at least one of a value of a transaction fee associated with each transaction or a burn value of a transaction.
18 . The method of claim 1 , wherein an amount of tokens allocated through use of golden tickets is equivalent to transaction fees paid in a block containing a golden ticket that contains a computational puzzle to which a solution has been generated.
19 . The method of claim 1 , wherein an amount of tokens allocated through use of golden tickets is equivalent to transaction fees paid in a block containing a golden ticket that contains a computational puzzle to which a solution has been generated, minus any value tokens allocated to a network node that generates the block containing the golden ticket, and adjusted to be plus or minus another amount determined by consensus rules of the blockchain to maintain a consistent money supply.
20 . The method of claim 1 , wherein tokens allocated through use of golden tickets are split between one or more network nodes that have provided solutions to golden tickets (“lucky miners”) and one or more nodes selected by one or more solutions to the golden tickets (“lucky nodes”).
21 . The method of claim 20 , wherein votes to adjust variables contained in one of a block, the golden ticket, or the solution are used to adjust a value of consensus variables once the solution to the golden ticket is included in the block and tokens are allocated to the lucky node and lucky miner in the blockchain network.
22 . The method of claim 20 , wherein distribution of the tokens split between lucky miners and lucky nodes is determined by a paysplit variable managed according to consensus rules of the blockchain.
23 . The method of claim 22 , wherein the paysplit variable is adjusted to direct one of a greater proportion or a lesser proportion of the blockchain tokens being distributed to the one or more network nodes that are selected.
24 . The method of claim 22 , further comprising:
embedding, within one of a block or a golden ticket, a variable that indicates whether to increase, to hold constant, or to decrease a value of the paysplit variable managed according to the consensus rules of the blockchain.
25 . The method of claim 24 , wherein blocks that contain a vote of the block indicating one of to decrease or to increase a value of the paysplit variable include only transactions that are consistent with the vote of the block indicating the one of to decrease or to increase the value of the paysplit variable.
26 . The method of claim 22 , further comprising:
embedding, within a transaction, a variable that indicates whether to increase, to hold constant, or to decrease a value of the paysplit variable managed according to the consensus rules of the blockchain.
27 . The method of claim 1 , wherein a difficulty level of the computational puzzle is determined using a difficulty variable managed according to consensus rules of the blockchain.
28 . The method of claim 27 , wherein the difficulty variable is adjusted to make selection of which network nodes to provide eligible solutions one of more difficult or less difficult, wherein a higher difficulty corresponds to a reduced set of nodes that will be considered eligible to generate solutions under the consensus rules of the blockchain.
29 . The method of claim 27 , further comprising:
embedding, within a solution to a golden ticket, a variable that indicates whether to increase, to hold constant, or to decrease a value of the difficulty variable managed according to the consensus rules of the blockchain.
30 . The method of claim 1 , wherein the computational puzzle establishes a two-player chain, wherein the two-player chain established by the computational puzzles is extended into a chain with an arbitrary number of participants, to perform at least one of providing additional randomness or splitting allocation of tokens into a finer distribution settling to more participants in the blockchain network.
31 . The method of claim 1 , further comprising:
embedding, within one of a block or a golden ticket, a variable that indicates whether to decrease, to hold constant, or to increase a value of a network consensus variable (“vote of the block” or “vote of the golden ticket”).
32 . The method of claim 31 , wherein blocks that contain a vote of the block indicating one of to decrease or to increase a value of the network consensus variable include only transactions that are consistent with the vote of the block indicating the one of to decrease or to increase the value of the network consensus variable.
33 . The method of claim 1 , further comprising:
embedding, within a solution to a golden ticket, a variable that indicates whether to decrease, to hold constant, or to increase a value of a network consensus variable (“vote of the golden ticket”).
34 . The method of claim 1 , further comprising:
embedding, within a transaction, a variable that indicates whether to decrease, to hold constant, or to increase a value of a network consensus variable (“vote of the transaction”).
35 . A system, comprising:
a first network node among a plurality of network nodes in a blockchain network, the first network node comprising:
at least one first processor; and
a first non-transitory computer readable medium communicatively coupled to the at least one first processor, the first non-transitory computer readable medium having stored thereon computer software comprising a first set of instructions that, when executed by the at least one first processor, causes the first network node to:
generate a golden ticket that contains a computational puzzle; and
a second network node among the plurality of network nodes, the second network node comprising:
at least one second processor; and
a second non-transitory computer readable medium communicatively coupled to the at least one second processor, the second non-transitory computer readable medium having stored thereon computer software comprising a second set of instructions that, when executed by the at least one second processor, causes the second network node to:
generate a solution to the computational puzzle in the golden ticket, wherein the solution to the computational puzzle is used to select, in a manner that cannot be anticipated by the first network node generating the golden ticket, one or more network nodes among the plurality of network nodes in the blockchain network; and
broadcast the solution to the golden ticket throughout the blockchain network, the solution being included in a subsequent block that is produced and validated by the blockchain network; and
a computing system, comprising:
at least one third processor; and
a third non-transitory computer readable medium communicatively coupled to the at least one third processor, the third non-transitory computer readable medium having stored thereon computer software comprising a third set of instructions that, when executed by the at least one third processor, causes the computing system to:
distribute blockchain tokens to the one or more network nodes that are selected using the solution to the computational puzzle in the golden ticket.