does a blockchain need altruism
play

Does a Blockchain Need Altruism? Roger Wattenhofer ETH Zurich - PowerPoint PPT Presentation

Does a Blockchain Need Altruism? Roger Wattenhofer ETH Zurich Distributed Computing Group Do You Trust the Miners? Modeling Distributed Systems A ltruistic R ational C rash B yzantine Modeling Distributed Systems C rash R ational A ltruistic


  1. Does a Blockchain Need Altruism? Roger Wattenhofer ETH Zurich – Distributed Computing Group

  2. Do You Trust the Miners?

  3. Modeling Distributed Systems A ltruistic R ational C rash B yzantine

  4. Modeling Distributed Systems C rash R ational A ltruistic B yzantine Who are the Miners?

  5. “The system is secure as long as honest nodes collectively control more CPU power than any cooperating group of attacker nodes.”

  6. Mining is a Rational Business

  7. Mining is a Rational Business

  8. Selfish Mining Timeline 2009 2010 2013 2018

  9. What is Selfish Mining Tx_0 Tx_0 Tx_1 Tx_1 … … Tx_0 Tx_0 Tx_0 Tx_0 Tx_1 Tx_1 Tx_1 Tx_1 … … … …

  10. Simpler Analysis

  11. Original Algorithm

  12. Somewhat Simpler Algorithm

  13. 𝑒 𝑞 > 𝑒 𝑡 Tx_0 Tx_0 Tx_1 Tx_1 … …

  14. Somewhat Simpler Algorithm

  15. 𝑒 𝑞 = 𝑒 𝑡 − 1 Tx_0 Tx_0 Tx_1 Tx_1 … … Tx_0 Tx_0 Tx_0 Tx_0 Tx_1 Tx_1 Tx_1 Tx_1 … … … …

  16. Somewhat Simpler Algorithm

  17. 𝑒 𝑞 = 𝑒 𝑡 Tx_0 Tx_0 Tx_1 Tx_1 … … Tx_0 Tx_0 Tx_1 Tx_1 … …

  18. State Machine (Original & Simpler) = 1 − 𝛽 𝛽 : probability that selfish miner finds a block

  19. Stationary Distribution

  20. Computation…

  21. All 𝛾 Transitions 0 → 0 : Block for honest miners 𝑗 + 1 → 𝑗 : Block for selfish miner (for 𝑗 > 2 ) 2 → 0 : Two blocks for selfish miner 1 → 0 : Race who wins next block with probability 𝛽 two blocks for selfish miner with probability 𝛾(1 − 𝛿) two blocks for honest miners with probability 𝛾𝛿 one block each 𝛿 : probability that honest miners append block to selfish miner’s block (in race)

  22. Ratio of Selfish Blocks in Chain 𝛿 : probability that honest miners append block to selfish miner’s block (in race)

  23. Selfish Miner Share

  24. Selfish Miner Share 𝛿 = 0 : break even at 𝛽 = 1/3 𝛿 = 0.5 : break even at 𝛽 = 1/4 𝛿 = 1 : break even at 𝛽 > 0

  25. A Blockchain Without Altruism? [Joint Work with Jakub Sliwinski]

  26. Simple Chains Are Too Simple

  27. Better: Expose Competition

  28. Our Rational Blockchain

  29. Always Refer to All Childless Blocks

  30. Only One Type of Reference (Heaviest Reference is Your “Parent”)

  31. Block Ordering is Recursive 5 3 1 2 4 6

  32. Incentives

  33. Why Miners Should Always Refer to All Childless Blocks?

  34. Because of our Block Rewards!

  35. It’s Somewhat Complicated…

  36. Motivating Block Rewards I Reward = 0.34 Reward = 0.71 Reward = 1 Reward = 1 Reward = 1 Reward = 0.71

  37. Motivating Block Rewards II Reward = 0.72 Reward = 0.91 Reward = 0.45 Reward = 0.69

  38. Our Solution

  39. Block Penalty Example 1 1

  40. Block Penalty Example 1 0.5 0.5

  41. Block Penalty Example 1 1 1 0.66 0.66 0.5 0.5 0.66

  42. The Penalty Algorithm

  43. The Penalty Algorithm

  44. The Penalty Algorithm 1 1 1 1 0.66 1 1 0 0.66 0.33 0.33 0.66 1 1 0.66 0.66

  45. Transaction Fees

  46. A  B fee = 10 A  B fee = 10

  47. A  B A  B fee/2 = 5 fee/2 = 5

  48. “The system is secure as long as rational honest nodes collectively control more CPU power than any cooperating group of attacker nodes.”

  49. Thank You! Questions & Comments? Thanks to Jakub Sliwinski www.disco.ethz.ch

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