computing for decentralized systems
play

Computing for Decentralized Systems Alejandro Avils (@OmeGak) 7th ~ - PowerPoint PPT Presentation

Computing for Decentralized Systems Alejandro Avils (@OmeGak) 7th ~ 8th March 2018 Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) Distributed Systems Distribute /d str b.ju t/ To give something out to


  1. Computing for Decentralized Systems Alejandro Avilés (@OmeGak) 7th ~ 8th March 2018 Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

  2. Distributed Systems

  3. Distribute /d ɪˈ str ɪ b.ju ː t/ To give something out to several people, or to spread or supply something.

  4. Distributed system Hardware or software components located at networked computers communicating and coordinating their actions to achieve a common goal only by passing messages.

  5. Advantages Sharing resources Lower latency Fault tolerance

  6. Complications Concurrency No global clock Independent failures

  7. Security model Interfaces Cryptography Control and trust

  8. Role-based architectures Client-server Peer-to-peer

  9. Decentralized Systems

  10. Decentralize / ˌ di ːˈ sen.tr ə .la ɪ z/ To move the control of an organization or government from a single place to several smaller ones.

  11. Types of (de)centralization Architectural Political Logical (Location) (Authority) (Consensus)

  12. Centralized systems

  13. Decentralized systems https://youtu.be/C2vgICfQawE

  14. Decentralization in Nature

  15. Decentralization in Society

  16. Decentralization in Computing

  17. Consensus and Byzantine Fault Tolerance

  18. Consensus /k ə n ˈ sen.s ə s/ A generally accepted opinion or decision among a group of people.

  19. Network splits

  20. Strong consistency Consensus Authority? Trust? algorithms

  21. The two generals problem Attack at dawn ACK ACK' ACK''

  22. The Byzantine generals problem 🤟 🤟

  23. Scalability of trust Complexity of trust Trusted Centralization of O(N 2 ) generals authority

  24. Governance, Economics, and Proof-of-Work

  25. Governance / ˈɡʌ v. ɚ .n ə ns/ The way that organizations or countries are managed at the highest level.

  26. Economics / ˌ i ː .k əˈ n ɑː .m ɪ ks/ The social science that studies the production, distribution, and consumption of goods and services focusing on the behaviour and interactions of economic agents.

  27. The siege

  28. Attack or retreat? Abort! Go go go! 🤟 Let's go back! Nope! Let's go! Retreat! 🤟

  29. Let's vote Abort! Go go go! 🤟 Let's go back! Nope! Let's go! Retreat! 🤟 Retreat!

  30. No central authority Abort! Go go go! 🤟 Let's go back! Nope! Let's go! Retreat! 🤟 Attack! x9

  31. Treason ensues! 🤟 🤟

  32. Proof of Work~ish

  33. Economics in war

  34. Expensive voting 🤟 🤟 Consensus!

  35. Dominant strategy reward i = (loot / N) + valueOfStayingAlive i - (voteCost * votes i ) 🤟 voteCost > ???

  36. Breaking the equilibrium? 🤟 ???

  37. Bitcoin and the Blockchain

  38. Bitcoin / ˈ b ɪ t.k ɔɪ n/ A purely peer-to-peer version of electronic cash that allows online payments to be sent directly from one party to another without going through a financial institution.

  39. What is Bitcoin, really? 🤕

  40. A database* Unrestricted read Unrestricted write * Append only ≃ Blockchain: Linked list of state updates

  41. Bitcoin network

  42. Bitcoin protocol Describes valid blocks Will others take my block? Should I take this block?

  43. Bitcoin Measure of reward = Granted to block issuer Described in the protocol New valid block arrives

  44. Bitcoin transactions Transmission of ownership Described in the protocol Broadcasted Validated by peers Inserted in blocks

  45. A few problems 💪 ⚡ 🤟 Not a cost-free Not everybody Reward's worth service is trustworthy is subjective

  46. So... WHY does this work, really? 🤰

  47. Utility and cost Permission-less Resilient Not cost-free ≃

  48. The mining game Valid blocks are rewarded Miners use CPU cycles They produce valid blocks

  49. Validity chain Is this new block valid? Validators require past blocks

  50. Reward ledger A database of transactions Anybody can broadcast Nobody can censor * Everybody can read

  51. Bitcoin as currency = Portable Scarce 10' 10' Block creation is rate-limited Reward is not infinite

  52. Censorship resistance 🤟 🤟

  53. Sybil attack resistance Power into valid blocks Honest nodes make profit Power into invalid blocks Malicious nodes gain nothing

  54. Race condition resistance 10' 10' 10' The longest chain rule Most work invested 10' 10' Adjustable di ffi culty Rate-limits updates

  55. Proof of Work in Bitcoin

  56. Block hashes Double SHA-256 Hash of the previous valid block + + Valid bitcoin transactions Nonce

  57. Block mining Valid hash: 0000000000000000001b13... Nonce increases CPU used in SHA-256

  58. Tampering with the past Blocks can be altered locally Hashes become invalid Invalid blocks must be re-mined Attacker must spend CPU

  59. Single version of truth 10' Honest chain keeps growing ?' Attacker must outrun network 51% attack would allow this *

  60. Bitcoin applications beyond cash

  61. Ethereum, Smart Contracts, and Decentralized Applications

  62. Contract / ˈ k ɑː n.trækt/ A legal document that states and explains a formal agreement between two different people or groups, or the agreement itself.

  63. Ethereum A computer * Turing-complete Arbitrarily complex language transactions *

  64. Smart Contracts Agreement Protocol to perform Breach is between parties on promises expensive

  65. Contract design Who can resolve Reactive Proactive disputes? enforcement enforcement

  66. Decentralizing contracts Arbiter replaced Reduced need Higher degree of by the blockchain for trust in humans * automation

  67. Decentralized apps Golem Gnosis Etherisk Decentralized Crowdsourced Decentralized computing knowledge insurance Colony Aragon Decentralized Decentralized Decentralized business court systems digital nations?

  68. The Future of Decentralization

Recommend


More recommend