Roughly how do permissionless blockchains, permissioned blockchains, and central databases compare on performance and structure?
Throughput and latency get better as you move from permissionless → permissioned → central DB; the blockchains' cost buys tolerance of untrusted writers, which the central DB has zero of.
| Permissionless | Permissioned | Central DB | |
|---|---|---|---|
| Throughput | Low | High | Very high |
| Latency | Slow | Medium | Fast |
| Untrusted writers tolerated | High | Low | 0 |
| Consensus | Mainly Proof of Work (PoW), some Proof of Stake (PoS) | Byzantine Fault Tolerance (BFT), e.g. Practical BFT (PBFT) | None |
| Centrally managed | No | Yes | Yes |
The single idea behind the table: consensus is what costs you performance. A permissionless chain runs heavy consensus (Proof of Work) to tolerate many anonymous, untrusted writers, so it's slowest. A permissioned chain uses lighter Byzantine Fault Tolerance consensus among few known writers, so it's faster. A central DB does no consensus at all — fastest, but tolerates no untrusted writers because there's only one.
Byzantine Fault Tolerance (BFT) is the property of still agreeing on one correct answer while some participants are Byzantine — not merely crashed, but arbitrarily faulty: lying, sending different answers to different peers, colluding. (The name comes from the Byzantine Generals Problem, where generals besieging a city must agree on attack-or-retreat while some of them are traitors.) The classic algorithm, Practical BFT (PBFT), reaches agreement by having the known participants vote in rounds, and works as long as fewer than a third of them are malicious — cheap compared to Proof of Work, but it needs a known, fixed membership list, which is exactly why it fits permissioned chains and not permissionless ones.
Go deeper:
Consensus (computer science) (Wikipedia) — why PoW vs BFT vs no-consensus is exactly what buys (or forfeits) tolerance of untrusted writers.