Arrow icon
Ness Labs: Make the most of your mind
Learn more about Joggo

A Summary of

Ethereum in 25 minutes

Vitalik Buterin
View original

Ethereum in 25 minutes at Devcon two

  • Ethereum started in 2013
  • Blockchain with a built-in programming language
    • Two types of accounts
      • User Accounts - Private key controlled
      • Contracts - code controlled
  • A contract is created by:
    • Taking a piece of code, compiling it, including it in a transaction, then pushing that transaction onto the blockchain
  • State vs. History
    • State - "current" information
      • Account Balances, Nounces, Contract code and storage
    • History - things that have happened
      • Transactions, Receipts
    • All "full" nodes store state, some store history and some do not store history
  • Code Execution
    • Every transaction specifies a TO address it sends to (unless it's creating a contract)
    • TO address's code runs
    • Code can then:
      • Send ethereum (ETH) to other contracts
      • Read/write storage
      • Call other contracts
  • The concept of "Gas"
    • Halting problem - cannot tell weather a program will run indefinitely
    • Solution = charge fee for each computational step
    • Special gas fees also apply to operations that take up storage
    • Can set transactional gas limits
  • Gas limit = transactional counterpart to block size limit in bitcoin
    • Voting mechanism
      • Can up/down vote gas limit by 0.0976% every block
    • Target = 150% of long-term EMA of gas usage
  • Transactions
    • Nounce: anti-replay-attack
    • gasprice: amount of ether per unit gas
    • startgas: maximum gas consumable
    • to: destination address
    • value: amount of ETH to send
    • data: readable by contract code
    • v, r, s: ECDSA signature values
  • The ABI - functional calls are compiled into transaction data
  • Merkle trees allow for hashes in branches to be downloaded on smaller devices
    • Used for transactions, state, receipts
Related content
See all posts
Arrow icon