Skip to content

Instantly share code, notes, and snippets.

@CJ42
Last active March 16, 2023 15:54
Show Gist options
  • Save CJ42/ccf5799db66aebc189ab88a422dd59aa to your computer and use it in GitHub Desktop.
Save CJ42/ccf5799db66aebc189ab88a422dd59aa to your computer and use it in GitHub Desktop.
Ethereum Yellow Paper - Symbols Summary

Summary of the symbols in the Ethereum Yellow Paper.

Can be used as a reference and support for building and Ethereum client.

General

Symbol Symbol name (in Math or plain english) Meaning in the yellow paper
mu Machine state
sigma World State
Greek small letter delta Number of items on the stack required for a given operation
Ethereum State transition function
Transaction state accumulation function
C General cost function
Cost function for the SStore operation
KEC Keccak256 fash function (also referred as plain Keccak)
KEC512 Keccak512 hash function
RLP
TRIE Build the Merkle-Patricia tree?
POW Proof of Work function

Account state

Symbol Symbol name (in Math or plain english) Meaning in the yellow paper
Account state (of account a)
Nonce for account a in state
Storage root hash of account a
CodeHash of account a
Balance of account a
Dead account Describe when an account at address a is dead in the world state (= see also EMPTY)
Empty account Describes when the account state at address a is non-existent or empty.

Transactions

Symbol Symbol name (in Math or plain english) Meaning in the yellow paper
T Ethereum transaction
Nonce (= number of transactions sent by the sender)
gasPrice
gasLimit
Message call recipient (to)
value: number of Ether (in Wei) to be transferred to the recipient. NB: for contract creation, the field acts as an endowment
rand sfields of a transaction signature (see Appendix F of the yellow paper)
data: Unlimited size by array specifying the input data of the message call

Receipts & Logs

Symbol Symbol name (in Math or plain english) Meaning in the yellow paper
Receipt of the ith transaction
Receipt
Set of logs created through execution of the transaction
Bloom filters composed from information in those logs
Status code of the transaction
Log entry
Logger address
Log topic (32-byte in size, possible empty series)
Some number of byte of data
M Bloom filter function, applied to a log entry O.
Reduce a log entry into a single 256-byte hash.

Blocks

Symbol Symbol name (in Math or plain english) Meaning in the yellow paper
Current Block header
New block header

T = Transaction
List of transactions included in the block

U = Ommer block header (also called uncle block, but [ommer is a gender neutral] term(https://nonbinary.miraheze.org/wiki/Gender_neutral_language_in_English#Aunt/Uncle) for "sibling of parents")
List of ommer block headers

U = Ommer block header (also called uncle block, but [ommer is a gender neutral] term(https://nonbinary.miraheze.org/wiki/Gender_neutral_language_in_English#Aunt/Uncle) for "sibling of parents")
Parent hash ( = previous hash)
Ommers Hash.
Fee Beneficiary (collected from successful mining)
stateRoot
transactionRoot
receiptsRoot
logsBloom
Difficulty
Number
Gas Limit
Gas used
Timestamp
ExtraData
MixHash
Nonce
List of transactions
Block ( = current block header, list of transactions, ommer blocks' header)

Block Header Validity

Symbol Symbol name (in Math or plain english) Meaning in the yellow paper
Parent block of B
Block number ( = parent block number incremented by one)
Canonical Difficulty of a block header
Current DAG ( = large data set needed to compute the mix-hash)
Block Header Validity function
Byte sequence given as the output data of a message call
Set of scalar non-negative integers
Set of all byte sequences
First item on the machine stack.
Box First 32 items of the machine’s memory.
Unmodified input value
Modified (utilisable) input value
Intermediate values
Function
Similar, element-wiser version of the function mapping instead between sequences.
Common function that evaluates to the last item in a sequence.
Account validity function

Serialization

Symbol Symbol name (in Math or plain english) Meaning in the yellow paper
preparation function for a block B
Preparation function for a block header H
Preparation function for the transaction receipt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment