Systems and methods for implementing permissionless network consensus for 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, which blockchain network is configured to provide a network coverage, the method comprising:
(a) validating a plurality of transactions related to providing the network coverage;
(b) achieving a consensus on validating at least one of the plurality of transactions at least by decrypting the at least one of the plurality of transactions within a given time window; and
(c) storing the at least one of the plurality of transactions in a new block in the blockchain network and recording a proof of the at least one of the plurality of transactions in the blockchain network.
2. The method of claim 1 , wherein the plurality of transactions is encrypted using a shared public key.
3. The method of claim 1 , wherein the at least one of the plurality of transactions is decrypted by a set of nodes from a group of nodes.
4. The method of claim 3 , wherein the consensus is achieved when a number of the set of nodes exceeds a pre-determined threshold.
5. The method of claim 3 , wherein the set of nodes is selected from the group of nodes based on a score as a function of previously created proofs of providing the network coverage.
6. The method of claim 5 , 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.
7. The method of claim 5 , wherein the set of nodes are re-selected as the score is updated.
8. The method of claim 3 , wherein the group of nodes are elected based on score as a function of previously created proof of providing the network coverage.
9. The method of claim 8 , wherein the group of nodes are elected for the given time window.
10. The method of claim 8 , wherein the proof of providing network coverage comprises verification that one or more nodes provides expected wireless network coverage.
11. The method of claim 3 , wherein each of the set of nodes decrypts a share of the at least one of the plurality of transactions.
12. The method of claim 1 , wherein the consensus further comprises an ordering of the at least one transaction in the plurality of transactions.
13. The method of claim 1 , wherein the consensus achieved is tolerant to Byzantine failures.
14. The method of claim 1 , wherein the proof is submitted by a miner node in the blockchain network.
15. The method of claim 14 , wherein the proof is created by validating a geographical location of a node providing the at least one of the plurality of transactions.
16. The method of claim 15 , wherein the geographical location is based at least in part on a strength of a radio frequency signal.
17. The method of claim 14 , wherein the proof is created by validating a correct time.
18. The method of claim 17 , wherein the correct time is validated using a time synchronization process.