L6 - Ethereum Basics Flashcards
Who invented Ethereum?
Vitalik Buterin
Since when does Ethereum exist?
2014
What is the yellow paper?
technical specifications of Ethereum
How many more Ethereum transactions are there per day compared to Bitcoin?
6x more
How many wallets are there in Ethereum and in Bitcoin with at least 1 incoming or outgoing transaction?
Ethereum 188m
Bitcoin 81m
Is the world computer owned by a single entity?
No
q
q
What is a virtual machine?
VMs are mechanisms for creating instances of software that imitate real machines.
What is stored on the EVM?
All Ethereum accounts and smart contracts are stored on this virtual machine.
How can an EVM be specified?
By the tuple:
block_state, transaction, message, code, memory, stack, pc, gas
What is block_state?
block_state represents the global state of the whole blockchain including all accounts (controlled by private key), smart contracts and their storage
Does Ethereum use an account-based ledger?
Yes. Each distinct address represents a separate unique account
Two types of Ethereum accounts and what they are controlled by.
- Accounts that are controlled by private keys and owned externally
- Smart contract accounts which are controlled by their code
How are the accounts called that are controlled by a private key?
Externally Owned Accounts (EOA)
What is always the origin of a transaction?
An EOA
properties of EOA
- do not have any code stored on the blockchain.
- the default wallet of a user. It can :
- sign transactions
- issue smart contract
- function calls
What are the properties of smart contracts?
- treated as account entities with their own, unique address
- can send messages to other accounts, both externally controlled and smart contracts
- can’t issue a transaction themselves
- they have persistent internal storage for reading and writing
4-tuple account properties
(nonce, balance, contract_code, storage)
nonce = an increasing number that is attached to any transaction to prevent replay attacks balance = the current account balance of the account in Ether contract_code = bytecode representation of the account. If no contract code is present, then the account is externally controlled (EOA). storage = only contract accounts can have their own storage
What is a transaction in Ethereum?
signed data package that is always sent by a EOA
What does a transaction contain?
- recipient of the transaction
- signature identifying the sender
- amount of ether to be transferred
- optional data field - used for function call arguments
- GASLIMIT
- GASPRICE
What is the GASLIMT
representing the maximum amount of gas you are willing to consume on a transaction