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

Recommend


More recommend