EthCC 2022 Vitalik Keynote

Ethereum Background

Bloom filter - Wikipedia
PoW ETH diagram
Merkle Patricia Trie
Uncle Mining, an Ethereum Consensus Protocol Flaw
Using Merkle Trees for NFT Whitelists
EVM Tracing Intro
Merkle Proofs Tutorial
What happens when you send 1 DAI
Understanding the ethereum trie
Road to functional light clients

Impls

Erigon Guide
Erigon DB

EVM

EVM Internals Part 1
EVM Internals Part 2
EVM Codes - An Ethereum Virtual Machine Opcodes Interactive Reference
Playdate with the EVM
Understanding EVM bytecode
Ethereum Analysis (using old tools)
Contract Storage
Deep dive into storage layout extractor see Tools

DeFi/Apps

Token Vaults

Ethereum Research / Roadmap

How Monad Works
Verkle Trees
[Verkle Trees for Eth1](Verkle trie for Eth1 state | Dankrad Feist)
0xEmperor’s Map of Ethereum

Rollups

An Incomplete Guide to Rollups
Optimistic rollups are brilliant (and the state of blockchains)
Making Sense of Rollups
(Almost) Everything you need to know about Optimistic Rollup
How does Optimism’s Rollup really work? or live
An Incomplete Guide to Rollups
Inside Arbitrum Nitro reread

Security

Function Signature Clashing

Data Availability

Celestia — The Foundation of a Modular Blockchain World
Rollups on Celestia

Cosmos Background

Transaction Lifecycle
IBC Overview
Tendermint Key Management System (TMKMS)

Bridges

Blockchain Bridges

Solana Background

Proof of history: what is it good for? is a critique on Solana’s PoH mechanism.
What is Firedancer
Solana State History
Solana Proof of Stake + Proof of History Primer
MEV, QUIC and QoS..
Gulf Stream (Mempool)
Solana Validator 101: Transaction Processing
Solana 101
Geyser
Solana Reading List by Mert
Firedancer Reliability
Turbine: Block Propagation on Solana

Other

MegaEth
Block-STM vs Sealevel
Block-STM is a parallel execution engine for smart contracts, built around the principles of Software Transactional Memory.

Data Availability

A note on data availability and erasure coding

RPC

JSON-RPC

Tools

Tools

Tutorials

Reading Raw EVM Calldata
Solidity By Example

PoS

Weak Subjectivity is a new security change in PoS.

Weakly subjective: a new node coming onto the network with no knowledge except (i) the protocol definition, (ii) the set of all blocks and other “important” messages that have been published and (iii) a state from less than N blocks ago that is known to be valid can independently come to the exact same conclusion as the rest of the network on the current state, unless there is an attacker that permanently has more than X percent control over the consensus set.

PoS & Weak Subjectivity

Merge, Verge, etc

Networks

  • Goerli was a PoA chain that is now going to be PoS.

Clients

Consensus layer is responsible for consensus (e.g. block seal validity, fork choice). Beacon chain clients run here.

Execution layer is responsible for transaction bundling and execution, and state management. Pre-merge PoW clients run here.

Each beacon block contains an execution payload. Execution payload contains a list of transactions and other data required to execute and validate the payload. There is a validity condition of beacon block with respect to the payload, i.e. if the payload is invalid then the beacon block is considered invalid too.

In order to check this validity condition, consensus-layer sends the payload to the execution-layer which does the following. Assembles an execution block (former PoW block with stubbed ethash fields), verifies pre-conditions, executes transactions and verifies post-conditions. Then the result is sent back to the consensus-layer.

After execution, block is inserted into the execution chain (execution-layer blockchain, a pre-merge ethereum chain) and the post-block state is stored into execution state storage (ethereum state storage as we know it today). Execution chain is used to serve JSON-RPC requests.>)

  • Geth (Go)
  • Besu (Java)
  • Parity (Rust; defunct)
  • Lighthouse is a consensus client. (Rust)
  • Lodestar is a consensus client. (TS)

Eth2

MEV

Proposer/block-builder separation (PBS):
Proposer/block builder separation-friendly fee market designs

 Instead of the block proposer trying to produce a revenue-maximizing block by themselves, they rely on a market where outside actors that we call block-builders produce bundles consisting of complete block contents and a fee for the proposer, and the proposer chooses the bundle with the highest fee. The proposer’s choice is reduced to picking the highest-fee bundle, an algorithm so simple that in a decentralized pool it can even be done inside an MPC to prevent cheating.

Deep Dive

Eth in Depth Part 2

Sharding

EIP-4844 or “danksharding”

Storage

Understanding Ethereum Smart Contract Storage

  • Each smart contract has storage in the form of an array of 2256 32-byte values, all initialized to zero.
  • Zeros are not explicitly stored, so setting a value to zero reclaims that storage.
  • Solidity locates fixed-size values at reserved locations called slots, starting at slot 0.
  • Solidity exploits the sparseness of storage and the uniform distribution of hash outputs to safely locate dynamically-sized values.

EVM & ABI

EVM Explained (Video)

EVM bytecode runs on EVM. The contract ABI is an interface to interact with the EVM bytecode. Contract ABI defines function names and arg data types. It is used to encode calls for the EVM or read data.

ABI Spec

Function Sig DB

Delegatecall allows contract A to execute contract B’s code with Contract A’s storage, msg.sender and msg.value.

ZkEVM

The different types of ZK-EVMs

EIPs

EIP-3074: AUTH and AUTHCALL opcodes
EIP-2718

Solidity

Anatomy of a unsafe lang
ETH Security

Community Standards

Token Lists

Community Products

Blocknative offers a mempool explorer for listening to certain events in the mempool.

Meta-Transaction Relayers

Meta-transactions (or gasless transactions) allow a user to send a transaction without paying for gas fees. A relayer, third-party accepts a user’s signed message which maps to a valid transaction. The Relayer invoices the contract owner to pay for the gas fees.

Open Gas Station Network
Biconomy
OpenZeppelin Defender

Transactions

EIP1559

Misc

GasToken is a way to tokenize gas by taking advantage of storage refund in Ethereum.