Bytecode-equivalent ZK-EVM
A ZK-Rollup that can interpret and execute EVM bytecode. All EVM opcodes and pre-compiles are supported and provable through the ZK-EVM circuit, but gas costs for EVM opcodes might be changed. (Type 2.5 in Vitalik's classification (opens in a new tab)).
Data availability
The property of a rollup’s state being reachable by any node retrieving the inputs that were rolled up and executed to reach said state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the L2 is not a rollup, but some other type of L2.
Decentralized rollup
There are several factors within a rollup construction which separately can be more or less decentralized, leading to the degree to which the rollup as a whole is uncapturable by a central entity. The most significant factors include who can run a node, who can propose blocks, who can prove blocks (in ZK-Rollups), and who can upgrade the rollup smart contracts. For the factors of "who can run a node/proposer/prover", the question asks both: is it permissionless for anyone to run these (no allow-list); and how reasonable is it in terms of hardware required.
Ethereum-equivalent ZK-EVM
A ZK-Rollup that can prove the correctness of an actual Ethereum L1 block in its ZK-EVM circuit. No changes made to any part of Ethereum--EVM but also peripheral things like storage structures and hash functions. (Type 1 in Vitalik's classification (opens in a new tab)).
EVM-equivalent ZK-EVM
A ZK-Rollup that can interpret and execute EVM bytecode. All EVM opcodes and pre-compiles are supported and provable through the [ZK-EVM])(#ZK-EVM) circuit. (Type 2 in Vitalik's classification (opens in a new tab)).
Bytecode-compatible (EVM-compatible) ZK-EVM
A ZK-Rollup that can interpret and execute Ethereum bytecode, with some changes made to certain components of the EVM, such as different gas costs, or some unsupported features. (Type 2.5 and 3 in Vitalik's classification (opens in a new tab)).
Finality
Needs help: some people distinguish order vs execution finality.
Finality is a scale--when a valid L2 transaction is included in an L1 block, it has the same finality as that enclosing block. This is different from correctness, because incorrect state transitions can still have a concept of finality in an enclosing L1 block but be later proven as invalid.
Language-compatible ZK-EVM
A ZK-Rollup that can interpret and execute Solidity or other high-level-language source code. This code is compiled into bytecode that differs from that which the EVM runs. (Type 4 in Vitalik's classification (opens in a new tab)).
Layer 2
Layer 2 (L2) is a category of technical solutions which build upon an L1 with the aim of improving scalability, privacy, or other properties. L2s make use of L1 to bootstrap security and settlement guarantees. The L2 and L1 de-composition represents an example of a modular blockchain framework.
Permissionless
Anyone willing should be able to join and leave the network at any time, without causing significant disturbance to the network or being detrimental to the party in question. No single entity should have the power to allowlist or blocklist participants.
Rollup
A rollup is a chain, specifically a chain which is derived from a base chain's state (the base chain in this context can be referred to as a data availability layer). A rollup does not need a proving system, because it is defined by the state of the base chain and how it is derived. A proving system does not define a rollup, but it's a mechanism for one chain to develop some confidence to trust the data from some other chain. A rollup is another chain, and multiple rollups means higher bandwidth, similar to lanes of traffic on the highway, which offers cheaper fees. Also, it might omit taking part in consensus, which reduces costs as well (and relying on the consensus of the base chain).
Scalability
The ability of a blockchain to handle a high level of throughput as measured in transactions per second (TPS), holding decentralization and hardware requirements constant.
Trustless
The ability of a network to mediate transactions without any of the involved parties needing to trust a third party. A further definition may be: given a starting set of trust assumptions or point of understanding, the inability for this understanding to be unilaterally changed by any one party.
Upgradeability
The ability for rollup smart contracts and parameters used in a rollup to be updated by holders of an admin key. Upgradeability represents a vector of risk for users, and should be decentralized and combined with time delays for greater security guarantees.
ZK-EVM
A ZK-EVM is understood as either:
- A set of circuits that prove the execution of the Ethereum Virtual Machine (EVM). It is the core component of a ZK-Rollup that generates validity proofs to verify the correctness of programs.
- The ZK-Rollup as a whole which offers EVM-compatible execution, and proves that execution with circuits that generate validity proofs.
Consensus
A consensus mechanism employed to secure unanimous agreement among all nodes within a blockchain network regarding the legitimacy of transactions and the current state of the ledger.