• Aucun résultat trouvé

Ethereum: State of Knowledge and Research Perspectives

N/A
N/A
Protected

Academic year: 2021

Partager "Ethereum: State of Knowledge and Research Perspectives"

Copied!
26
0
0

Texte intégral

(1)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Ethereum: State of Knowledge and Research

Perspectives

Sergei Tikhomirov

SnT, University of Luxembourg

24 October 2017 LORIA, Nancy, France

(2)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Outline

Motivation

Technical overview

Open problems Cryptography Consensus Scalability Privacy

Contract programming Other issues

Conclusion

(3)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Why give this talk?

I Ethereum is a fascinating research topic

I Intersection of cryptography, distributed systems, programming languages, privacy, game theory, ...

I Interesting problems of highest practical relevance

(4)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Bitcoin

I A fully decentralized digital currency [Nakamoto 2008]

I Combines cryptography and economics to prevent double spending without a trusted third party

(5)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Ethereum: generalized blockchain

I A blockchain-based application platform [Buterin 2014]

I Key feature: Turing complete programming

(6)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Ethereum features

I Accounts controlled by key or by code (smart contracts)

I Developers write contracts in high-level languages that compile to Ethereum Virtual Machine (EVM) bytecode

I Users interact with contracts via transactions (e.g., send ether, perform computation)

(7)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Ethereum security is hard

I New software stack

I Unfamiliar execution paradigm

I Very limited ability to patch contracts

I Anonymous financially motivated attackers

I Rapid pace of development

(8)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Outline

Motivation

Technical overview

Open problems Cryptography Consensus Scalability Privacy

Contract programming Other issues

Conclusion

(9)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Cryptography

I Signatures: ECDSA

I Hash for id’s: Keccak-256

I Hash for proof-of-work: Ethash

(10)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Ethash

I A new memory-hard cryptographic hash function

I Developed in 2013–2015, no academic cryptanalysis

I Claims of weaknesses in early versions

I (Ethereum plans to abandon proof-of-work altogether)

(11)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Outline

Motivation

Technical overview

Open problems Cryptography Consensus Scalability Privacy

Contract programming Other issues

Conclusion

(12)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Consensus: proof-of-work

I Nodes (miners) compete to produce the next block

I Find nonce s. t. hash(nonce|blockheader ) < target

I The first miner to construct a block gets a reward

I Probability of success is proportional to hashing power

(13)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Drawbacks of proof-of-work

I Energy consumption (Bitcoin: #70 ”country”)

I Centralization (benefits from economies of scale)

I Game-theoretic attacks (selfish mining)

These problems are less obvious in Ethereum than in Bitcoin.

(14)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Proof-of-stake as ”virtual mining”

Validators chosen proportionally to stake. Known issues:

I Nothing-at-stake (incentive to mine on all chains)

I Choosing validators (security of randomness source)

I Long-range attacks (finality guarantees)

(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!

(16)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Outline

Motivation

Technical overview

Open problems Cryptography Consensus Scalability Privacy

Contract programming Other issues

Conclusion

(17)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Scalability

I Ethereum: 10 tx/sec (Visa: 45k tx/sec)

I Proposed solution: payment channels

I Exchange partially signed tx’s off-chain, settle on-chain

I Payment channel network Raiden is in development

I Related: sharding, fast synchronization

(18)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Outline

Motivation

Technical overview

Open problems Cryptography Consensus Scalability Privacy

Contract programming Other issues

Conclusion

(19)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Privacy

I All transactions in plaintext, history stored forever

I Blockchain analysis, deanonymization (mostly Bitcoin)

I Possible solution: ZKP / ZkSNARKs (used in ZCash)

I Introduced in Ethereum on 16 October 2017

(20)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Outline

Motivation

Technical overview

Open problems Cryptography Consensus Scalability Privacy

Contract programming Other issues

Conclusion

(21)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Contract programming in Solidity

Solidity is the most mature high-level contract language.

Example of a simple program:

1 p r a g m a s o l i d i t y 0 . 4 . 1 7 ;

2 c o n t r a c t S t r i n g S t o r a g e C o n t r a c t {

3 s t r i n g p r i v a t e str = " Hello , w o r l d ! ";

4 f u n c t i o n g e t S t r i n g () p u b l i c c o n s t a n t 5 r e t u r n s (s t r i n g) {

6 r e t u r n str ;

7 }

8 f u n c t i o n s e t S t r i n g (s t r i n g _ s t r ) p u b l i c {

9 str = _ s t r ;

10 }

11 }

(22)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Improving code quality

I Summarizing good and bad practices

I Developer tools: code analysis, bug detection

I Formal verification, formalization of EVM

I Safer paradigms, languages, frameworks

(23)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Outline

Motivation

Technical overview

Open problems Cryptography Consensus Scalability Privacy

Contract programming Other issues

Conclusion

(24)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Other issues

I Governance: who determines Ethereum’s future?

I Usability: friendly dApps for broader audience

I Ethical: what is responsible disclosure in blockchain?

I Legal: how do cryptocurrencies fit in legal systems?

(25)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Conclusion

I Blockchain is still a new technology

I Ethereum poses many research challenges

I Potential is enormous

I Security issues are inevitable

Researchers are welcome!

(26)

Ethereum: State of Knowledge and

Research Perspectives Sergei Tikhomirov

Motivation Technical overview

Open problems Cryptography Consensus Scalability Privacy Contract programming Other issues Conclusion

Questions?

I

cryptolux.org

I

s-tikhomirov.github.io

Références

Documents relatifs

Possible re- search directions in the privacy domain include privacy preserving smart con- tracts with zero-knowledge proofs [KMS + 15] (support for zero-knowledge proofs in

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

This is expected because direct access is fetching blocks directly using their hashes, while EQL is searching for information inside the blocks (i.e., the timestamp and number

Héritiers de cette tradition, les autres auteurs ont tous intégré les genres oraux à leurs romans et adopté l’approche didactique caractéristique du récit

His research interests include plan-based control of robotic agents, knowledge processing and representation for robots, integrated robot learning, and cognition-enabled

Interpret the different aspects being researched in the process of teaching and learning social, geographical and historical information in different teaching models.. Judge

ITIL has been initiated in the 1980s by the British government to avoid that knowledge about the appropriate design of IT service processes be built up from

Index Terms —Shannon Theory, State-Dependent Channel, Information Leakage, Empirical Coordination, State Masking, State Amplification, Causal Encoding, Noisy Channel Feedback..