An technical overview of Ethereum that provides a full picture starting from the original problem of building a distributed ledger and mining up to smart contracts.
Please note that there are no llamas in this presentation.
3. The idea
1. Have private keys as wallets and use public keys as addresses
○ A spending transaction needs to be signed
2. Store transactions in a
distributed decentralized store
3. PROFIT!!!
4. What is blockchain?
It is a continuously growing list of records, called blocks, which are linked and
secured using cryptography (from Wiki)
● Immutable
● Secure by design
● Managed by a distributed P2P network
○ Every node has a local copy
○ Every node performs block validation
○ Every node works on the longest tree
○ Every node generates(mines) new blocks
● DDoS attacks and fake transactions are avoided by
requiring Proof-of-Work
5.
6. Blockchain is more than Bitcoin
● You can use blockchain as a distributed database of any type of records or
assets
○ Perhaps we could even store code there
● Options:
○ Fork Bitcoin, e.g. Namecoin (DNS registry)
○ Write your own from scratch
● How about a generic framework?
7. What is Ethereum?
● A framework for building new blockchain-based applications
● A turing-complete distributed VM
○ Smart contracts - vending machine
○ Code is written in Solidity (a strange child of Java, C and the 90’s)
○ Every node runs the code
■ Infinite loops are prevented by gas limit
● Subtle technological differences
○ Memory complex PoW
○ Uncles are rewarded by the miner of the block
● Great marketing
8.
9. Types of clients
● Full client
○ Has a full copy of the blockchain
○ Processes and validates all transactions
○ Mines new blocks (optional)
● Light client
○ For small devices
○ Downloads block headers by default
○ Verifies only what needs to be verified
○ DHT is used in place of the local storage
■ State is encoded as a Patricia trie
11. How does mining work?
● Miners “compete” to generate a valid block
○ Miners select transactions based on the expected reward (fees, gas, etc)
○ Transactions are posted via RLPx
● Proof of Work
○ DAG - a ~2GB dataset that is occasionally updated
○ ETHash(DAG, Block header, Block nonce) < Target
■ Can’t use Bitcoin ASICs
■ Target is dynamically adjusted to control the difficulty and keep the same ratio of 4-5
blocks per minute
● Miner gets 5 ethers per mined block
○ Uncles get 4.375 ETH (2 uncles per block)
● Miners work on the branch with the highest difficulty
○ This is where the 51% of resources needed to control the blockchain came from
12.
13. Mining is not really profitable
● Requires high-end expensive GPU’s
● Participation in mining pools
○ For slower nodes it can take years to solve the PoW problem
○ Can it be a threat to decentralization?
● Ethereum might be switching to “Proof of Stake” in the near future
14. Future challenges
● Volatility
● Capped market
● Mining will soon become completely non-profitable or obsolete
● Regulation
● Time for transaction confirmation (12 blocks)
● What for?
○ Ethereum seems like a good bet because it’s a decentralized computer rather than just a
currency