Ethereum

The first crypto network with smart contracts, i.e. a distributed engine for Turing-complete programs. Original vision may be found in the 2014 whitepaper (Buterin, n.d.). The paper gives a brief intro in the Bitcoin mechanics, then describes the advent applications (Namecoin, complex contracts) for which Bitcoin doesn't provide a foundation. Bitcoin has a simple scripting language used to check the authorization for spendings, but it's not Turing complete.

Smart contracts are written in Solidity, a JavaScript-based language.

Where to learn about it:

Current state:

Definitions

  • Account: an address with a balance and a data storage; states of all the accounts constitute the network state.
    • External account: an account controlled outside the blockchain by a key.
    • Contract account: an account activated by recieving a message.
  • Message: something one account may send to another (analogue to transactions in Bitcoin, but extended to contract accounts, and also repliable).
  • Transaction: a message from an external account.
  • Ether: Ethereum internal currency used to pay for transactions.
  • Gas: a measure for transaction size and for amount of computation happening when a contract is executed. Each byte in a transaction takes a fixed amount of gas.
    • Gas price: value in Ether for a unit of gas. Is set separately for each transaction, allowing for validator nodes to pick up the most lucrative contracts and thus for senders to buy transaction speed with higher gas price bids.
  • EVM: Ethereum virtual machine, an environment where contracts are executed. It is a "low-level, stack-based bytecode language".
    • Serpent: one of the high-level languages which compile to the EVM low level programs.

Architecture

Supposedly, the Mastering Ethereum book is a good technical introduction for a developer.

The most major event of the recent years was switching from Proof-of-Work consensus mechanism to Proof-of-Stake one.

?? What is a relay and a builder? How the network is deployed?

Governance

Like Bitcoin, Ethereum grows by EIPs (Etherium Improvement Proposals, see the list). The process is described in EIP-1. There is a forum called Ethereum Magicians where EIPs are discussed.

EIPs are divided into types: Standard track EIPs aim to change the protocol or add features, Meta EIPs change the process around Ethereum, and Informational EIPs don't change things. Supposedly, Meta EIPs are the most interesting governance-wise.

Among Standard Track EIPs are ERCs which are application-level standards not involving core protocol featuers, e.g. ERC-721 defines NFTs.

??refine?? The prominent case in the Ethereum history happened after The DAO hack, when the network was forked to roll back the fraudulent transaction. Part of the network rejected the rollback.

Development

There's a Ethereum organization on Github: the client code, the website, EIPs are all stored there. There is about 300 repos in it.

The main client seems to be written in Go, has 50k stars, 200 active issues and 170 pull requests where code review and discussions happen.

Since network upgrades require network hard forks, which is an event of no small size, new features are included by batches, which are themselves documented as EIPs (example).

References

Buterin, Vitalik. n.d. Ethereum: A Next-Generation Smart Contract and Decentralized Application Platform.