diff --git a/src/content/glossary/index.md b/src/content/glossary/index.md index 82ecd3ef2c5..c19ca6d74c8 100644 --- a/src/content/glossary/index.md +++ b/src/content/glossary/index.md @@ -57,7 +57,7 @@ In [Solidity](#solidity), `assert(false)` compiles to `0xfe`, an invalid opcode, ### attestation {#attestation} -A validator vote for a [Beacon Chain](#beacon-chain) or [shard](#shard) [block](#block). Validators must attest to blocks, signaling that they agree with the state proposed by the block. +A validator vote for [block](#block). Validators must attest to blocks, signaling that they agree with the state proposed by the block. Attestations @@ -77,7 +77,7 @@ Every [block](#block) has a reserve price known as the 'base fee'. It is the min ### Beacon Chain {#beacon-chain} -A network upgrade that introduced a new consensus layer, which will become the coordinator for the entire Ethereum network. It introduces [proof-of-stake](#pos) and [validators](#validator) to Ethereum. It will eventually be merged with [Mainnet](#mainnet). +The Beacon Chain was the blockchain that introduced [proof-of-stake](#pos) and [validators](#validator) to Ethereum. It ran alongside the proof-of-work Ethereum Mainnet from November 2020 until the two chains were merged in September 2022 to form the Ethereum of today. Beacon Chain @@ -89,7 +89,7 @@ A positional number representation where the most significant digit is first in ### block {#block} -A collection of required information (a block header) about the comprised [transactions](#transaction), and a set of other block headers known as [ommers](#ommer). Blocks are added to the Ethereum network by [miners](#miner). +A block is a unit of information that is created by a [block proposer](#block-proposer) and sent to other nodes over the peer-to-peer network. Blocks include lists of transactions to execute as well as consensus-related information that allow [validators](#validator) to check the information in the block is valid. This allows nodes to update their view of the state of Ethereum. Blocks @@ -101,27 +101,40 @@ An interface that allows a user to search for information from, and about, a blo ### block header {#block-header} -The data in a block which is unique to its content and the circumstances in which it was created. It includes the hash of the previous block’s header, the version of the software the block is mined with, the timestamp and the merkle root hash of the contents of the block. +The block header is a collection of metadata about a block and a summary of the transactions included in the execution payload. ### block propagation {#block-propagation} The process of transmitting a confirmed block to all other nodes in the network. +### block proposer {#block-proposer} + +The specific validator chosen to create a block in a particular [slot](#slot). + ### block reward {#block-reward} The amount of ether rewarded to the producer of a new valid block. +### block status {#block-status} + +The states that a block can exist in. The possible states include: + +- proposed: the block was proposed by a validator +- scheduled: validators are currently submitting data +- missed/skipped: the proposer did not propose a block within the eligible time frame. +- orphaned: the block was reorg'd out by the fork chocie mechanism + ### block time {#block-time} -The average time interval between blocks being added to the blockchain. +The time interval between blocks being added to the blockchain. ### block validation {#block-validation} -Checking of the coherence of the cryptographic signature of the block with the history stored in the entire blockchain. +Checking that a new block contains valid transactions and that it builds on the heaviest historical chain. ### blockchain {#blockchain} -In Ethereum, a sequence of [blocks](#block) validated by the [proof-of-work](#pow) system, each linking to its predecessor all the way to the [genesis block](#genesis-block). There is no block size limit; it instead uses varying [gas limits](#gas-limit). +A sequence of [blocks](#block), each linking to its predecessor all the way to the [genesis block](#genesis-block). The integrity of the blockchain is crypto-economically secured using a proof-of-stake based consensus mechanism. What is a Blockchain? @@ -161,7 +174,7 @@ Converting code written in a high-level programming language (e.g., [Solidity](# ### committee {#committee} -A group of at least 128 [validators](#validator) assigned to beacon and shard blocks at random by [the Beacon Chain](#beacon-chain). +A group of at least 128 [validators](#validator) assigned to validate blocks in each slot. One of the validators in the committee is the aggregator, responsible for aggregating the signatures of all other validators in the committee that agree on an attestation. ### computational infeasibility {#computational-infeasibility} @@ -169,7 +182,7 @@ A process is computationally infeasible if it would take an impracticably long t ### consensus {#consensus} -When numerous nodes (usually most nodes on the network) all have the same blocks in their locally validated best blockchain. Not to be confused with [consensus rules](#consensus-rules). +When a supermajority of nodes on the network all have the same blocks in their locally validated best blockchain. Not to be confused with [consensus rules](#consensus-rules). ### consensus client {#consensus-client} @@ -195,16 +208,6 @@ An account containing code that executes whenever it receives a [transaction](#t A special [transaction](#transaction), with the [zero address](#zero-address) as the recipient, that is used to register a [contract](#contract-account) and record it on the Ethereum blockchain. -### crosslink {#crosslink} - -A crosslink provides a summary of a shard's state. It's how [shard](#shard) chains will communicate with one another via the [Beacon Chain](#beacon-chain) in the sharded [proof-of-stake system](#proof-of-stake). - - - Proof-of-stake - - - - ### cryptoeconomics {#cryptoeconomics} The economics of cryptocurrencies. @@ -255,6 +258,10 @@ A type of [dapp](#dapp) that lets you swap tokens with peers on the network. You See [non-fungible token (NFT)](#nft) +### deposit contract {#deposit-contract} + +The gateway to staking on Ethereum. The deposit contract is a smart contract on Ethereum that accepts deposits of ETH and manages validator balances. A validator cannot be activated without depositing ETH into this contract. The contract requires ETH and input data. This input data includes the validator public key and withdrawal public key, signed by the validator private key. This data is needed for a validator to be identified and approved by the [proof-of-stake](#pos) network. + ### DeFi {#defi} Short for "decentralized finance," a broad category of [dapps](#dapp) aiming to provide financial services backed by the blockchain, without any intermediaries, so anyone with an internet connection can participate. @@ -265,11 +272,11 @@ Short for "decentralized finance," a broad category of [dapps](#dapp) aiming to ### difficulty {#difficulty} -A network-wide setting that controls how much computation is required to produce a [proof-of-work](#pow). +A network-wide setting that controls how much computation is required to produce a valid nonce in [proof-of-work](#pow) networks. ### difficulty bomb {#difficulty-bomb} -Planned exponential increase in [proof-of-work](#pow) [difficulty](#difficulty) setting designed to motivate the transition to [proof-of-stake](#pos), reducing the chances of a [fork](#hard-fork) +Planned exponential increase in [proof-of-work](#pow) [difficulty](#difficulty) setting that was designed to motivate the transition to [proof-of-stake](#pos), reducing the chances of a [fork](#hard-fork). This was only a feature of Ethereum before it transitioned to proof-of-stake. ### digital signature {#digital-signatures} @@ -305,7 +312,7 @@ In the context of cryptography, lack of predictability or level of randomness. W ### epoch {#epoch} -A period of 32 [slots](#slot) (6.4 minutes) in the [Beacon Chain](#beacon-chain)-coordinated system. [Validator](#validator) [committees](#committee) are shuffled every epoch for security reasons. There's an opportunity at each epoch for the chain to be [finalized](#finality). The term is also used on the [execution layer](#execution-layer) to mean the interval between each regeneration of the database used as a seed by the proof-of-work algorithm [Ethash](#Ethash). The epoch in specified as 30000 blocks. +A period of 32 [slots](#slot) (6.4 minutes). [Validator](#validator) [committees](#committee) are shuffled every epoch for security reasons. There's an opportunity at each epoch for the chain to be [finalized](#finality). Proof-of-stake @@ -331,10 +338,6 @@ A validator sending two messages that contradict each other. One simple example More on the Ethereum upgrades -### etherbase {#etherbase} - -The default name of the primary account on an Ethereum client. Mining rewards are credited to this account. This is an Ethereum-specific version of "coinbase" which is applicable to other cryptocurrencies. - ### Ethereum Improvement Proposal (EIP) {#eip} A design document providing information to the Ethereum community, describing a proposed new feature or its processes or environment (see [ERC](#erc)). @@ -351,7 +354,7 @@ The ENS registry is a single central [contract](#smart-contract) that provides a ### execution client {#execution-client} -Execution clients (f.k.a. "Eth1 clients"), such as Besu, Erigon, go-ethereum, Nethermind, are tasked with processing and broadcasting transactions, as well as with managing Ethereum's state. They run the computations for each transaction in the [Ethereum Virtual Machine](#evm) to ensure that the rules of the protocol are followed. Today, they also handle [proof-of-work](#pow) consensus. After the transition to [proof-of-stake](#pos), they will delegate this to consensus clients. +Execution clients (f.k.a. "Eth1 clients"), such as Besu, Erigon, go-ethereum, Nethermind, are tasked with processing and broadcasting transactions, as well as with managing Ethereum's state. They run the computations for each transaction in the [Ethereum Virtual Machine](#evm) to ensure that the rules of the protocol are followed. ### execution layer {#execution-layer} @@ -371,9 +374,9 @@ A label given to some [EIPs](#eip) that attempt to define a specific standard of ### Ethash {#ethash} -A [proof-of-work](#pow) algorithm for Ethereum 1.0. +A [proof-of-work](#pow) algorithm that was used on Ethereum before it transitioned to [proof-of-stake](#pos). -[Read more at eth.wiki](https://eth.wiki/en/concepts/ethash/ethash) +[Read more](/developers/docs/consensus-mechanisms/pow/mining-algorithms/ethash) ### ether {#ether} @@ -423,9 +426,6 @@ A service carried out via [smart contract](#smart-contract) that dispenses funds Finality is the guarantee that a set of transactions before a given time will not change and can't be reverted. - - Proof-of-work finality - Proof-of-stake finality @@ -436,7 +436,7 @@ A denomination of [ether](#ether). 1 finney = 1015 [wei](#wei). 10 -### lightweight client {#lightweight-client} +### light client {#light-client} An Ethereum client that does not store a local copy of the [blockchain](#blockchain), or validate blocks and [transactions](#transaction). It offers the functions of a [wallet](#wallet) and can create and broadcast transactions. @@ -644,15 +644,15 @@ The third development stage of Ethereum, launched in October 2017. ### mining {#mining} -The process of verifying transactions and contract execution on the Ethereum blockchain in exchange for a reward in ether with the mining of every block. +The process of verifying transactions and contract execution on the Ethereum blockchain in exchange for a reward in ether with the mining of every block. This was how Ethereumw as secured before it moved to [proof-of-stake](#pos). ### mining pool {#mining-pool} -The pooling of resources by miners who share their processing power and split [block rewards](#block-reward). +The pooling of resources by [proof-of-work](#pow) miners who share their processing power and split [block rewards](#block-reward). ### miner {#miner} -A network [node](#node) that finds valid [proof-of-work](#pow) for new blocks, by repeated pass hashing (see [Ethash](#ethash)). +A network [node](#node) that finds valid [proof-of-work](#pow) for new blocks, by repeated pass hashing (see [Ethash](#ethash)). Miners are no longer part of Ethereum - they were replaced by validators when Ethereum moved to [proof-of-stake](#pos). Mining @@ -676,7 +676,7 @@ Referring to the Ethereum network, a peer-to-peer network that propagates transa ### network hashrate {#network-hashrate} -The collective [hashrate](#hashrate) produced by the entire Ethereum mining network. +The collective [hashrate](#hashrate) produced by an entire mining network. Mining on Ethereum was switched off when Ethereum moved to [proof-of-stake](#pos). ### non-fungible token (NFT) {#nft} @@ -699,7 +699,7 @@ A software client that participates in the network. ### nonce {#nonce} -In cryptography, a value that can only be used once. There are two types of nonce used in Ethereum- an account nonce is a transaction counter in each account, which is used to prevent replay attacks; a [proof-of-work](#pow) nonce is the random value in a block that was used to satisfy the [proof-of-work](#pow). +In cryptography, a value that can only be used once. An account nonce is a transaction counter in each account, which is used to prevent replay attacks. @@ -707,7 +707,7 @@ In cryptography, a value that can only be used once. There are two types of nonc ### ommer (uncle) block {#ommer} -When a [miner](#miner) finds a valid [block](#block), another miner may have published a competing block which is added to the tip of the blockchain first. This valid, but stale, block can be included by newer blocks as _ommers_ and receive a partial block reward. The term "ommer" is the preferred gender-neutral term for the sibling of a parent block, but this is also sometimes referred to as an "uncle". +When a proof-of-work [miner](#miner) finds a valid [block](#block), another miner may have published a competing block which is added to the tip of the blockchain first. This valid, but stale, block can be included by newer blocks as _ommers_ and receive a partial block reward. The term "ommer" is the preferred gender-neutral term for the sibling of a parent block, but this is also sometimes referred to as an "uncle". This was relevant for Ethereum when it was a [proof-of-work](pow) network but ommers are not a feature of [proof-of-stake](#pos) Ethereum because precisely one block proposer is selected in each slot. ### optimistic rollup {#optimistic-rollup} @@ -767,7 +767,7 @@ A method by which a cryptocurrency blockchain protocol aims to achieve distribut ### proof-of-work (PoW) {#pow} -A piece of data (the proof) that requires significant computation to find. In Ethereum, [miners](#miner) must find a numeric solution to the [Ethash](#ethash) algorithm that meets a network-wide [difficulty](#difficulty) target. +A piece of data (the proof) that requires significant computation to find. Proof-of-work @@ -835,7 +835,7 @@ The process of converting a data structure into a sequence of bytes. ### shard / shard chain {#shard} -A [proof-of-stake](#pos) chain that is coordinated by the [Beacon Chain](#beacon-chain) and secured by [validators](#validator). There will be 64 added to the network as part of the shard chain upgrade. Shard chains will offer increased transaction throughput for Ethereum by providing additional data to [layer 2](#layer-2) solutions like [optimistic rollups](#optimistic-rollups) and [ZK-rollups](#zk-rollups). +Shard chains are discrete sections of the total blockchain that can subsets of validators cna be responsible for. This will offer increased transaction throughput for Ethereum and improve data availability for [layer 2](#layer-2) solutions like [optimistic rollups](#optimistic-rollups) and [ZK-rollups](#zk-rollups). Shard chains @@ -857,9 +857,13 @@ Demonstrating cryptographically that a transaction was approved by the holder of A computer programming term that describes an object of which only a single instance can exist. +### slasher {#slasher} + +A slasher is an entity that scans attestations searching for slashable offenses. Slashings are broadcasted to the network and the next block proposer adds the proof to the block. The block proposer then receives a reward for slashing the malicious validator. + ### slot {#slot} -A period of time (12 seconds) in which a new [Beacon Chain](#beacon-chain) and [shard](#shard) chain block can be proposed by a [validator](#validator) in the [proof-of-stake](#pos) system. A slot may be empty. 32 slots make up an [epoch](#epoch). +A period of time (12 seconds) in which a new blocks can be proposed by a [validator](#validator) in the [proof-of-stake](#pos) system. A slot may be empty. 32 slots make up an [epoch](#epoch). Proof-of-stake @@ -939,7 +943,7 @@ A [layer 2](#layer-2) solution where a channel is set up between participants, w ### supermajority {#supermajority} -Supermajority is the term given for an amount exceeding 2/3 (66%) of the total staked ether on the [Beacon Chain](#beacon-chain). A supermajority vote is required for blocks to be [finalized](#finality) on the Beacon Chain. +Supermajority is the term given for an amount exceeding 2/3 (66%) of the total staked ether securing Ethereum. A supermajority vote is required for blocks to be [finalized](#finality) on the Beacon Chain. ### syncing {#syncing} @@ -947,7 +951,7 @@ The process of downloading the entire latest version of a blockchain to a node. ### sync committee {#sync-committee} -A sync committee is a randomly selected group of [validators](#validator) on the [Beacon Chain](#beacon-chain) that refresh every ~27 hours. Their purpose is to add their signatures to valid block headers. Sync committees allow [light clients](#lightweight-client) to keep track of the head of the blockchain without having to access the entire validator set. +A sync committee is a randomly selected group of [validators](#validator) that refresh every ~27 hours. Their purpose is to add their signatures to valid block headers. Sync committees allow [light clients](#light-client) to keep track of the head of the blockchain without having to access the entire validator set. ### szabo {#szabo} @@ -963,7 +967,7 @@ A [hard fork](#hard-fork) of the Ethereum blockchain, which occurred at block 2, ### terminal total difficulty (TTD) {#terminal-total-difficulty} -The total difficulty is the sum of the Ethash mining difficulty for all blocks up to some specific point in the blockchain. The terminal total difficulty is a specific value for the total difficulty that will be used as the trigger for execution clients to switch off their mining and block gossip functions so the network can transition to proof-of-stake. +The total difficulty is the sum of the Ethash mining difficulty for all blocks up to some specific point in the blockchain. The terminal total difficulty is a specific value for the total difficulty that was used as the trigger for execution clients to switch off their mining and block gossip functions enabling the network to transition to proof-of-stake. ### testnet {#testnet} @@ -995,7 +999,7 @@ Data committed to the Ethereum Blockchain signed by an originating [account](#ac ### transaction fee {#transaction-fee} -A fee you need to pay whenever you use the Ethereum network. Examples include sending funds from your [wallet](#wallet) or a [dapp](#dapp) interaction, like swapping tokens or buying a collectible. You can think of this like a service charge. This fee will change based on how busy the network is. This is because [miners](#miner), the people responsible for processing your transaction, are likely to prioritise transactions with higher fees – so congestion forces the price up. +A fee you need to pay whenever you use the Ethereum network. Examples include sending funds from your [wallet](#wallet) or a [dapp](#dapp) interaction, like swapping tokens or buying a collectible. You can think of this like a service charge. This fee will change based on how busy the network is. This is because [validators](#validator), the people responsible for processing your transaction, are likely to prioritise transactions with higher fees – so congestion forces the price up. At a technical level, your transaction fee relates to how much [gas](#gas) your transaction requires. @@ -1024,6 +1028,16 @@ A [node](#node) in a [proof-of-stake](#pos) system responsible for storing data, Staking in Ethereum +### validator lifecycle {#validator-lifecycle} + +The sequence of states that a validator can exist in. These include: + +- deposited: At least 32 ETH has been deposited to the [deposit contract](#deposit-contract) by the validator +- pending: the validator is in the activation queue waiting to be voted into the network by existing validators +- active: currently attesting and proposing blocks +- slashing: the validator has misbehaved and is being slashed +- exiting: the validator has been flagged for exiting the network, either voluntarily or because they have been ejected. + ### validity proof {#validity-proof} A security model for certain [layer 2](#layer-2) solutions where, to increase speed, transactions are [rolled up](/#rollups) into batches and submitted to Ethereum in a single transaction. The transaction computation is done off-chain and then supplied to the main chain with a proof of their validity. This method increases the amount of transactions possible while maintaining security. Some [rollups](#rollups) use [fraud proofs](#fraud-proof).