Online Courses
Blockchain Security
Online Courses
Blockchain Security
  • Blockchain Security
  • Fundamentals of Blockchain Security
    • Introduction to blockchain
    • The promises of blockchain
    • Inside the blockchain hype
    • Blockchain structures
    • What is public-key cryptography?
      • How does public-key cryptography work?
      • Public-key cryptography in the blockchain
    • Security assumptions of public-key cryptography
      • Quantum computing
    • Hash function in blockchain
      • Properties of hash functions
      • Hash functions in the blockchain
      • Blockchain security hash key functions
    • Quiz
  • Consensus Algorithm Security
    • Introduction
      • The Byzantine generals problem
      • Security via scarcity
      • Common blockchain consensus algorithms
      • The longest chain rule
    • Proof of work
      • Inside PoW mining
    • Attacking proof of work
      • The 51% attack
      • Denial of service: Artificial difficulty increases
    • Proof of stake
      • Choosing the block creator
    • Attacking PoS consensus
      • XX% attack and the PoS "timebomb"
      • Fake stake attacks
      • Long-range attack
      • Nothing at stake problem
      • Sour milk attack
    • Quiz
  • Blockchain in Action
    • Nodes and network
      • Inside the node
      • How blocks are created
    • Attacking block creation
      • Denial-of-service
      • Frontrunning
      • Selfish mining
      • SPV mining
    • Attacking blockchain nodes
      • Blockchain software misconfiguration
      • Denial of service
      • Malicious transactions
    • Attacking the blockchain network
      • Eclipse attack
      • Routing attack
      • Sybil attack
    • Quiz
  • Smart Contract Security
    • What are smart contracts?
      • Smart contracts
    • General programming vulnerabilities
      • Arithmetic vulnerabilities
      • Right-to-left control character
    • Blockchain vulnerabilities
    • Ethereum vulnerabilities
    • Quiz
  • Beyond the Basics
    • Alternative distributed ledger architectures
      • Introduction to DAGs
      • Introduction to block lattices
      • Introduction to sidechains
    • Second-level blockchain protocols
      • How a state channel works
    • Advanced cryptography in blockchain
      • Multisignatures
      • Zero-knowledge proofs
      • Stealth addresses
      • Ring signatures
      • Commitment schemes
    • Quiz
  • Cumulative Quiz
Powered by GitBook
On this page
  1. Consensus Algorithm Security
  2. Introduction

Security via scarcity

A simple "one account, one vote" approach won't work in blockchain consensus. Pseudo-anonymity means that a malicious actor could have many accounts on the network

Blockchain consensus algorithms use a scarce resource to determine votes, like CPU cycles, cryptocurrency, hard drive space, etc

The more of the scarce resource that you have, the more voting power

Example

In blockchain consensus, a simple voting process won't work because it's easy for someone to create multiple accounts and control the ledger. To solve this problem, there is a concept called "scarce resource" at the core of blockchain consensus algorithms. This resource determines how many votes a person has.

For example, in proof-of-work consensus, the scarce resource is computational power, like CPU cycles. In proof-of-stake, the scarce resource is the blockchain cryptocurrency. And in proof of space, the scarce resource is the amount of storage space someone has.

The idea behind using a scarce resource is that it brings in economic principles like supply and demand. If someone wants to perform a 51 percent attack and control most of the hash rate in a proof-of-work network, they would have to buy a lot of CPUs or GPUs, which would drive up the cost. This makes it too expensive for someone to control the network.

This principle of security via scarcity is important because it prevents attackers from creating fake accounts to mess up governance or voting algorithms.

PreviousThe Byzantine generals problemNextCommon blockchain consensus algorithms

Last updated 9 months ago