Transaction Tree
Atomic batched state updates. Roughly analogous to the blocks committed to a blockchain
The Account/ State Tree section goes in depth on the operation of merkle trees; the concepts are the same here and will be presented in a more abridged format where appropriate. Further, the use of the transaction tree in withdrawals is detailed in depth in Layer 2 Withdrawals to Layer 1.
Transaction Leaves
Transactions are the method of state update in RollupNC. Their application will be discussed in the later sections - for now, we care purely about their implementation within merkle trees.
// pseudocode
type transaction = {
from[2], // EdDSA pubkey of transaction sender
fromIndex, // the index of the sender account in the state tree
to[2], // EdDSA pubkey of the transaction recipient
nonce, // the # of transactions the sender has made @ tx send time
amount, // the number of (tokenType) tokens being sent in the tx
tokenType // the id of the token being sent (TokenRegistry.sol)
}Transaction Trees
Transaction trees are like blocks to the L2. Each state commitment that is not a deposit is committed on-chain. The ability to make a withdrawal or prove any action on the L2 is predicated on the inclusion of individual transactions in a transaction tree. Beyond this, there are no special tricks
Last updated