Consensus is arguably the most important concept in the blockchain world. It’s what allows distributed nodes to agree on what the next state should be. While consensus is deemed essential for blockchain, it can feel like a dead weight when trying to reach agreement on the new state as quickly as possible. TPS is now a metric that’s used as bragging rights for emerging layer-1s eager to showcase their innovation. But ask yourself if you’ve ever heard Google Cloud or AWS touting their TPS?
Cloud computing doesn’t have blockchain’s limitations because it’s centralized and there’s no possibility of Byzantine faults. Which for someone interested in full-speed decentralized computing raises a serious question: is centralization inherently necessary to achieve the speeds we’ve become accustomed to in cloud computing? A solution to this speed vs. decentralization dilemma will require thinking outside the box.
Consensus Algorithms and Their Limitations
Before seeking a solution to blockchain’s speed issue, let’s review the most common forms of consensus currently used by blockchains.
• Proof of Work (PoW) nodes use their hardware to solve mathematical puzzles. The first node to solve the puzzle and add blocks is rewarded in the blockchain’s native token. Proof of Work has come under criticism from the amount of energy its nodes use. Bitcoin is the largest PoW chain.
• Proof of Stake (PoS) nodes avoid the typically higher energy consumption of PoW by algorithmically selecting those who have the most staked to validate the blocks. PoS is built on the assumption that the more someone has staked in a network, the more vested interest they have in seeing the network perform as intended. PoS is also conducive to sharding, a mechanism that allows it to handle more transactions within a given period and avoid the scaling issues that have stymied PoW chains.
One problem with PoS is that not you can’t necessarily value a staker’s commitment just looking at their total stake. For example, one user might represent 1% of the total stake in a network and that might represent nearly their entire net worth. This could be in contrast to another staker’s 1% of the network which might be a minuscule amount in the context of their larger portfolio.
Ethereum is transitioning away from PoW (as of 2022) and will soon be the largest PoS blockchain.
• Delegated Proof of Stake (DPoS) is a variation on PoS where instead of staking directly, stakers pledge their coins to delegates. The delegates validate blocks algorithmically proportional to the amount of coins staked to each delegator. If a delegator is selected to validate a block, the rewards (net of the delegator’s fee) are distributed proportionally back to the individual stakers who pledged to that delegator.
Cardano and Tron are two popular DPoS blockchains.
• Proof of Authority (PoA) is a modification of the PoS consensus algorithm. A validator node in the PoA consensus uses their identity as their “stake.” This means that validators must reveal their identity to the blockchain in exchange for the privilege of validating blocks.
PoA is not without its issues. For one, it’s not suitable for public blockchains like Bitcoin with a large number of decentralized nodes. Its identity requirements typically align with a smaller set of validating nodes which runs counter to the implicit blockchain value of decentralization. PoA chains recognize validators with established reputations, and these aren’t usually attainable by ordinary individuals.
PoA, also sometimes known as Proof of Staked Authority (PoSA), is used by VeChain as well as three of Ethereum’s testnets: Kovan, Goerli, and Rinkeby.
Does the State Machine Need Consensus?
The end goal of consensus is that all nodes reach consistency on the current state. Given that every node is a replica of the state machine, we just need to ensure that all nodes can get the same sequence of events and update their state accordingly.
What if it turns out that the best consensus is no consensus at all? What if we can reach an agreement on what the current state is without having to rely on a consensus algorithm? That’s exactly what the TEA Project has done using its 2-layer blockchain.
- The TEA Project’s layer-1 keeps the trust data on the layer-2 nodes so that layer-2 no longer has to worry about Byzantine faults. The trust process is done through peer-to-peer remote attestation with the integrity of the layer-2 nodes vouched by their on-board TPM chips.
- The TEA Project’s layer-2 nodes are therefore trustable. Trust is a really big deal as it allows our layer-2 nodes to use a different Root of Trust (RoT). Instead of having to rely on slow consensus algorithms as an RoT (Proof of Work / Proof of Stake / Proof of Whatever), the TEA Project’s layer-2 nodes use time as its RoT. Centralized computers have also used time as an RoT (e.g. Google Spanner), but it’s not widely used in blockchain as blockchain nodes generally can’t trust each other like centralized cloud computers can.
As earth-bound creatures who don’t travel at the speed of light, we can consider time to be a stable physical value in our universe. If we give every event a timestamp before sending it out to replica nodes, then this timestamp can be trusted. Because there may be slight variations of when nodes report events (e.g. because of network latency), using time as an RoT gives us a stable reference to order transactions. All replica nodes are able to sort events based on the timestamps without needing to communicate with all other nodes. The TEA Project requires all of its layer-2 nodes to have a GPS module for the purpose of accurate timestamping.
The TEA Project is an innovative infrastructure solution for Web3 apps that need full speed decentralized computing. Our layer-1 is flexible in its ability to interface with a wide variety of chains and we’ll be applying for a parachain lease in the Polkadot ecosystem in 2022. We’re also actively seeking investors for our series A round. Interested funds can setup a meeting with our founder Kevin.