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

ethereum state of knowledge and research perspectives
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 1/26

Ethereum: State of Knowledge and Research Perspectives

Sergei Tikhomirov

SnT, University of Luxembourg

24 October 2017 LORIA, Nancy, France

slide-2
SLIDE 2

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 2/26

Outline

Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

slide-3
SLIDE 3

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 3/26

Why give this talk?

◮ Ethereum is a fascinating research topic ◮ Intersection of cryptography, distributed systems,

programming languages, privacy, game theory, ...

◮ Interesting problems of highest practical relevance

slide-4
SLIDE 4

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 4/26

Bitcoin

◮ A fully decentralized digital currency [Nakamoto 2008] ◮ Combines cryptography and economics to prevent

double spending without a trusted third party

slide-5
SLIDE 5

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 5/26

Ethereum: generalized blockchain

◮ A blockchain-based application platform [Buterin 2014] ◮ Key feature: Turing complete programming

slide-6
SLIDE 6

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 6/26

Ethereum features

◮ Accounts controlled by key or by code (smart contracts) ◮ Developers write contracts in high-level languages that

compile to Ethereum Virtual Machine (EVM) bytecode

◮ Users interact with contracts via transactions

(e.g., send ether, perform computation)

slide-7
SLIDE 7

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 7/26

Ethereum security is hard

◮ New software stack ◮ Unfamiliar execution paradigm ◮ Very limited ability to patch contracts ◮ Anonymous financially motivated attackers ◮ Rapid pace of development

slide-8
SLIDE 8

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 8/26

Outline

Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

slide-9
SLIDE 9

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 9/26

Cryptography

◮ Signatures: ECDSA ◮ Hash for id’s: Keccak-256 ◮ Hash for proof-of-work: Ethash

slide-10
SLIDE 10

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 10/26

Ethash

◮ A new memory-hard cryptographic hash function ◮ Developed in 2013–2015, no academic cryptanalysis ◮ Claims of weaknesses in early versions ◮ (Ethereum plans to abandon proof-of-work altogether)

slide-11
SLIDE 11

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 11/26

Outline

Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

slide-12
SLIDE 12

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 12/26

Consensus: proof-of-work

◮ Nodes (miners) compete to produce the next block ◮ Find nonce s. t. hash(nonce|blockheader) < target ◮ The first miner to construct a block gets a reward ◮ Probability of success is proportional to hashing power

slide-13
SLIDE 13

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 13/26

Drawbacks of proof-of-work

◮ Energy consumption (Bitcoin: #70 ”country”) ◮ Centralization (benefits from economies of scale) ◮ Game-theoretic attacks (selfish mining)

These problems are less obvious in Ethereum than in Bitcoin.

slide-14
SLIDE 14

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 14/26

Proof-of-stake as ”virtual mining”

Validators chosen proportionally to stake. Known issues:

◮ Nothing-at-stake (incentive to mine on all chains) ◮ Choosing validators (security of randomness source) ◮ Long-range attacks (finality guarantees)

slide-15
SLIDE 15

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 15/26

Independent evaluation required!

slide-16
SLIDE 16

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 16/26

Outline

Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

slide-17
SLIDE 17

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 17/26

Scalability

◮ Ethereum: 10 tx/sec (Visa: 45k tx/sec) ◮ Proposed solution: payment channels ◮ Exchange partially signed tx’s off-chain, settle on-chain ◮ Payment channel network Raiden is in development ◮ Related: sharding, fast synchronization

slide-18
SLIDE 18

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 18/26

Outline

Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

slide-19
SLIDE 19

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 19/26

Privacy

◮ All transactions in plaintext, history stored forever ◮ Blockchain analysis, deanonymization (mostly Bitcoin) ◮ Possible solution: ZKP / ZkSNARKs (used in ZCash) ◮ Introduced in Ethereum on 16 October 2017

slide-20
SLIDE 20

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 20/26

Outline

Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

slide-21
SLIDE 21

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 21/26

Contract programming in Solidity

Solidity is the most mature high-level contract language. Example of a simple program:

1 pragma solidity 0.4.17; 2 contract StringStorageContract { 3 string private str = "Hello , world!"; 4 function getString () public constant 5 returns (string) { 6 return str; 7 } 8 function setString(string _str) public { 9 str = _str; 10 } 11 }

slide-22
SLIDE 22

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 22/26

Improving code quality

◮ Summarizing good and bad practices ◮ Developer tools: code analysis, bug detection ◮ Formal verification, formalization of EVM ◮ Safer paradigms, languages, frameworks

slide-23
SLIDE 23

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 23/26

Outline

Motivation Technical overview Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

slide-24
SLIDE 24

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 24/26

Other issues

◮ Governance: who determines Ethereum’s future? ◮ Usability: friendly dApps for broader audience ◮ Ethical: what is responsible disclosure in blockchain? ◮ Legal: how do cryptocurrencies fit in legal systems?

slide-25
SLIDE 25

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 25/26

Conclusion

◮ Blockchain is still a new technology ◮ Ethereum poses many research challenges ◮ Potential is enormous ◮ Security issues are inevitable

Researchers are welcome!

slide-26
SLIDE 26

Ethereum: State

  • f Knowledge and

Research Perspectives Sergei Tikhomirov Motivation Technical overview Open problems

Cryptography Consensus Scalability Privacy Contract programming Other issues

Conclusion 26/26

Questions?

◮ cryptolux.org ◮ s-tikhomirov.github.io