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
  • Security Assumptions
  • Violation of Security Assumptions
  • Vulnerabilities
  1. Consensus Algorithm Security

Attacking proof of work

Security Assumptions

  • The hash function used in the algorithm should be secure, meaning it is a one-way function and has collision resistance.

  • The difficulty level should be set appropriately to ensure that the difficulty of finding a valid block header is proportional to the hash rate of the network.

  • The majority of miners in the network are assumed to be honest.

Violation of Security Assumptions

  • If the hash function is not secure, a miner who discovers this fact can gain an unfair advantage.

  • If the difficulty level is set too high, it could lead to a denial of service attack where blocks are not being created.

  • If the difficulty level is set too low, an attacker could create a malicious version of the blockchain that becomes longer than the legitimate one.

  • If the majority of miners are dishonest, the proof of work algorithm fails.

Vulnerabilities

  • 51% Attack: If an attacker controls more than 50% of the network's hash power, they can potentially manipulate the blockchain by creating a longer chain of blocks.

  • Denial of Service Attacks: If the difficulty level is set too high, it can prevent the creation of new blocks, causing a denial of service.

PreviousInside PoW miningNextThe 51% attack

Last updated 9 months ago