Systems and methods for implementing permissionless network consensus using blockchain
Provided herein are systems and methods for implementing a network consensus for a blockchain network that is characterized by one or more, or all, of the following attributes: (1) implementation of a Proof-of-Coverage scheme; (2) lack of permission for nodes to participate in the network; (3) decentralization, with lack of incentives to centralize; (4) byzantine fault tolerance; (5) based on useful work to the network; (6) high confirmed transaction rate; and (7) censor-resistant transactions.
1. A method for achieving consensus in a blockchain network comprising:
(a) providing a network coverage by a plurality of nodes;
(b) selecting a subset of the plurality of nodes for validating a plurality of transactions related to providing the network coverage by the plurality of nodes, wherein the subset of the plurality of nodes are selected based on a proof of providing network coverage and wherein the proof comprises verification that one or more nodes provides expected wireless network coverage;
(c) achieving a consensus within the subset of the plurality of nodes to at least a subset of the plurality of transactions; and
(d) storing the subset of the plurality of transactions in a new block in the blockchain network.
2. The method of claim 1 , wherein the subset of the plurality of nodes is selected based on a score as a function of previously created proofs of providing the network coverage.
3. The method of claim 2 , further comprising updating the score and repeating steps (b) to (d).
4. The method of claim 2 , wherein the score is computed based on a number of successful verifications, a number of failed verifications, and a time since the last successful verification.
5. The method of claim 1 , wherein the plurality of transactions is encrypted using a shared public key.
6. The method of claim 5 , wherein achieving the consensus comprises decrypting the at least subset of the plurality of transactions by a pre-determined number of the subset of the plurality of nodes within a time window.
7. A system for achieving consensus in a decentralized blockchain consensus network, the system comprises:
a plurality of nodes in the decentralized blockchain consensus network for providing a network coverage, wherein a subset of the plurality of nodes is configured to:
(i) validate a plurality of transactions related to providing the network coverage by the plurality of nodes;
(ii) achieve a consensus within the subset of the plurality of nodes to at least a subset of the plurality of transactions; and
(iii) store the subset of the plurality of transactions in a new block in the blockchain network, wherein the subset of the plurality of nodes are selected based on a proof of providing network coverage and wherein the proof comprises verification that one or more nodes provides expected wireless network coverage.
8. The system of claim 7 , wherein the subset of the plurality of nodes is selected based on a score as a function of previously created proofs of providing the network coverage.
9. The system of claim 8 , wherein the subset of the plurality of nodes are re-selected when the score is updated.
10. The system of claim 8 , wherein the score is computed based on a number of successful verifications, a number of failed verifications, and a time since the last successful verification.
11. The system of claim 7 , wherein the plurality of transactions is encrypted using a shared public key.
12. The system of claim 11 , wherein achieving the consensus comprises decrypting the at least subset of the plurality of transactions by a pre-determined number of the subset of the plurality of nodes within a time window.
13. The system of claim 7 , wherein the subset of the plurality of nodes is selected from the plurality of nodes based on a proof of network coverage submitted by the subset of the plurality of nodes.