33
State of Ethereum And Mining

State of Ethereum, and Mining

Embed Size (px)

DESCRIPTION

BitcoinConfHK

Citation preview

Page 1: State of Ethereum, and Mining

State of EthereumAnd Mining

Page 2: State of Ethereum, and Mining

● People want features○ Issue coins○ Decentralized exchange○ Financial contracts

● Solution: feature coins● Problem: what if people want to do

more?

Cryptocurrency in 2013

Page 3: State of Ethereum, and Mining

● Generalized cryptoledger ● Built-in programming language● Create any feature that you want● Also supports DACs/DAOs/DAs

Ethereum

Page 4: State of Ethereum, and Mining

● Special type of account● Has:

○ Code○ Ether○ Storage (key/value database)

Contracts

Page 5: State of Ethereum, and Mining

● Idea: when a message is sent to a contract, code executes

● Code can:○ Read/write storage○ Send ether○ Send other messages (ie. recursive VM)

Contracts

Page 6: State of Ethereum, and Mining

Name registry: Currency:

Examples

Page 7: State of Ethereum, and Mining

The Ethereum Blockchain

Page 8: State of Ethereum, and Mining

Ethereum in 2014

● Decentralized applications (Đapps)● More than just money

Page 9: State of Ethereum, and Mining

● HTML/JS webpage, ETH JS API

Đapps: contracts with GUIs

Page 10: State of Ethereum, and Mining

● Whitepaper● Protocol fully implemented● 4 clients (Go, C++, Py, Java)● 2 clients compatible for 1900 blocks● Serpent, LLL, Mutan● Basic browser● Fully functional third-party dapps

Progress so far (technical)

Page 11: State of Ethereum, and Mining

● Financial○ Kickstarter (38 LoC)○ Denny’s Lotto

● Academic Publishing○ CryptoSwartz

● Governance○ People’s Republic of ĐOUG○ Project Eris○ BitVote

Third-Party Development

Page 12: State of Ethereum, and Mining

Progress so far (non-technical)● CCRG prelim (Toronto, Waterloo, Texas,

Nicosia)● Regulatory (Swiss, almost US)● Sale website, cold storage policy

(almost)● 40+ meetup groups

Page 13: State of Ethereum, and Mining

What needs to be done (technical)

● EtherBrowser○ Likely Chromium-based

● Efficiency upgrades○ JIT compilation

● Security audits● Light client implementation● Mobile implementation

Page 14: State of Ethereum, and Mining

What needs to be done (non-technical)

● Finalize pre-sale tasks● CCRG formal setup● Education resources● Translation● 960 more meetup groups?

Page 15: State of Ethereum, and Mining

Conclusion

● Ethereum at halfway point● Current version theoretically near-

viable but buggy (eg. 2009 BTC)● “Hard” work still remains

(we’re only half-done…)

Page 16: State of Ethereum, and Mining

Decentralization, n. The security assumption that a nineteen year old in Hangzhou and someone maybe in the UK, and maybe not, have not yet decided to collude with each other.

Mining

Page 17: State of Ethereum, and Mining

● I have 100 BTC○ Tx 1 sends 100 BTC to A○ Tx 2 sends 100 BTC to B

● Both are published, which one confirms?● Correct answer: the one that appears

first● Problem: need distributed timestamp● Solution: blockchain

Blockchain

Page 18: State of Ethereum, and Mining

Mining

● Miners attempt to produce blocks● Each block references previous block● Block making function 1/1020 success rate● One random miner succeeds every 10 min● Longest blockchain (one with most PoW)

wins

Page 19: State of Ethereum, and Mining

51% Attacks

● Problem: one entity has >50% hashpower● Attack 1: reverse transactions● Attack 2: exclude others, monopolize

○ Weaker version at 25%: selfish-mining● Attack 3: censor transactions

Page 20: State of Ethereum, and Mining

Pools

● Mining is a lottery● One ASIC has 15% chance of success● Pools: mine for me, I pay you 0.00025 BTC

per block● Problem: pool centralization

Page 21: State of Ethereum, and Mining

Pools

Page 22: State of Ethereum, and Mining

● Bad argument: no, majority miner has aligned incentives

● Better argument: users can quit pools○ Unknown: will they?

Is centralization bad?

Page 23: State of Ethereum, and Mining

● Problem: centralized pools allow mining without validation

● Idea: protocol requires blockchain accesses

● Goal: make P2Pool economically viable

Solution 1: force blockchain storage

Page 24: State of Ethereum, and Mining

● Problem: small pools have high variance● Idea: users mine into multiple pools

simultaneously● Goal: allow even small pools to fully

absorb variance

Solution 2: Multi-PPS

Page 25: State of Ethereum, and Mining

● Original intent: mining decentralized, democratic

● Problem: specialized hardware● Now: mining hardware all produced by a

few centralized firms

ASICs

Page 26: State of Ethereum, and Mining

● 25% of hashpower made in one factory in Shenzhen● First floor: 25% of Litecoin hashpower

How bad?

Page 27: State of Ethereum, and Mining

● Argument: CPU production very centralized too

● Counterpoint: CPU usage and control still local

● ASIC production now centralized, usage still decentralized

● Will this change?

Is this a problem?

Page 28: State of Ethereum, and Mining

The First Grand Equation

Page 29: State of Ethereum, and Mining

● Centralized maintenance, storage cheaper● Decentralized energy free… up to a point

ASIC Decentralization: The Argument

Page 30: State of Ethereum, and Mining

● 2011: Scrypt○ Problem: memory-hard to verify

● 2013 Oct: Momentum○ Problem: Pollard cycle finding algo

● 2013 Dec: Dagger○ Problem: shared memory

● Now: Cuckoo (length-42 cycles)

Anti-ASIC 1: Memory-Hardness

Page 31: State of Ethereum, and Mining

● Strategy: randomly generate a mining function every block

● Idea: optimal ASIC for “any function” IS a CPU

● Problem: how● Problem 2: some specialization always

possible○ But: does that matter?

Anti-ASIC 2: Generalized Computation

Page 32: State of Ethereum, and Mining

The Second Grand Equation● Idea: use of computer hardware free… up

to a point

Page 33: State of Ethereum, and Mining

End