Skip to content

Commit 0906670

Browse files
authored
Remove sub blocks mentioned in docs (#172)
1 parent 8299731 commit 0906670

6 files changed

Lines changed: 9 additions & 178 deletions

File tree

src/pages/protocol/blockspace/overview.mdx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
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.
33
---
44

55
# Blockspace Overview
@@ -10,7 +10,7 @@ This specification defines the structure of valid blocks in the Tempo blockchain
1010

1111
## Motivation
1212

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.
1414

1515
## Specification
1616

@@ -25,20 +25,18 @@ pub struct Header {
2525
}
2626
```
2727
- `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)).
2929
- `timestamp_millis_part` stores the sub‑second component; the full timestamp is `inner.timestamp * 1000 + timestamp_millis_part` .
3030

3131
### Block body
3232
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:
3333

3434
1. Start-of-block system transaction(s) (must begin with the rewards registry call).
3535
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.
3938

4039
### System transactions
4140

42-
A valid tempo block must contain the following system transactions:
41+
A valid tempo block must contain the following system transaction:
4342
- **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).

src/pages/protocol/blockspace/payment-lane-specification.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: Technical specification for Tempo payment lanes ensuring dedicated
66

77
## Abstract
88

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.
1010

1111
## Motivation
1212

@@ -52,4 +52,3 @@ for all i such that !is_payment(tx[i]) and tx[i] is in the proposer's lane
5252
```
5353

5454
Where `gas_consumed` includes intrinsic gas and gas burned by reverts, as in the existing protocol.
55-

src/pages/protocol/blockspace/sub-block-specification.mdx

Lines changed: 0 additions & 157 deletions
This file was deleted.

src/pages/protocol/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ This section provides details on the Tempo Protocol specifications, and serves a
4444
title="Tempo Transactions"
4545
/>
4646
<Card
47-
description="Block format, payment lanes, and sub-blocks for optimized throughput"
47+
description="Block format and payment lanes for optimized throughput"
4848
to="/protocol/blockspace/overview"
4949
icon="lucide:layout"
5050
title="Blockspace"

src/pages/protocol/transactions/spec-tempo-transaction.mdx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ Each authorization in the list:
179179

180180
- **Protocol nonce (key 0)**: Existing account nonce, incremented for regular txs, 7702 authorization, or `CREATE`
181181
- **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.
183183

184184
#### Account State Changes
185185
- `nonces: mapping(uint256 => uint64)` - 2D nonce tracking
@@ -1128,4 +1128,3 @@ The introduction of 7702 delegated accounts already created complex cross-transa
11281128
Because a single transaction can invalidate multiple others by spending balances of multiple accounts
11291129

11301130
**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.
1131-

0 commit comments

Comments
 (0)