AERE Network post-quantum additions to Nethermind: the second execution client for chain 2800
Go to file
Liviu 44d6fe4863 AERE Network post-quantum additions to Nethermind
The second execution client for chain 2800: 23 files that let an independent
implementation, in a different language on a different codebase, follow the
chain and reach the same state.

Published because the files derive from Nethermind under LGPL-3.0, and because
a chain whose node software cannot be read cannot have independent operators.
Nothing here is useful without upstream Nethermind.

Contains no keys, no node addresses and no operational configuration. Two test
files carried absolute paths and a host name from the machine they were written
on; both were replaced with portable equivalents before this commit, which also
makes the tests runnable by anyone.

The README states the limits plainly: this client follows and validates, it does
not produce mainnet blocks, and it has never been audited by a third party.
2026-08-11 21:34:12 +03:00
src/Nethermind AERE Network post-quantum additions to Nethermind 2026-08-11 21:34:12 +03:00
LICENSE AERE Network post-quantum additions to Nethermind 2026-08-11 21:34:12 +03:00
README.md AERE Network post-quantum additions to Nethermind 2026-08-11 21:34:12 +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

Chain 2800 produces every block with Hyperledger Besu today. A consensus bug in Besu would produce a wrong block and nothing in the validator set would stop it, because every validator runs the same code. A second implementation is the only thing that can disagree.

That is the whole point of this repository, and it is also the honest limit of what it achieves so far: this client follows and validates, it does not produce blocks on mainnet. Client diversity in production does not exist on chain 2800 yet.

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.
  • Nethermind.Consensus.Ethash/AereBaseFeeCalculator.cs — the AERE base-fee floor, active from block 10,141,734 with a 1 Gwei floor.
  • 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: no
  • reached consensus with Besu as an equal validator: on an isolated testnet only
  • audited by a third party: no