Public vs Private Blockchains

Not all blockchains are like Bitcoin. There’s a spectrum from fully open to fully controlled.

The right choice depends on your trust model and use case.


Public Blockchains

Anyone can participate. No permission needed.

PropertyDescription
JoinAnyone, anonymously
ReadFully transparent
WriteAnyone can submit transactions
ValidateAnyone can mine/stake

Examples: Bitcoin, Ethereum


The Trade-offs

Public blockchains are trustless but slow.

Why slow? Because you can’t trust participants:

  • Must wait for confirmations (Bitcoin: ~1 hour for high confidence)
  • Mining burns enormous energy
  • Every node stores everything

Bitcoin processes ~7 transactions per second. Visa does 24,000.


Private (Permissioned) Blockchains

Participation is controlled. You need permission to join.

PropertyDescription
JoinInvitation only
ReadControlled (may be public or restricted)
WriteAuthorized members only
ValidatePre-selected validators

Examples: Hyperledger Fabric, MultiChain, R3 Corda


Why Go Private?

When you already have some trust:

  • Consortium of banks - they’re regulated, identifiable
  • Supply chain partners - known business relationships
  • Government agencies - internal record keeping

You don’t need expensive proof of work. You just need agreement among known parties.

Private blockchains trade decentralization for efficiency.


The Comparison

FeaturePublicPrivate
Trust modelTrustlessPartial trust
SpeedSlow (minutes to hours)Fast (seconds)
ThroughputLow (~7-30 TPS)High (1000+ TPS)
EnergyHigh (PoW) or Medium (PoS)Low
PrivacyEverything visibleConfigurable
Censorship resistanceHighLow (admins control)

Consensus Mechanisms

Different trust levels need different consensus:

Public (no trust):

  • Proof of Work - solve puzzles (Bitcoin)
  • Proof of Stake - stake coins as collateral (Ethereum 2.0)

Private (partial trust):

  • PBFT (Practical Byzantine Fault Tolerance) - voting among known nodes
  • Raft - leader-based consensus for crash tolerance

Private blockchains can use much simpler consensus because validators are known.


When to Use What?

Use public blockchain when:

  • You need censorship resistance
  • Participants are anonymous or adversarial
  • Transparency is a feature, not a bug
  • You’re building a cryptocurrency or open financial system

Use private blockchain when:

  • Participants are known and somewhat trusted
  • You need high throughput
  • Regulatory compliance matters
  • Data privacy is required

The “Blockchain or Database?” Question

Private blockchains sometimes get criticized:

“If you trust the participants, why not just use a database?”

Fair question. Private blockchains add value when:

  • Multiple organizations need a shared record
  • No single party should control the data
  • You need audit trails that no one can tamper with
  • Participants want automated trust via smart contracts

It’s not about eliminating trust. It’s about distributing it.