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
● Generalized cryptoledger
● Built-in programming language
● Create any feature that you want
● Also supports DACs/DAOs/DAs
Ethereum
● Special type of account
● Has:
○ Code
○ Ether
○ Storage (key/value database)
Contracts
● 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
Name registry: Currency:
Examples
The Ethereum Blockchain
Ethereum in 2014
● Decentralized applications (Đapps)
● More than just money
● HTML/JS webpage, ETH JS API
Đapps: contracts with GUIs
● 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)
● Financial
○ Kickstarter (38 LoC)
○ Denny’s Lotto
● Academic Publishing
○ CryptoSwartz
● Governance
○ People’s Republic of ĐOUG
○ Project Eris
○ BitVote
Third-Party Development
Progress so far (non-technical)
● CCRG prelim (Toronto, Waterloo, Texas,
Nicosia)
● Regulatory (Swiss, almost US)
● Sale website, cold storage policy
(almost)
● 40+ meetup groups
What needs to be done (technical)
● EtherBrowser
○ Likely Chromium-based
● Efficiency upgrades
○ JIT compilation
● Security audits
● Light client implementation
● Mobile implementation
What needs to be done (non-technical)
● Finalize pre-sale tasks
● CCRG formal setup
● Education resources
● Translation
● 960 more meetup groups?
Conclusion
● Ethereum at halfway point
● Current version theoretically near-
viable but buggy (eg. 2009 BTC)
● “Hard” work still remains
(we’re only half-done…)
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
● 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
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
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
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
Pools
● Bad argument: no, majority miner has
aligned incentives
● Better argument: users can quit pools
○ Unknown: will they?
Is centralization bad?
● Problem: centralized pools allow mining
without validation
● Idea: protocol requires blockchain
accesses
● Goal: make P2Pool economically viable
Solution 1: force blockchain storage
● 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
● Original intent: mining decentralized,
democratic
● Problem: specialized hardware
● Now: mining hardware all produced by a
few centralized firms
ASICs
● 25% of hashpower made in one factory in Shenzhen
● First floor: 25% of Litecoin hashpower
How bad?
● 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?
The First Grand Equation
● Centralized maintenance, storage cheaper
● Decentralized energy free… up to a point
ASIC Decentralization: The Argument
● 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
● 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
The Second Grand Equation
● Idea: use of computer hardware free… up
to a point
End

State of Ethereum, and Mining

  • 1.
  • 2.
    ● People wantfeatures ○ Issue coins ○ Decentralized exchange ○ Financial contracts ● Solution: feature coins ● Problem: what if people want to do more? Cryptocurrency in 2013
  • 3.
    ● Generalized cryptoledger ●Built-in programming language ● Create any feature that you want ● Also supports DACs/DAOs/DAs Ethereum
  • 4.
    ● Special typeof account ● Has: ○ Code ○ Ether ○ Storage (key/value database) Contracts
  • 5.
    ● Idea: whena message is sent to a contract, code executes ● Code can: ○ Read/write storage ○ Send ether ○ Send other messages (ie. recursive VM) Contracts
  • 6.
  • 7.
  • 8.
    Ethereum in 2014 ●Decentralized applications (Đapps) ● More than just money
  • 9.
    ● HTML/JS webpage,ETH JS API Đapps: contracts with GUIs
  • 10.
    ● Whitepaper ● Protocolfully 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)
  • 11.
    ● Financial ○ Kickstarter(38 LoC) ○ Denny’s Lotto ● Academic Publishing ○ CryptoSwartz ● Governance ○ People’s Republic of ĐOUG ○ Project Eris ○ BitVote Third-Party Development
  • 12.
    Progress so far(non-technical) ● CCRG prelim (Toronto, Waterloo, Texas, Nicosia) ● Regulatory (Swiss, almost US) ● Sale website, cold storage policy (almost) ● 40+ meetup groups
  • 13.
    What needs tobe done (technical) ● EtherBrowser ○ Likely Chromium-based ● Efficiency upgrades ○ JIT compilation ● Security audits ● Light client implementation ● Mobile implementation
  • 14.
    What needs tobe done (non-technical) ● Finalize pre-sale tasks ● CCRG formal setup ● Education resources ● Translation ● 960 more meetup groups?
  • 15.
    Conclusion ● Ethereum athalfway point ● Current version theoretically near- viable but buggy (eg. 2009 BTC) ● “Hard” work still remains (we’re only half-done…)
  • 16.
    Decentralization, n. Thesecurity 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
  • 17.
    ● I have100 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
  • 18.
    Mining ● Miners attemptto 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
  • 19.
    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
  • 20.
    Pools ● Mining isa lottery ● One ASIC has 15% chance of success ● Pools: mine for me, I pay you 0.00025 BTC per block ● Problem: pool centralization
  • 21.
  • 22.
    ● Bad argument:no, majority miner has aligned incentives ● Better argument: users can quit pools ○ Unknown: will they? Is centralization bad?
  • 23.
    ● Problem: centralizedpools allow mining without validation ● Idea: protocol requires blockchain accesses ● Goal: make P2Pool economically viable Solution 1: force blockchain storage
  • 24.
    ● Problem: smallpools have high variance ● Idea: users mine into multiple pools simultaneously ● Goal: allow even small pools to fully absorb variance Solution 2: Multi-PPS
  • 25.
    ● Original intent:mining decentralized, democratic ● Problem: specialized hardware ● Now: mining hardware all produced by a few centralized firms ASICs
  • 26.
    ● 25% ofhashpower made in one factory in Shenzhen ● First floor: 25% of Litecoin hashpower How bad?
  • 27.
    ● Argument: CPUproduction very centralized too ● Counterpoint: CPU usage and control still local ● ASIC production now centralized, usage still decentralized ● Will this change? Is this a problem?
  • 28.
  • 29.
    ● Centralized maintenance,storage cheaper ● Decentralized energy free… up to a point ASIC Decentralization: The Argument
  • 30.
    ● 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
  • 31.
    ● Strategy: randomlygenerate 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
  • 32.
    The Second GrandEquation ● Idea: use of computer hardware free… up to a point
  • 33.