aere-docs/AERE-BENCHMARK-REPORT.md
Aere Network e4cead319d Initial public release
Aere Network public source. Everything here can be checked against the live
chain (chain id 2800, https://rpc.aere.network).

Scope note, stated up front rather than buried: consensus on chain 2800 is
classical secp256k1 ECDSA QBFT. The post-quantum work in this repository is at
the signature, precompile, account and transport layers. Nothing here makes the
consensus post-quantum, and no document in it should be read as claiming so.
2026-07-20 01:01:36 +03:00

25 KiB

Aere Network: Reproducible Benchmark Report (spec-18)

Status date: 2026-07-19 Chain: Aere Network mainnet, chain ID 2800 (Hyperledger Besu QBFT). Scope: chain performance, zkVM proof-verification economics, and post-quantum cryptographic-operation gas, stated with a hard separation between what is freshly measured, what is cited from a committed repo artifact, and what still needs a measurement command run.

The absolute rule this report obeys

No performance number (TPS, latency, gas, proof size, proving time) appears here unless it was either (a) freshly measured by running a command this session, or (b) found in a committed repo artifact that is cited by path. Anything that cannot be measured or sourced is written as a measurement command and marked [MEASURE]. Anything sourceable only from memory and not yet confirmed against code is marked [VERIFY]. A fabricated benchmark would be a catastrophic failure of this document, so the labels below are load-bearing, not decoration.

Label legend

Label Meaning
[MEASURED-FRESH] Run by this report on this machine, output shown or summarized.
[CITED: path] Value read from a committed repo artifact at the cited path.
[MEASURE: cmd] Not measured here. The command that would measure it is given.
[VERIFY: note] Sourceable but needs confirmation against live code or a live node.

Scope boundary that never moves

Aere Network validators sign classical secp256k1 QBFT consensus messages. Nothing in this report makes Aere consensus post-quantum. The post-quantum work is an application and account layer capability. Any claim of post-quantum consensus would be false and is not made here.


PART A: CHAIN PERFORMANCE

A.0 The one honesty point, stated first

The "273,000 TPS" figure is an ARCHITECTURAL CEILING derived from block-space arithmetic under ideal conditions. It is NOT the live mainnet transaction rate, it has never been a measured result, and it is not asserted as one. Three distinct quantities must never be conflated:

Quantity Value Label
Architectural ceiling (design maximum) ~273,000 TPS [CITED], explicitly labeled a ceiling
Testnet-measured L1 throughput none exists see A.1
Live-mainnet-observed throughput far below the ceiling, demand-limited see A.1

[CITED: aerenew/docs/WHITEPAPER-V2.md lines 73, 117, 633; aerenew/docs/wp2-sections/01-overview.md:59; 02-architecture.md:21; 09-governance-roadmap.md:294] The whitepaper states it verbatim: the block parameters "admit a design ceiling on the order of 273,000 transactions per second; this is a theoretical maximum implied by the gas and block configuration, not a measured or sustained figure, and realized throughput on the live network is a small fraction of it." It is described as "a design ceiling derived from block-space arithmetic under ideal conditions" that "has never been a measured result."

On the derivation itself. The repo labels 273,000 as a block-space-arithmetic ceiling but does not publish the explicit factors. The two facts that are sourceable:

  • Block period 0.5 s. [CITED: aerenew/docs/wp2-sections/02-architecture.md:19; genesis-subsecond.json (blockperiodmilliseconds: 500)]
  • Genesis block gas limit is ambiguous across genesis artifacts: 0x2625a00 (40,000,000) in aerenew/genesis.json, versus 0x1fffffffffffff (9,007,199,254,740,991, effectively unbounded) in aere-genesis-current.json and genesis-subsecond.json. [VERIFY: which gas limit is live on 2800]

Implied arithmetic (transparent, not a new claim): 273,000 TPS at a 0.5 s block is 136,500 tx per block, and at the 21,000-gas simple-transfer floor that is about 2.87 billion gas per block. That is far above the 40M limit and far below the effectively-unbounded limit, so the ceiling presumes an effectively- unbounded block gas limit AND the cheapest possible transaction, not the EIP-7825-capped realistic workload the chain actually runs. [VERIFY: publish the explicit block-space arithmetic behind 273,000 so the ceiling is reproducible]

A.1 Testnet-measured and live-observed throughput (the honest gap)

There is no testnet measurement that validates 273,000 TPS for L1. The closest measured throughput number in the repo is a rollup-executor microbenchmark, and the artifact that produces it says plainly it neither reaches nor implies the ceiling.

[CITED: aerenew/parallel-executor/BLOCKSTM-ENDTOEND-THROUGHPUT-2026-07-13.md section 7] The Block-STM end-to-end harness measured about 247,000 to 270,000 TPS at gas=80 on a 16-vCPU box, but this is (a) the rollup executor with a light commit proxy, not L1, not a real Merkle Patricia Trie, and (b) entirely a function of the assumed per-transaction cost: the same box reports 115,000 to 500,000 TPS as the per-transaction weight changes. The gas=80 proximity to 273,000 is called out in the artifact as a coincidence, not a validation.

Live mainnet 2800 runs far below the ceiling, and this is by demand, not by capacity. [CITED: aerenew/research/specs/spec-zk-stack.md section 0.2; aerenew/docs/wp2-sections/01-overview.md:59] On-chain usage is thin (single-digit proof records for most verifiers; six genesis user wallets per project memory). Real throughput is demand-limited, not capacity-limited: the chain has ample block-space headroom and almost no load to fill it. [MEASURE: sample a live window with eth_getBlockByNumber over N recent blocks against https://rpc.aere.network and divide total tx by elapsed time to publish an observed sustained TPS; expected result is near zero on an idle chain]

A.2 Block time and finality

Deterministic single-slot QBFT finality at a 0.5 s block period. Because QBFT finalizes on commit rather than by accumulation of work, a transaction is irreversible in well under a second from inclusion, with no confirmation count and no reorg. [CITED: aerenew/docs/wp2-sections/02-architecture.md:19]

The 0.5 s period was reached by a mid-chain QBFT parameter change at block 2,138,451, halved from the launch value of one second, with no re-genesis. [CITED: aerenew/docs/wp2-sections/01-overview.md:59; aerenew/docs/WHITEPAPER-V2.md:73; genesis-subsecond.json (blockperiodseconds: 0, blockperiodmilliseconds: 500)]

Finality is a latency-to-irreversibility claim and is separate from throughput. The 0.5 s finality claim follows mechanically from QBFT plus the block period; it says nothing about TPS.

A.3 Parallel execution (Block-STM): the honest result

The honest result has three parts, and only the first is a mainnet-relevant guarantee. No end-to-end L1 throughput win is claimed, and Block-STM is NOT enabled on L1.

(1) Correctness proven bit-identical to sequential. [MEASURED-FRESH] This session ran the executor's bench on this Windows dev machine. The parallel==sequential gate (committed state and keccak state root identical to the sequential oracle) passed on all four conflict profiles:

LOW-CONFLICT      parallel==sequential check: PASS
MEDIUM-CONFLICT   parallel==sequential check: PASS
HIGH-CONFLICT     parallel==sequential check: PASS
PATHOLOGICAL      parallel==sequential check: PASS

This corroborates the cited larger runs: a 6,000-comparison correctness harness with 0 mismatches, and a re-import plus validation of 253 real exported blocks with zero state-root mismatch. [CITED: aerenew/parallel-executor/BLOCKSTM-ENDTOEND-THROUGHPUT-2026-07-13.md section 3 and section 8]

(2) Near-linear execution-phase scaling on parallelizable workloads. [MEASURED-FRESH] on this machine (fewer physical cores than the reference 16-core Linux box, so absolute speedup is lower, which is expected and honest):

Workload (this box, 16 threads) speedup vs sequential abort%
Low-conflict (~2%) 4.36x 0.3%
Medium-conflict (~15%) 4.96x 2.3%
High-conflict (single hot counter) 1.92x 24.8%
Pathological (all same slot) 0.43x (correctly slower) 11.5%

[CITED: same artifact, section 4-5] The reference 16-core Linux box measured about 8.3x to 9.4x execution-phase and about 8.3x to 9.1x end-to-end on realistic 0 to 50 percent conflict. The pathological all-same-slot profile is honestly slower than sequential (correct Block-STM behavior), on both boxes.

(3) No end-to-end throughput win claimed, and not on L1. [CITED: aerenew/research/specs/spec-parallel-execution.md section 9; BLOCKSTM-ENDTOEND section 7-8] The Aere L1 mainnet executes sequentially on Besu. The parallel executor is a bounded four-kind VM (Transfer, Sweep, Increment, AmmSwap) over a balance and storage map, not a full EVM, and its measured speedups are single-machine microbenchmarks, not a network throughput or TPS claim. The real forked client's commit path was separately measured to anti-scale (parallel commit was slower than sequential), so the real-client end-to-end ceiling is tighter than the Rust harness, not looser. The invariant deliverable is the correctness gate plus the speedup curve and its Amdahl bound, not an absolute TPS.


PART B: ZKVM COMPARATIVE (SP1 vs RISC Zero vs Halo2)

Every cell is labeled. Gas and proof-size values that are cited come from repo deployment artifacts and are measured single-run values, not benchmarked averages (the source spec states this explicitly). [CITED: aerenew/research/specs/spec-zk-stack.md footer]

B.1 Comparison table

Prover (version) Proving time (off-chain) On-chain gas to verify Proof size Verification latency
SP1 Groth16 (v6.1.0) app-dependent, CITED single-runs: zkscreen ~72 to 75 s, over18 ~71 to 73 s, zkml-mnist ~200 to 205 s, aggregation Groth16 526.1 s [CITED: contracts/deployments/proof-aggregator-scale.json] ~300k typical [CITED: spec-zk-stack section 2]; measured records: storage-proof 348,345, zkML 326,492, aggregation ~390k flat [CITED: proof-aggregator-scale.json, zkml/storage-proof artifacts] ~260 to 356 bytes [CITED: spec-zk-stack section 2] one staticcall, final at next block (~0.5 s) [MEASURE: time eth_call wall-clock]
SP1 Plonk (v6.1.0) [MEASURE: prove a fixture with the Plonk prover] "somewhat higher than Groth16" [CITED: spec-zk-stack section 2], exact [MEASURE] [MEASURE] one staticcall [MEASURE]
RISC Zero Groth16 (5.0.0-rc.1) [MEASURE: r0vm prove the factor-guest], not recorded in repo [MEASURE: eth_call gas on RiscZeroVerifierRouter.verify], no gas number committed seal 260 bytes [CITED: contracts/deployments/risc0-verifier-fix.json sealLen] one staticcall [MEASURE]
Halo2 (bn254 / KZG, SHPLONK) [MEASURE: halo2 prover on the cubic circuit] ~449,517 gas [CITED: contracts/deployments/halo2-cubic.json; spec-zk-stack section 6] (revm gas ~300,144) 1,152 bytes [CITED: same] one call [MEASURE]
KZG / EIP-4844 point-eval precompile (0x0A) n/a (precompile, no prover) ~255,719 gas [CITED: contracts/deployments/kzg-verifier.json; spec-zk-stack section 5] 192-byte precompile input [CITED: same] one staticcall

Notes on the two recursion facts worth keeping, both [CITED: proof-aggregator-scale.json; spec-zk-stack section 7]:

  • A 10-proof recursive SP1 aggregation records on-chain in ~393,844 gas, roughly flat versus the 3-proof fold (~387,858 gas). Constant on-chain verification cost regardless of fold count is the point of recursion.
  • The proving side of that same 10-fold cost 526.1 s for the aggregation Groth16 plus 988 s of inner proving (measured, off-chain, single run).

B.2 Routing logic (which prover for which job, and why)

[CITED: aerenew/research/specs/spec-zk-stack.md sections 1-3, 7-11] Routing is by selector: the first 4 bytes of the proof pick the concrete verifier.

  • SP1VerifierGateway routes SP1 proofs by leading selector (Groth16 route 0x4388a21c, Plonk 0x5a093a2f).
  • RiscZeroVerifierRouter routes a RISC Zero seal by leading selector (0xef6cb709 for 5.0.0-rc.1).

Which prover is chosen:

  • SP1 is the workhorse. Every Aere application circuit routes through SP1: zk-KYC screen, over-18, zkML MNIST, compliance pool, storage-proof coprocessor, rollup validity anchor, and the recursive aggregator. The reason is concrete: smallest proofs (~260 to 356 bytes), lowest typical verify gas (~300k), one Rust guest toolchain, and native recursion via verify_sp1_proof inside the zkVM.
  • RISC Zero is the diversity path. A second independent RISC-V zkVM, kept so the verification surface is not single-prover; a real Groth16 factorization receipt is recorded on-chain.
  • Halo2 / KZG is the direct-circuit path. For circuits authored directly as a PLONK arithmetization (bn254 / KZG / SHPLONK), plus the raw EIP-4844 point-evaluation precompile for blob and commitment openings.

The honest framing the source insists on: this is a multi-prover verification surface behind one gateway, unusual to have in one place, but not a claim that no other chain can verify any one of these.

B.3 Why the on-chain-gas column motivates the STARK-verifier roadmap

SP1 Groth16, RISC Zero Groth16, and Halo2 all terminate their on-chain check in a BN254 pairing (Groth16 or KZG). Two problems live in that column: the check costs ~300k to ~450k gas, and BN254 pairing security rests on discrete-log / pairing hardness, which is Shor-breakable. That single elliptic-curve link is the only quantum-vulnerable step in an otherwise hash-based SP1 proof chain.

Roadmap item: replace the BN254 Groth16 wrap with a direct hash-based STARK verifier. [CITED: aerenew/pqc-fork/pq-stark/README.md; aerenew/docs/PQ-STARK-VERIFIER-PRECOMPILE-2026-07-18.md] The design is a native precompile at 0x0AE8. The generic verifier skeleton built so far verifies a BabyBear / Plonky3 FRI STARK directly, with no BN254 wrap, so its security rests only on hash collision-resistance and Reed-Solomon proximity gaps.

Scope caveat (2026-07-19 research finding) [CITED: aerenew/docs/AERE-STARK-SP1-RECURSION-AIR-PORT-SPEC-SUMMARY.md]: the six generic components confirmed so far verify BabyBear + FRI STARKs (Aere's OWN Plonky3 circuits), NOT SP1 6.1.0 proofs. The pinned SP1 6.1.0 is a Hypercube release (KoalaBear multilinear: BaseFold plus sumcheck-zerocheck plus LogUp-GKR), so its inner proof is hash-based but NOT a BabyBear FRI STARK, and FRI plus DEEP-ALI do not apply to it. Replacing the SP1 BN254 Groth16 wrap on real SP1 proofs is therefore a SEPARATE ~22 to 32 person-week retarget and a founder decision, not a completion of the skeleton below.

Honest status of that roadmap item, stated plainly [CITED: same README, "HONEST STATUS"]: it is a REFERENCE SKELETON plus DESIGN. It is NOT audited, NOT a working verifier for SP1 proofs, and NOT activated on any Aere network. It fail-closes (returns "not verified" for every input, cannot emit a false accept). The SP1-recursion-specific crypto core is un-ported, and per the caveat above the SP1 target is a different (Hypercube) proof system entirely. Mainnet 2800 has exactly the five PQC precompiles 0x0AE1..0x0AE5; 0x0AE8 is not live anywhere.


PART C: CRYPTO-OP GAS (PQC vs ECDSA)

C.1 Table (measured marginal precompile verify-op gas, with sources)

Operation Address Marginal gas Full verify-and-record tx gasUsed Source
ECDSA (ecrecover) 0x01 ~3,000 n/a protocol constant [VERIFY: G_ecrecover = 3000 is a fixed EVM constant, not Aere-specific]
P-256 / passkey (RIP-7951, aka RIP-7212) 0x100 ~3,450 n/a [CITED: aerenew/docs/wp2-sections/02-architecture.md:36; aerenew/research/aip-draft-pqc-precompiles.md section 4, "repo-sourced from the Fusaka notes"]
SHAKE256 (FIPS 202) 0x0AE5 60 base + 12/word 21,470 [CITED: aerenew/pqc-fork/precompiles/HashToPointPrecompiledContract.java lines 51-52 (BASE_GAS=60, GAS_PER_WORD=12); aip-draft section 3 table]
Falcon-512 (NIST round-3) 0x0AE1 40,000 86,336 [CITED: aip-draft section 4 and Reference table]
ML-DSA-44 (FIPS 204) 0x0AE3 55,000 351,050 [CITED: aip-draft section 6 and Reference table]
ML-KEM-768 (FIPS 203, encapsulation) 0x0AE6 60,000 (fixed) n/a (KEM, testnet-only) [CITED: aerenew/pqc-fork/precompiles/MLKEM768PrecompiledContract.java line 73 (GAS = 60_000)]
Falcon-1024 (NIST round-3) 0x0AE2 75,000 145,496 [CITED: aip-draft section 5 and Reference table]
SLH-DSA-SHA2-128s (FIPS 205) 0x0AE4 350,000 558,276 [CITED: aip-draft section 7 and Reference table]

All marginal-gas values are the scratch-fork (chain 28099) measured constants; the verify-and-record tx gasUsed values are on-chain receipts. [CITED: aerenew/research/aip-draft-pqc-precompiles.md Reference Implementation table] The five signature and hash precompiles (0x0AE1..0x0AE5) are live on mainnet 2800, activated at block 9,189,161. ML-KEM-768 (0x0AE6) and Falcon HashToPoint (0x0AE7) are KAT-validated on an isolated testnet and remain founder-gated for mainnet. [CITED: aerenew/pqc-fork/README chain, pqc-fork memory]

Scope reminder attached to this table: these precompiles are an application and account layer capability. They do not make Aere consensus post-quantum.

C.2 Two fresh cross-checks run this session

[MEASURED-FRESH] The SHAKE256 gas schedule (60 base plus 12 per word) is confirmed present in source, and the HashToPoint precompile's own gas was freshly computed from that exact source formula (gasRequirement, lines 78-93):

Falcon-512  (n=512)  32-byte message, 73-byte input:  words=38  -> gasRequirement = 516
Falcon-1024 (n=1024) 32-byte message, 73-byte input:  words=73  -> gasRequirement = 936

516 gas matches the source javadoc's "one ~500-gas staticcall" claim, which is the mechanism by which HashToPoint cuts a full Solidity Falcon-512 verify. This is the precompile's own intrinsic gas; it is distinct from the end-to-end verify gas below, and the two must not be conflated.

[CITED: aerenew/pqc-fork/results/bench-results.json] The HashToPoint-precompile optimization measured on the scratch fork (chain 28777), full Falcon-512 verify: 9,140,858 gas in pure EVM dropping to 7,186,367 gas with the precompile, a 21.4 percent reduction across 8 test vectors, all accept and tamper-reject checks passing.

C.3 The honest story the numbers tell

Post-quantum verification is materially more expensive than ECDSA. Ratios below are fresh arithmetic from the cited marginal-gas constants divided by the 3,000-gas ecrecover:

Scheme Marginal gas Cost vs ECDSA (3,000)
Falcon-512 40,000 ~13.3x
ML-DSA-44 55,000 ~18.3x
ML-KEM-768 60,000 ~20.0x
Falcon-1024 75,000 ~25.0x
SLH-DSA-SHA2-128s 350,000 ~116.7x

So PQC verification runs roughly 13x (Falcon-512) to about 117x (SLH-DSA-SHA2-128s) the cost of an ECDSA recover. That premium is exactly what motivates two roadmap directions:

  • Aggregation. Amortize one expensive PQC verify across many authentications rather than paying per signature. [VERIFY: the specific "AerePQAggregate" contract name is not found in the repo; PQC aggregation is a documented roadmap direction, see aerenew/docs/FRONTIER-PROGRAM-2026-07-12.md]
  • Finality certificate. Carry post-quantum finality as a certificate over a finalized block rather than re-verifying PQC signatures per transaction. This ties to the dual-quorum PQ-consensus design work. [CITED: aerenew/docs/PQ-CONSENSUS-STEP2-2026-07-18.md] Note the scope line: this is design and attestation alongside QBFT, it does not make consensus post-quantum.

PART D: INDEPENDENT REPRODUCTION

D.1 The strongest benchmarks should be third-party reproduced

The credibility of every number above rises sharply when a party other than Aere reruns it. The honest reproduction candidates, in priority order:

  • The Nethermind team (warmest angle). Aere already runs a patched Nethermind as a second client that validates and follows live chain 2800, and it runs the PQC precompiles and can produce QBFT blocks Besu accepts. [CITED: aerenew/docs/wp2-sections/09-governance-roadmap.md:199, 253; NETHERMIND-2ND-CLIENT-LIVE memory] That existing relationship makes them the natural first ask for an independent client-side reproduction of the precompile gas and the consensus behavior.
  • A university lab. Cheap under a research grant and citable in a way a vendor benchmark is not; a good fit for the Block-STM correctness-and-scaling harness and the zkVM proving-time measurements, which are self-contained and need no Aere infrastructure.
  • Explicitly NOT the expensive audit firms. The audit-firm budget is reserved for the security audit, which is a different deliverable from a performance reproduction. [CITED: aerenew/docs/mainnet_authority context; AUDIT-OUTREACH-2026-07-12.md]

The outreach kit is prepared by us. The actual third-party run and the relationship are founder and business gated, not something this report initiates.

D.2 The run-it-yourself manifest (REPRODUCE)

This report is the NUMBERS and how they were measured. The run-it-yourself commands live in the reproducibility bundle. Today that bundle is split across several committed files rather than one consolidated REPRODUCE.md; the honest recommendation is to consolidate them, but each is real and runnable now:

Domain Where to run it File
Block-STM correctness + scaling (Part A.3, freshly run here) cd aerenew/parallel-executor && cargo test --release && cargo run --release -- bench and -- endtoend aerenew/parallel-executor/BLOCKSTM-ENDTOEND-THROUGHPUT-2026-07-13.md section 10
PQC precompile KATs + gas (Part C) aerenew/pqc-fork/run-kats.sh, aerenew/pqc-fork/bench/bench.py aerenew/pqc-fork/ (results in results/bench-results.json, results/kat-results-*.json)
Reproducible Besu client build docker build ... -f aerenew/node/Dockerfile.reproducible then aerenew/scripts/verify-besu-image.sh aerenew/node/REPRODUCIBLE.md (note: public digest manifest publication is still roadmap, so the third-party comparison step is not yet live)
PQ-consensus reproduction committed harness aerenew/research-stage/formal-consensus/REPRODUCE.md, aerenew/audit-package-pq-consensus/REPRODUCE.md

[MEASURE: create a single top-level aerenew/REPRODUCE.md that indexes all four domains above with pinned commands, so a third party has one entry point]


Appendix: provenance summary of every number

Freshly measured this session [MEASURED-FRESH]:

  • Block-STM parallel==sequential gate: PASS on all 4 conflict profiles (this Windows box).
  • Block-STM 16-thread execution-phase speedup this box: low 4.36x, medium 4.96x, high 1.92x, pathological 0.43x.
  • HashToPoint precompile intrinsic gas from source formula: 516 gas (Falcon-512, 32-byte message), 936 gas (Falcon-1024).

Cited from committed repo artifacts [CITED]:

  • 273,000 TPS is a design ceiling, never measured (WHITEPAPER-V2, wp2-sections).
  • 0.5 s block period, halved at block 2,138,451, single-slot QBFT finality (wp2-sections, genesis-subsecond.json).
  • Rollup end-to-end harness ~247k to 270k TPS at gas=80, swinging 115k to 500k, not the L1 ceiling (BLOCKSTM-ENDTOEND section 7).
  • Reference 16-core Block-STM ~8.3x to 9.4x exec, ~8.3x to 9.1x end-to-end (same artifact).
  • SP1 Groth16 ~300k gas, ~260 to 356 byte proofs; measured records storage-proof 348,345, zkML 326,492, aggregation ~390k (spec-zk-stack; deployment artifacts).
  • SP1 proving times: zkscreen ~72 to 75 s, over18 ~71 to 73 s, zkml-mnist ~200 to 205 s, aggregation Groth16 526.1 s (proof-aggregator-scale.json).
  • RISC Zero Groth16 seal 260 bytes, 5.0.0-rc.1 (risc0-verifier-fix.json).
  • Halo2 ~449,517 gas, 1,152-byte proof; KZG point-eval ~255,719 gas (deployment artifacts, spec-zk-stack).
  • PQC marginal gas: Falcon-512 40,000, Falcon-1024 75,000, ML-DSA-44 55,000, SLH-DSA-128s 350,000, ML-KEM-768 60,000, SHAKE256 60+12/word; verify-and-record tx: 86,336 / 145,496 / 351,050 / 558,276 / 21,470 (aip-draft, precompile source, bench-results.json).
  • P-256 ~3,450 gas (wp2-sections, aip-draft).
  • HashToPoint optimization 9,140,858 to 7,186,367 gas, -21.4% (bench-results.json).

To measure [MEASURE] or verify [VERIFY] (open items):

  • [MEASURE] Observed live mainnet sustained TPS over a real block window.
  • [MEASURE] SP1 Plonk proving time, gas, proof size.
  • [MEASURE] RISC Zero on-chain verify gas and proving time.
  • [MEASURE] Halo2 proving time.
  • [MEASURE] Wall-clock verification latency per prover.
  • [MEASURE] Consolidated top-level aerenew/REPRODUCE.md.
  • [VERIFY] The explicit block-space arithmetic behind 273,000 TPS.
  • [VERIFY] Which genesis gas limit is live on 2800 (40M vs effectively unbounded).
  • [VERIFY] ECDSA ecrecover 3,000 is a fixed protocol constant (not Aere-specific).
  • [VERIFY] The "AerePQAggregate" contract name (not found in repo; aggregation is a documented roadmap direction).