ethereum state of knowledge and research perspectives
play

Ethereum: State of Knowledge and Research Perspectives Motivation - PowerPoint PPT Presentation

Ethereum: State of Knowledge and Research Perspectives Sergei Tikhomirov Ethereum: State of Knowledge and Research Perspectives Motivation Technical overview Open problems Cryptography Consensus Sergei Tikhomirov Scalability Privacy


  1. Ethereum: State of Knowledge and Research Perspectives Sergei Tikhomirov Ethereum: State of Knowledge and Research Perspectives Motivation Technical overview Open problems Cryptography Consensus Sergei Tikhomirov Scalability Privacy Contract programming SnT, University of Luxembourg Other issues Conclusion 24 October 2017 LORIA, Nancy, France 1/26

  2. Ethereum: State Outline of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Motivation Technical overview Technical overview Open problems Cryptography Consensus Scalability Open problems Privacy Contract Cryptography programming Other issues Consensus Conclusion Scalability Privacy Contract programming Other issues Conclusion 2/26

  3. Ethereum: State Why give this talk? of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems ◮ Ethereum is a fascinating research topic Cryptography Consensus Scalability Privacy ◮ Intersection of cryptography, distributed systems, Contract programming programming languages, privacy, game theory, ... Other issues Conclusion ◮ Interesting problems of highest practical relevance 3/26

  4. Ethereum: State Bitcoin of Knowledge and Research Perspectives ◮ A fully decentralized digital currency [Nakamoto 2008] Sergei Tikhomirov Motivation ◮ Combines cryptography and economics to prevent Technical overview double spending without a trusted third party Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion 4/26

  5. Ethereum: State Ethereum: generalized blockchain of Knowledge and Research Perspectives ◮ A blockchain-based application platform [Buterin 2014] Sergei Tikhomirov Motivation ◮ Key feature: Turing complete programming Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion 5/26

  6. Ethereum: State Ethereum features of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ Accounts controlled by key or by code ( smart contracts ) Open problems Cryptography Consensus Scalability ◮ Developers write contracts in high-level languages that Privacy Contract programming compile to Ethereum Virtual Machine (EVM) bytecode Other issues Conclusion ◮ Users interact with contracts via transactions (e.g., send ether , perform computation) 6/26

  7. Ethereum: State Ethereum security is hard of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ New software stack Open problems Cryptography Consensus ◮ Unfamiliar execution paradigm Scalability Privacy Contract programming ◮ Very limited ability to patch contracts Other issues Conclusion ◮ Anonymous financially motivated attackers ◮ Rapid pace of development 7/26

  8. Ethereum: State Outline of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Motivation Technical overview Technical overview Open problems Cryptography Consensus Scalability Open problems Privacy Contract Cryptography programming Other issues Consensus Conclusion Scalability Privacy Contract programming Other issues Conclusion 8/26

  9. Ethereum: State Cryptography of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems Cryptography ◮ Signatures: ECDSA Consensus Scalability Privacy Contract ◮ Hash for id’s: Keccak-256 programming Other issues Conclusion ◮ Hash for proof-of-work: Ethash 9/26

  10. Ethereum: State Ethash of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ A new memory-hard cryptographic hash function Open problems Cryptography Consensus Scalability ◮ Developed in 2013–2015, no academic cryptanalysis Privacy Contract programming Other issues ◮ Claims of weaknesses in early versions Conclusion ◮ (Ethereum plans to abandon proof-of-work altogether) 10/26

  11. Ethereum: State Outline of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Motivation Technical overview Technical overview Open problems Cryptography Consensus Scalability Open problems Privacy Contract Cryptography programming Other issues Consensus Conclusion Scalability Privacy Contract programming Other issues Conclusion 11/26

  12. Ethereum: State Consensus: proof-of-work of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ Nodes (miners) compete to produce the next block Open problems Cryptography Consensus Scalability ◮ Find nonce s. t. hash ( nonce | blockheader ) < target Privacy Contract programming Other issues ◮ The first miner to construct a block gets a reward Conclusion ◮ Probability of success is proportional to hashing power 12/26

  13. Ethereum: State Drawbacks of proof-of-work of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ Energy consumption (Bitcoin: #70 ”country”) Open problems Cryptography ◮ Centralization (benefits from economies of scale) Consensus Scalability Privacy Contract programming ◮ Game-theoretic attacks (selfish mining) Other issues Conclusion These problems are less obvious in Ethereum than in Bitcoin. 13/26

  14. Ethereum: State Proof-of-stake as ”virtual mining” of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Validators chosen proportionally to stake . Known issues: Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming ◮ Nothing-at-stake (incentive to mine on all chains) Other issues Conclusion ◮ Choosing validators (security of randomness source) ◮ Long-range attacks (finality guarantees) 14/26

  15. Ethereum: State of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion Independent evaluation required! 15/26

  16. Ethereum: State Outline of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Motivation Technical overview Technical overview Open problems Cryptography Consensus Scalability Open problems Privacy Contract Cryptography programming Other issues Consensus Conclusion Scalability Privacy Contract programming Other issues Conclusion 16/26

  17. Ethereum: State Scalability of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ Ethereum: 10 tx/sec (Visa: 45k tx/sec) Open problems Cryptography Consensus ◮ Proposed solution: payment channels Scalability Privacy Contract programming ◮ Exchange partially signed tx’s off-chain, settle on-chain Other issues Conclusion ◮ Payment channel network Raiden is in development ◮ Related: sharding, fast synchronization 17/26

  18. Ethereum: State Outline of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Motivation Technical overview Technical overview Open problems Cryptography Consensus Scalability Open problems Privacy Contract Cryptography programming Other issues Consensus Conclusion Scalability Privacy Contract programming Other issues Conclusion 18/26

  19. Ethereum: State Privacy of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ All transactions in plaintext, history stored forever Open problems Cryptography Consensus Scalability ◮ Blockchain analysis, deanonymization (mostly Bitcoin) Privacy Contract programming Other issues ◮ Possible solution: ZKP / ZkSNARKs (used in ZCash) Conclusion ◮ Introduced in Ethereum on 16 October 2017 19/26

  20. Ethereum: State Outline of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Motivation Technical overview Technical overview Open problems Cryptography Consensus Scalability Open problems Privacy Contract Cryptography programming Other issues Consensus Conclusion Scalability Privacy Contract programming Other issues Conclusion 20/26

  21. Ethereum: State Contract programming in Solidity of Knowledge and Research Perspectives Sergei Tikhomirov Solidity is the most mature high-level contract language. Motivation Example of a simple program: Technical overview Open problems 1 pragma solidity 0.4.17; Cryptography Consensus 2 contract StringStorageContract { Scalability 3 string private str = "Hello , world!"; Privacy Contract 4 function getString () public constant programming Other issues 5 returns (string) { Conclusion 6 return str; 7 } 8 function setString(string _str) public { 9 str = _str; 10 } 11 } 21/26

  22. Ethereum: State Improving code quality of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Technical overview ◮ Summarizing good and bad practices Open problems Cryptography Consensus Scalability ◮ Developer tools: code analysis, bug detection Privacy Contract programming Other issues ◮ Formal verification, formalization of EVM Conclusion ◮ Safer paradigms, languages, frameworks 22/26

  23. Ethereum: State Outline of Knowledge and Research Perspectives Sergei Tikhomirov Motivation Motivation Technical overview Technical overview Open problems Cryptography Consensus Scalability Open problems Privacy Contract Cryptography programming Other issues Consensus Conclusion Scalability Privacy Contract programming Other issues Conclusion 23/26

Recommend


More recommend