AERE Network post-quantum additions to Nethermind: the second execution client for chain 2800
Go to file
2026-10-14 20:46:40 +03:00
src/Nethermind Validation side brought to the production tree of 2026-10-14: strict extraData decoder, header hashing and validation, second window of the base-fee floor, precompile provider and gas schedule (the bytes the tenth validator runs for these files); README dated 2026-10-14 20:46:40 +03:00
LICENSE AERE Network post-quantum additions to Nethermind 2026-08-11 21:34:12 +03:00
README.md Validation side brought to the production tree of 2026-10-14: strict extraData decoder, header hashing and validation, second window of the base-fee floor, precompile provider and gas schedule (the bytes the tenth validator runs for these files); README dated 2026-10-14 20:46:40 +03:00

AERE Network, second execution client

These are the AERE Network additions to Nethermind, the second execution client for AERE chain 2800. They are not a complete client: they are the files that had to be added or changed so that an independent implementation, written in a different language on a different codebase, can follow chain 2800 and reach the same state.

Why a second client exists

Until block 18,083,403 chain 2800 produced every block with one client, derived from Hyperledger Besu. A consensus bug in that client would have produced a wrong block and nothing in the validator set would have stopped it, because every validator ran the same code. A second implementation is the only thing that can disagree.

Since block 18,083,404 (2026-09-11) the tenth validator of chain 2800 runs the client these additions belong to: it proposes its share of mainnet blocks and validates every block the other nine produce. Nine of the ten seats still run the first client, so the second adds an independent check, not yet fault tolerance.

What this repository holds, and what it does not yet hold. The files here are the validation side, first published in August 2026 and brought to the production tree on 2026-10-14 (the same bytes the tenth validator runs for these files: the strict extraData decoder, header hashing and validation, the second window of the base-fee floor): the precompiles, the QBFT header decoding and hashing, header and seal validation, and the base-fee floor. The block-producing consensus engine and the post-quantum message layers that run on the tenth validator today (AIP-20, AIP-21 and the active stages of AIP-22) are not in this repository yet. Until they are, this repository is not the complete source of what runs on mainnet.

What is here

  • Nethermind.AerePqc/Precompiles/ — the five post-quantum verifiers live on chain 2800 since block 9,189,161: Falcon-512, Falcon-1024, ML-DSA-44, SLH-DSA-128s and SHAKE256. They wrap the Bouncy Castle implementations already on the client classpath; no cryptography is hand-rolled here.
  • Nethermind.AerePqc/Qbft/ — QBFT header decoding, extra-data handling and the header hashing rule, written independently rather than ported, so that agreement between the two clients is evidence rather than a shared assumption.
  • Nethermind.AerePqc/Consensus/ — header and seal validation for the AERE variant of QBFT.
  • src/Nethermind/Nethermind.Consensus.Ethash/AereBaseFeeCalculator.cs — the AERE base-fee floor, active from block 10,141,734 with a 1 Gwei floor.
  • src/Nethermind/Nethermind.Core/AereFloorLapse.cs — the one historical range in which chain 2800 did not apply its own floor. Read that file: it explains what happened, why the exception belongs at validation rather than in the calculation, and how the bounds were measured.
  • tests — including the two that matter most, the follower proof against real chain-2800 headers and the base-fee floor fork tests.

What this repository does not contain

The full Nethermind client. Get it from upstream and apply these files on top. Nothing here is useful on its own.

It also contains no keys, no node addresses, and no operational configuration, by design.

Licence

The files carry SPDX-License-Identifier: LGPL-3.0-only, inherited from the Nethermind sources they derive from. See LICENSE. Upstream Nethermind is the authority on its own licensing; if you are redistributing, check the upstream terms as well as these.

Status, stated plainly

  • follows and validates chain 2800: yes
  • produces mainnet blocks: yes, as the tenth validator, since block 18,083,404 (2026-09-11); the engine that does so is not yet published in this repository
  • reached consensus with Besu as an equal validator: on the public testnet (chain 28001) first, on mainnet since that block
  • audited by a third party: no

Until 2026-10-05 this section said "produces mainnet blocks: no" and "on an isolated testnet only", which had been out of date since 2026-09-11.