Professional Documents
Culture Documents
Ethereum World
Ethereum World
Programmable Blockchain
What is Ethereum?
• Peer to peer network protocol, with all nodes running the EVM
• Ethereum can be used for virtually any kind of transaction or agreement that
has an economic or governance aspect
2
Ethereum History
• Ethereum is an open blockchain platform that lets anyone build and use decentralized
applications that run on blockchain technology
• Introduced in 2013 by Vitalik Buterin (with Gavin Wood and Jeffrey Wilcke )
$18.4
Million
6
Latest Release
7
Introduction to Ethereum
• ‘World Computer’ : A single computing platform which anyone in the world is able to use.
– Any number of programs can be encoded and executed,
– Any participating code can interact and
– Have access to the state of each one of these programs
Features
• Similarities
Computational
Comparison:
Distributed Data Distributed Data
Storage Storage +
Bitcoin:
Computing
Jade sends 10BTC to Peter Value Token Bitcoin (BTC) Ether (ETH)
Block Time 10 Minutes 10-20 Secs
Block Size ~1 MB Depends (~25KB)
Ethereum:
Scripting Limited Smart Contract
Send 10ETH from Jade to Peter Shrinks ½ every 2.1L
Economic Model Fixed
if Jade’s balance is 15ETH and Blocks
the date is after 16.10.2019 Mining Reward 50 > 25 > 12.5 5>3>2
Transaction Fees Simple Complex
Computational Power Distributed Storage Turing Complete
Ethereum
Network Participants: Able to manipulate the Ledger and view past transactions
DApp - Definition & Features
13
Difference between App and dApp
Ethereum Ethereum
Web3 JSON - RPC Client Client
Ethereum dApp
Ethereum
Smart Contracts
Client
Ethereum Network
15
Ethereum dApp Architecture
- Is a collection of libraries
- allow you to interact with a local or remote ethereum node
- HTTP or IPC connection.
- reads and writes data from the blockchain with smart contracts.
- Web3.js talks to The Ethereum Blockchain with JSON RPC
16
Ethereum dApp Architecture
● JSON-RPC:
● Ethereum Client:
- It refers to any node able to parse and verify the blockchain
- It also provides interfaces to create transactions
- Mine blocks which is the key for any blockchain interaction
- Example: geth (go-ethereum), pyethapp (Python), cpp-ethereum
17
Ethereum Tech Stack
Truffle
Abstracted Out
Web3
Smart Contracts
C++ Go
Ethereum Core ETH Geth Java Haskell
Ethereum Client
18
How Does Ethereum Work?
Segway into Ethereum Virtual Machine
19
How Ethereum Works: part 1
20
How Ethereum Works: Part 2
machine
22
How Ethereum Works: Part 4
• These transactions of state, along with related data is grouped into blocks
and chained together
23
How Ethereum Works: Part 5
24
Summary
• State Machine
Next we dive into the EVM and break it down to its smallest
components!
25
What is EVM
● Smart contracts executed in EVM have limited access to other smart contracts (yet vulnerabilities are still
rampant)
26
Why EVM
Anything that runs on a blockchain needs to be immutable and must have the
● Deterministic
● Terminable
● Isolated
27
Ethereum Virtual Machine (EVM)
• EVM is a virtual machine designed to be run by all participants in a peer to peer network
• Can read and write to a blockchain both executable code and data
• Verify digital signatures, and is able to run code in Turing complete manner
• It will only execute code when it receives a message verified by a digital signature, and the
information stored on the blockchain tells it is appropriate to do so.
• Practically, EVM can be thought of as a large decentralized computer with millions of objects
called “accounts” which have the ability to maintain an internal database, execute code and
also they can talk to each other.
Ethereum Virtual Machine (EVM)
• The Ethereum virtual machine is the engine in which transaction code gets executed
• E.V.M. enables the development of potentially thousands of different applications all on one
platform
● System fees (gas) prevent this from occurring > protects network from malicious
actors trying to put network in infinite loop
31
Ethereum Concepts - Accounts
• Accounts
• Contract Accounts
Ether
• Every contract and transaction have a fixed start price used to pay the miner as mining rewards
in return for the computational power spend by him.
• Ethereum users also have to pay transaction fee to the Ethereum network for performing any
transaction over the Ethereum Blockchain
Ethereum Concepts – Gas Price
• It represents the actual cost to be spent as Gas cost in terms of a currency like Ether.
• Usually the gas price will be floating value to stabilize the value of gas, which means that with
the changes in currency values, the gas price also changes to adapt to the value change.
Ethereum concepts – Block Gas Limit
• It specifies the maximum amount of gas that can be used per block..
• It is depicted as the
– maximum computational load,
– volume of transaction,
– or the block size,
– and the miners can gradually change the gas limit over a period of time.
Ethereum concepts – Gas Fee
• The miners will get paid with the gas fee based on the computational expenses incurred to
build a block.
Ethereum Transaction
One unit of gas corresponds to the execution of one atomic instruction, i.e., a computational step
Development for the Ethereum World Computer