evaluating pow consensus protocols security
play

Evaluating PoW Consensus Protocols' Security Ren Zhang Bart Preneel - PowerPoint PPT Presentation

Lay Down the Common Metrics Evaluating PoW Consensus Protocols' Security Ren Zhang Bart Preneel ren@nervos.org bart.preneel@esat.kuleuven.be @nirenzang PUBLISH OR PERISH SUBCHAINS BYZCOIN GOSHAWK TORTOISE AND HARES BITCOIN-NG (AETERNITY,


  1. Lay Down the Common Metrics Evaluating PoW Consensus Protocols' Security Ren Zhang Bart Preneel ren@nervos.org bart.preneel@esat.kuleuven.be @nirenzang

  2. PUBLISH OR PERISH SUBCHAINS BYZCOIN GOSHAWK TORTOISE AND HARES BITCOIN-NG (AETERNITY, WAVES) BAHACK’S IDEA BITCOIN’S NAKAMOTO CONSENSUS ETHEREUM POW DECOR+ (ROOTSTOCK) CHAINWEB SPECTRE GHOST-DAG BOBTAIL FRUITCHAINS PHANTOM GHOST THE INCLUSIVE PROTOCOL CONFLUX

  3. ?

  4. ’s Nakamoto Consensus NC n To resolve fork n Longest chain (roughly) if there is one n First-received in a tie n To issue rewards n Main chain blocks receive full rewards n Orphaned blocks receive nothing Key Weakness n Imperfect chain quality: A <50% attacker can modify the blockchain with high success rate

  5. Imperfect Chain Quality 👊 3 Attacks Selfish Mining broadcast time attacker block the public time The attacker gains unfair block rewards; rational miners would join the attacker, which damages decentralization

  6. Imperfect Chain Quality 👊 3 Attacks broadcast time Double-spending attacker block Tx1: A → Merchant Merchant delivers the product the public time Tx2: A → A’ The attacker gets the product without paying for it

  7. Imperfect Chain Quality 👊 3 Attacks Censorship “I do not stand by in the (feather-forking) presence of evil” the public Threat: I will try to invalidate all time blocks confirming these txs Rational choice: join the attacker in censorship The attacker becomes a de facto owner

  8. Our Evaluation Framework: 4 Metrics A protocol claims to be more secure than NC: it either n achieves better chain quality ❶❷ or n resists better against all three attacks: n selfish mining 👊 incentive compatibility ❶ n double-spending 👊 subversion gain ❶ n censorship 👊 censorship susceptibility ❷ ❶ profit-driven (check the paper for the math definitions) adversary ❷ byzantine adversary

  9. ? Better-than-NC Candidates Better-chain-quality “I can raise the chain quality” protocols UTB: Ethereum PoW, Bitcoin-NG (Aeternity, Waves) n SHTB: DECOR+ (Rootstock) n UDTB: Byzcoin, Omniledger n Publish or Perish n “I don’t need to raise the chain quality, I can defend against Attack-resistant the attacks” protocols Reward-all (“compensate the losers”): Fruitchains, Ethereum n PoW, Inclusive, SPECTRE, PHANTOM, … Punishment (“fine all suspects”): DECOR+, Bahack’s idea n In this talk Reward-lucky (content-based reward): Subchains, Bobtail Check the paper n

  10. MDP-based Method Main idea Model the protocol execution as a Markov decision process (MDP), enumerate all the attacker’s reasonable strategies, find the ones that optimize the metrics Step 1 Define the attacker’s utility according to the security metric of interest. e.g., in selfish mining: utility = attacker’s rewards / all the rewards Step 2 Model the protocol as an MDP

  11. MDP-based Method Step 3 Solve the MDP, compute the attacker’s optimal strategies and their maximum utilities in various settings Step 4 Compare the utilities with NC, find out when they are better/worse Step 5 Check the respective strategies, find out why

  12. Cows Are Not Round in Reality Do not equate the security of a consensus protocol with its cryptocurrency n Many real-world factors affect the attack difficulty (e.g., 51% attack against ETC vs. against Bitcoin) n Several systems rely on extra protection for certain attack resistance

  13. Results

  14. 😁 better better Simplified Results 😖 it depends it depends 😠 worse worse “Better-chain- Chain Incentive “Attack- Subversion Censorship quality” Quality compa- resistant” gain susceptibility tibility Uniform tie- 😠 breaking Reward-all Fruitchains 😠 😠 😁 👊 Fruitchains Smallest-hash 😠 tie-breaking Punishment Unpredictable 😁 😁 😠 👊 Reward- 😠 deterministic tie- splitting breaking Publish or perish 😖 Reward-lucky 😠 😠 😠 👊 Subchains Subchains

  15. Attack-Resistant 👊 Reward-All: Fruitchains D time parent block A B C E n Same mining procedure, two products: n A block if the first k bits of H(candidate) <D1 n A fruit if the last k bits of H(candidate) <D2 n Fruits in blocks; txs in fruits n Fork-resolving: longest chain + first received (same as NC, RS and Subchains)

  16. Attack-Resistant 👊 Reward-All: Fruitchains D time pointer block parent block A B C E n Each fruit has a pointer block: a recent block the fruit miner is sure will not be orphaned A fruit is validity if n The pointer block is in the main chain (sorry tomato) And n Gap(fruit)=height(host)-height(pointer) < TimeOut (If TimeOut=3, pear is hopeless) Reward distribution n Valid fruits receive rewards; blocks, nothing

  17. 😁 better better Fruitchains Results 😖 it depends it depends 😠 worse worse 😠 Incentive n Risk-free units -> more audacious behaviors: attacker compatibility & uses worthless blocks to invalidate honest fruits; Subversion Gain attacker’s first fruits are in both chains pointer block parent block honest block time attacker block

  18. 😁 better better Fruitchains Results 😖 it depends it depends 😠 worse worse 😁 Censorship Censorship n Fruits in invalidated blocks might be added back later Susceptibility (lucky orange) pointer block parent block honest block time attacker block

  19. Attack-Resistant 👊 Punishment: RS time B’ C’ D’ uncle parent A B C D E No pointer, unlike Fruitchains n An uncle is valid if n Gap(uncle)=height(host)-height(uncle) < TimeOut (B’ is hopeless if TimeOut=3) n Each block reward is evenly split among competing block & uncles of the same height (RS is modified from DECOR+, but their results are not the same!)

  20. 😁 better better RS Results 😖 it depends it depends 😠 worse worse 😁 Incentive n 3-confirmation RS performs better than 9-conf. compatibility & Fruitchains Subversion Gain Subversion Min double-spending reward to incentivize Bounty double-spending attack attempts Attacker controls 10% mining power, 6-conf., bounty = 102 block rewards in NC, 346 in RS, 0 in Fruitchains

  21. Censorship Susceptibility of RS 😠 weak attackers In NC: In RS: 😁 strong attackers In NC: In RS: Gap=h(host)- h(self)

  22. Rewarding the Bad vs. Punishing the Good When chain quality is not perfect … A dilemma n Reward all -> no risk to double-spend n Punish -> aid censorship n Reward lucky -> lucky ≠ good Need to go beyond reward distribution policy to solve all attacks

  23. Discussion Simplicity is n No protocol comprehensively outperforms NC beauty What not to do n Designing protocols too complicated to analyze n Security analysis n against one attack strategy n against one attacker incentive n with unrealistic parameters

  24. Discussion Better chain Practical assumptions quality & attack n Awareness of network conditions resistance? n Loosely synchronized clock n Real-world commitments Outsource liability to raise attack resistance n Introduce additional punishment rules (embed proofs of malicious behavior in blockchain) n Solve at layer 2 (e.g. lightning guarantees double spending resistance) 24

  25. Short Conclusion n Tell anyone that claims to have a perfectly secure consensus protocol…

  26. ACADEMIA IS WATCHING YOU

  27. Thank you! Code: github.com/nirenzang/PoWSecurity Ren Zhang Bart Preneel ren@nervos.org bart.preneel@esat.kuleuven.be @nirenzang

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend