You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/pages/protocol/blockspace/overview.mdx
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
description: Technical specification for Tempo block structure including header fields, payment lanes, subblocks, and system transaction ordering.
2
+
description: Technical specification for Tempo block structure including header fields, payment lanes, and system transaction ordering.
3
3
---
4
4
5
5
# Blockspace Overview
@@ -10,7 +10,7 @@ This specification defines the structure of valid blocks in the Tempo blockchain
10
10
11
11
## Motivation
12
12
13
-
Tempo blocks extend the Ethereum block format in multiple ways: there are new header fields to account for payment lanes and sub-blocks, and system transactions are added to the block body for the fee AMM and other protocol operations. This specification contains all the modifications to the block format.
13
+
Tempo blocks extend the Ethereum block format in multiple ways: there are new header fields to account for payment lanes and shared gas accounting, and system transactions are added to the block body for the fee AMM and other protocol operations. This specification contains all the modifications to the block format.
14
14
15
15
## Specification
16
16
@@ -25,20 +25,18 @@ pub struct Header {
25
25
}
26
26
```
27
27
-`inner` is the canonical Ethereum header (parent_hash, state_root, gas_limit, etc.).
28
-
-`general_gas_limit` and `shared_gas_limit`carve up the canonical `gas_limit` for payment and sub-block gas (see [payment lane specification](/protocol/blockspace/payment-lane-specification) and [sub-block specification](/protocol/blockspace/sub-block-specification)).
28
+
-`general_gas_limit` and `shared_gas_limit`partition the canonical `gas_limit` for payment and non-payment capacity (see [payment lane specification](/protocol/blockspace/payment-lane-specification)).
29
29
-`timestamp_millis_part` stores the sub‑second component; the full timestamp is `inner.timestamp * 1000 + timestamp_millis_part` .
30
30
31
31
### Block body
32
32
The block body in Tempo retains the canonical Ethereum block body structure, with the addition of system transactions. Transactions are ordered in the following sections:
33
33
34
34
1. Start-of-block system transaction(s) (must begin with the rewards registry call).
35
35
2. Proposer lane transactions, subject to `general_gas_limit` on non-payment transactions.
36
-
3. Sub-block transactions, grouped by proposer and prefixed with the reserved nonce key.
37
-
4. Gas incentive transactions that consume leftover shared gas.
38
-
5. End-of-block system transactions (see below).
36
+
3. Remaining transactions that consume the shared gas budget.
37
+
4. Protocol-defined end-of-block system transactions, when required.
39
38
40
39
### System transactions
41
40
42
-
A valid tempo block must contain the following system transactions:
41
+
A valid tempo block must contain the following system transaction:
43
42
-**Rewards Registry (start-of-block)** — must be the first transaction in the block body; refreshes validator rewards metadata before user transactions begin. Detailed specification [here](/protocol/tip20-rewards/spec).
44
-
-**Subblock Metadata (end-of-block)** — contains metadata about the sub-blocks included in the block. Detailed specification [here](/protocol/blockspace/sub-block-specification).
Copy file name to clipboardExpand all lines: src/pages/protocol/blockspace/payment-lane-specification.mdx
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ description: Technical specification for Tempo payment lanes ensuring dedicated
6
6
7
7
## Abstract
8
8
9
-
This specification introduces a second consensus gas constraint for **non-payment** transactions. Transactions are classified as either payments or non-payments based solely on their transaction data, without requiring any access to blockchain state. For a block to be valid, total `gas_used` by the block must be less than the `gas_limit`. Non-payment transactions executed in the proposer's lane (i.e. before the gas incentive section) must consume at most `general_gas_limit`, a new field added to the header. Once that budget is exhausted, any additional inclusion must come via the gas incentive lane defined in the [sub-blocks specification](/protocol/blockspace/sub-block-specification).
9
+
This specification introduces a second consensus gas constraint for **non-payment** transactions. Transactions are classified as either payments or non-payments based solely on their transaction data, without requiring any access to blockchain state. For a block to be valid, total `gas_used` by the block must be less than the `gas_limit`. Non-payment transactions executed in the proposer's lane (i.e. before the gas incentive section) must consume at most `general_gas_limit`, a new field added to the header. Once that budget is exhausted, additional inclusion is constrained by the remaining shared gas budget.
10
10
11
11
## Motivation
12
12
@@ -52,4 +52,3 @@ for all i such that !is_payment(tx[i]) and tx[i] is in the proposer's lane
52
52
```
53
53
54
54
Where `gas_consumed` includes intrinsic gas and gas burned by reverts, as in the existing protocol.
Copy file name to clipboardExpand all lines: src/pages/protocol/transactions/spec-tempo-transaction.mdx
+1-2Lines changed: 1 addition & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -179,7 +179,7 @@ Each authorization in the list:
179
179
180
180
-**Protocol nonce (key 0)**: Existing account nonce, incremented for regular txs, 7702 authorization, or `CREATE`
181
181
-**User nonces (keys 1-N)**: Enable parallel execution with special gas schedule
182
-
-**Reserved sequence keys**: Nonce sequence keys with the most significant byte `0x5b` are reserved for [sub-block transactions](/protocol/blockspace/sub-block-specification#11-sub-block-transactions).
182
+
-**Reserved sequence keys**: Nonce sequence keys with the most significant byte `0x5b` are reserved for protocol-managed validator sequencing.
@@ -1128,4 +1128,3 @@ The introduction of 7702 delegated accounts already created complex cross-transa
1128
1128
Because a single transaction can invalidate multiple others by spending balances of multiple accounts
1129
1129
1130
1130
**Assessment:** While this transaction type introduces additional pre-execution validation costs, all costs are bounded to reasonable limits. The mempool complexity issues around cross-transaction dependencies already exist in Ethereum due to 7702 and accounts with code, making static validation inherently difficult. So the incremental cost from this transaction type is acceptable given these existing constraints.
0 commit comments