When people start talking about blockchain they often mix up the security models with consensus algorithms. If you’ve ever scratched your head when these terms start getting thrown, around this post is for you.
Every IT system has some type of security model. Security models answer the question, “how will this system grant access to “good” actors and limit the damage that “bad” actors can do”. In the traditional world of networked computing, this is often achieved through a role-based access control (RBAC) model. Typically these systems rely on establishing shared communal trust in a trusted certificate authority and X.509 certificates.
The internet domain name system is somewhat more complex but follows this basic paradigm with the Internet Corporation for Assigned Names and Numbers (ICANN) being responsible for the central issuance of certificates that enable your browser to resolve human-readable internet addresses. As with Blockchain systems here, governance is key to the functioning of the security model. There are many other types of centralized security which are regularly used for military command and control systems as well as access control for civilian infrastructure.
Common Centralized Security Models:
- Mandatory Access Controls (MAC)
- Multi-level security (MLS)
- Discretionary Access Controls (DAC)
- Role-Based Access Control (RBAC)
As you can see, these are large categories that describe how access control is organized and how computer systems in the system arrive at their individual or collective states. These models do not however stipulate the specific technologies or algorithms to be used. Proof-of-Work, Proof-of-Stake, and Proof-of-Authority are types of security models, not actually consensus algorithms.
Consensus Algorithms Enabling Blockchains with a Proof-of-Work Security Model:
There are at least half a dozen popular implementations of consensus algorithms that utilize a PoW model. Check out this post from Jan Vermuelen to learn more about the varieties of PoW algorithms. The main thing that changes between these algorithms is the Hashing algorithm that they rely upon. Usually, the algorithms are named after the hashing algorithm they employ.
- Nakamoto Consensus / SHA–256 — Bitcoin, Bitcoin Cash
- Scrypt — Litecoin, Dogecoin, Neo
- Ethash — Ethereum, Ethereum Classic
- Equihash — Zcash, ZenCash, Bitcoin Gold
- CryptoNight — Monero, Bytecoin
- X11 — Dash
- LYRA2RE — Vertcoin
Consensus Algorithms Enabling Blockchains with a Proof-of-Stake Security Model:
- Tendermint Core — Cosmos
- dPoS — EOS, TRON, Lisk
- Ouroboros — Cardano
- Casper the Friendly Ghost — Ethereum proposed
- Casper the Friendly Finality Gadget — Ethereum proposed
- Liquid Proof-of-Stake — Tezos
- GRANDPA/BABE — Polkadot
Consensus Algorithms Enabling Blockchains with a Proof-of-Authority Security Model:
- Honeybadger (POA Network)
- Clique (Geth’s PoA algorithm)
- Aura (Parity’s PoA algorithm)
- RAFT BFT (Hyperledger)
Although PoS, PoW, and PoA are the primary security models in the blockchain space there’s no limit on the type of security models that is possible and each of the security models has dozens of different implementations (and hybrids).