Consensus mechanisms are fault-tolerant processes that execute across a distribution of blockchain network agents, or nodes. Blockchain networks use consensus mechanisms to agree on the per-block final state of data on the chain. These mechanisms, or proofs, are what allow for the distributed and highly-secure nature of blockchain technology.
In a Proof-of-Work consensus mechanism one party (provers) must prove to the others (verifiers) that a threshold amount of computational power has been expended. A computationally-intensive puzzle must be completed to include a new block of transaction data state on the chain. This mechanism was first invented as a way to deter DDoS (distributed denial-of-service) attacks, since each prover is required to incur a non-zero economic cost in the form of computational power.
In the Proof-of-Stake consensus mechanism distributed consensus is reached by requiring nodes to stake tokens in order to be eligible as validators of transactions. Priority for being selected as a validator is given to nodes with the largest stake. Validators are rewarded in tokens based on their total stake for successfully producing and approving blocks. If other nodes can prove bad behavior by a validator, the penalty is paid out of the validator's stake.
As a result of the amount of variations in consensus algorithms and ways rewards and penalties are assigned, there are many variations of Proof-of-Stake. In terms of algorithmic differences, there are two primary types:
Chain-based Proof-of-Stake: Validators are pseudo-randomly selected to create a single block during each time slot. This block must point to some previous block (often the immediate prior) such that over time one single sequence of blocks is converged upon.
BFT-style Proof-of-Stake: Validators are randomly chosen to propose new blocks, but the consensus for which block is added is voted upon by every validator in a series of rounds. When this voting process is completed, validators must agree on which blocks are included in the chain.
Delegated-Proof-of-Stake allows network users, or delegators, to elect witnesses as validators to produce and approve blocks. Network users also elect delegates to oversee the governance of the blockchain. Voting power by delegators is determined by the amount of tokens they hold. Witnesses with more votes will have more influence over the network than those who have less.
Proof-of-Space is very similar to PoW, with the key difference laying in the requirements for proofs. Whereas PoW requires the production of proofs confirming computational power spent, PoSpace proofs are pieces of data that prove that the prover has reserved a certain amount of data storage space. This consensus mechanism is popularly used by decentralized file storage blockchain networks, as PoSpace proofs are intrinsically linked to this use-case.
Permissioned blockchains use Proof-of-Elapsed-Time to lower the computational resources required by PoW. Nodes algorithmically generate a random amount of time to sleep and the first node to wake up from their random elapsed time wins the new block. External participants verify the algorithmic generation of the random elapsed time, and the actual elapsed time by each winning participant.
Injective is built on Cosmos, which uses the Tendermint-based BFT Proof-of-Stake consensus mechanism. This consensus mechanism allows users to delegate their tokens to validators. Unlike DPoS the involvement of delegators is very limited.