رفتن به نوار ابزار
بازگشت به دوره

Bitcoin and Cryptocurrencies

0% تکمیل شده
0/ 95 گام
  1. Introduction: welcome to the course
    introduction
    5 موضوع‌ها
  2. Bitcoin Protocol & Consensus: A High Level Overview
    Intro
    1 موضوع
  3. Basic Concepts
    2 موضوع‌ها
  4. Bitcoin From The Ground Up
    11 موضوع‌ها
  5. Bitcoin Review
    5 موضوع‌ها
  6. QUIZ
  7. BLOCKCHAIN HISTORY: FROM THE CYPHERPUNK MOVEMENT to JPMORGAN CHASE
    Intro
    2 موضوع‌ها
  8. Pre-Bitcoin
    4 موضوع‌ها
  9. Early Bitcoin
    4 موضوع‌ها
  10. Scalability Debate and Ethereum
    4 موضوع‌ها
  11. Enterprise Blockchain
    3 موضوع‌ها
  12. State of the Industry
    3 موضوع‌ها
  13. Review, Readings, & More
    3 موضوع‌ها
  14. Quiz
  15. BITCOIN MECHANICS AND OPTIMIZATION: technical overview
    Intro
  16. Cryptographic Hash Functions
  17. A Tamper-Evident Database
  18. Signatures, ECDSA, and Addresses
  19. Bitcoin Script
  20. Advanced Bitcoin Script
  21. Review, Readings, & More
  22. Quiz
  23. bitcoin in real life: wallet mechanics, mining, & more
    Intro
  24. Types of Users
  25. Wallets
  26. Wallet Mechanics
  27. Mining
  28. Real World Mining
  29. Bitcoin Governance
  30. Review, Readings, & More
  31. Quiz
  32. game theory and network attacks: how to destroy bitcoin
    Intro
  33. Pool Strategies
  34. Double Spending
  35. Censorship
  36. Selfish Mining
  37. Defenses
  38. Review, Readings, & More
  39. Quiz
  40. ethereum and smart contracts: enabling a decentralized future
    Intro
  41. Smart Contracts
  42. Ethereum
  43. Ethereum Virtual Machine
  44. Ethereum Use Cases
  45. Ethereum Ecosystem
  46. Review, Readings, & More
  47. Quiz
  48. The End
    Beginning of something new
درس 4, موضوع 11
در حال پیشرفت

Supplement: 51% Attacks

نویسنده اکتبر 20, 2020
درس پیشرفت
0% تکمیل شده

Author: Rea Savla

51% Attack

The Bitcoin network requires Proof-of-Work to add new blocks to the blockchain. Users in the Bitcoin network vote on new blocks, and come to consensus on whether or not new blocks should be included in the blockchain. Proof-of-Work ties voting power to computational power rather than digital identity, and was designed to prevent the Sybil attack, where a malicious actor creates many identities to skew the vote. However, due to an uneven distribution of computational power, Satoshi Nakamoto’s “1 CPU 1 Vote” vision is not reflected perfectly in reality.

Bitcoin’s correct operation hinges on one key assumption: that there is an honest majority of computational power. An honest majority would be able to mine faster than a malicious minority, and thus have a higher probability of creating the next block. Once the network comes to consensus on these new blocks, generally it is in a miner’s best interest to follow protocol and mine on the longest observed blockchain. The longest chain is seen as the “true” valid transaction history because it has had the most work put into it. Therefore, the majority defines the transaction history.

However, if a malicious entity controls more than 50% of the mining power (say 51%), it has the majority and is now able to mine an alternative chain (with a different transaction history) and make it the longest chain. Bitcoin users would then accept that chain as the “true” transaction history. This happens for the same reasons that an honest majority might be able to maintain the longest chain. Giving power to the majority is a requirement of the decentralization Bitcoin aims to achieve. If we allow an honest minority to control the transaction history, then we’ve created a centralized entity consisting of the collection of these honest actors and thus defeated the purpose of decentralization. 

With 51% of the mining power, malicious actors can double spend, and use the same bitcoins for two different transactions. A malicious actor may send the same bitcoin to a third party and then to itself, choosing to include and validate the latter transaction and avoiding payment altogether. 

One entity holding majority mining power also makes the network susceptible to the Goldfinger Attack, where a 51% is used to destroy the value of a cryptocurrency. 

We’ll explore all these attacks in further detail in future course modules.

Forking

Sometimes, different miners may create different blocks, either intentionally (e.g. double spending) or unintentionally, to add at the same point on the blockchain. This creates multiple chains: multiple different versions of the transaction history. We say that the blocks are competing at the same block height, and that there has been a fork. Following protocol, miners eventually resolve the fork and agree upon one of the chains to be the valid blockchain, and continue to build blocks upon it. 

While some forks occur naturally, and some are the result of double spending attempts, there also exist purposeful cases of forking, used to make changes to the Bitcoin protocol. 

Two categories of these protocol changes are soft and hard forks. Soft forks implement protocol updates that strictly reduces the set of valid transactions, while hard forks, conversely, allow for previously invalid transactions to become valid.

We’ll explain more in the course modules for Week 4.