CryptoCMD CryptoCMD

BLS Signature Aggregation: How Blockchains Scale and What Can Go Wrong

Combining thousands of crypto signatures into one cuts gas costs drastically, but introduces unique attack vectors for validators.

Mia Chen · · 9 min read
BLS Signature Aggregation: How Blockchains Scale and What Can Go Wrong
Photo: BOOM 💥 Photography / Pexels

Key takeaways

  • →BLS signatures combine thousands of validator approvals into a single, compact mathematical proof.
  • →Aggregation slashes Layer-1 verification costs by changing gas scaling from linear O(n) to constant O(1).
  • →Rogue-key attacks can forge consensus signatures unless strict Proof-of-Possession rules are enforced during key setup.
  • →Bitfield tracking ensures individual validators still receive rewards and face slashing for invalid blocks.

Every transaction and block vote on a blockchain requires a cryptographic signature. Standard procedure. But if a Proof-of-Stake network runs tens of thousands of active validators, asking each node to broadcast and verify its own signature individually turns catastrophic. The network chokes on its own accounting overhead.

Boneh-Lynn-Shacham (BLS) signatures bypass this bottleneck. BLS math lets a network squash thousands of separate signatures into a single byte string. One signature check validates the whole group. That single mechanism keeps modern Layer-1 consensus engines and Layer-2 rollups moving without insane verification fees.

It isn't a free lunch. Aggregating signatures shifts computational burdens, enables rogue-key exploits, and establishes new central points of failure for validator sets. If you run a validator, build rollups, or stake assets, you need to understand how signature aggregation works under the hood—and where it breaks.

Why Standard Signatures Fail at Scale

Legacy chains rely mostly on the Elliptic Curve Digital Signature Algorithm (ECDSA) on curves like secp256k1. Bitcoin uses it. Standard Ethereum execution addresses use it too. ECDSA handles single transactions from individual users cleanly, but scales terribly for group consensus.

The issue is simple: ECDSA signatures cannot be added together mathematically. If 1,000 validators approve a block using ECDSA, the network must broadcast 1,000 distinct 65-byte signatures. That is 65,000 bytes of data for consensus votes alone. Worse, every verifying node on the network has to run 1,000 separate verification calculations.

Verification cost for ECDSA scales linearly: O(n). Double the validators, double the gas, double the CPU cycles. At scale, this linear burden consumes entire blocks just proving that validators agree on state updates.

The Math Behind BLS Aggregation

BLS signatures run on pairing-friendly elliptic curves, most commonly BLS12-381. Their core feature is linear additivity. You can combine signatures without knowing the private keys that built them, and you can combine the corresponding public keys the exact same way.

Take two validators, Alice and Bob. Both sign the exact same block hash M.

  • Alice holds private key SK_A and public key PK_A. She generates signature S_A.
  • Bob holds private key SK_B and public key PK_B. He generates signature S_B.

An aggregator node grabs both signatures and adds them up: S_agg = S_A + S_B. It adds their public keys too: PK_agg = PK_A + PK_B.

To check the block, any node on the network verifies whether S_agg is valid for message M using PK_agg. The verifier executes a cryptographic operation called a bilinear pairing check. Instead of running two separate signature checks, the verifier runs a single pairing calculation against the combined public key.

Whether 2 validators sign or 10,000 sign, the aggregated signature remains a fixed size (typically 96 bytes for BLS12-381). The verification cost stays practically flat: O(1) complexity for the signature check itself.

Worked Example: Gas Savings in Concrete Numbers

BLS Signature Aggregation: Gas Savings and Validator Risk
Photo: Rafael Minguet Delgado / Pexels

To see why this matters, look at a hypothetical Layer-1 state update or Layer-2 rollup batch where 1,000 validators must sign off on a single block state.

Here is how bandwidth and execution gas costs compare on an EVM-compatible chain between ECDSA and BLS signature schemes:

MetricECDSA (Individual)BLS (Aggregated)
Signature Payload Size65,000 bytes (65B × 1,000)96 bytes (1 fixed signature)
Signer Identification Data0 bytes (Implied by sigs)125 bytes (1,000-bit bitfield)
Total Calldata Size65,000 bytes221 bytes
Calldata Gas Cost (@ 16 gas/byte)1,040,000 gas3,536 gas
Verification Operation Gas3,000,000 gas (3,000 × 1,000 ecrecover)~100,000 gas (1 Pairing precompile)
Public Key Combination Gas0 gas~80,000 gas
Total Estimated Gas4,040,000 gas183,536 gas

Switching from individual ECDSA checks to an aggregated BLS check slashes gas consumption by more than 95%. The calldata footprint drops from 65 kilobytes to a fraction of a single kilobyte. That massive reduction is what allows Ethereum's Beacon Chain to track over a million active validator keys without falling apart.

Validator Risks and Attack Vectors

BLS aggregation fixes the throughput bottleneck, but it brings subtle security trade-offs. Developers and node operators have to account for three primary attack vectors.

1. The Rogue Key Attack

The simplest mathematical implementation of BLS key aggregation falls prey to a spoofing exploit known as the rogue key attack. An attacker can trick the network into verifying a signature on a victim's behalf without their consent.

Suppose Eve wants to forge an aggregated signature representing herself and Alice. Alice's public key is PK_A. Eve generates a standard private key SK_E_raw with public key PK_E_raw. But when Eve registers her key with the network, she submits a crafted rogue key: PK_E = PK_E_raw - PK_A.

When the network aggregates their public keys, it calculates: PK_agg = PK_A + PK_E = PK_A + (PK_E_raw - PK_A) = PK_E_raw.

Eve now signs a malicious block message using her real private key SK_E_raw. The signature S_E validates cleanly against PK_agg. To the network, it appears both Alice and Eve approved the bad message. Eve forged Alice's vote.

The Fix: Proof of Possession (PoP). Networks stop rogue key attacks by requiring every validator to present a Proof of Possession during key registration. Before a public key enters the active set, the owner must sign a specific message containing their own public key. Eve cannot generate a valid signature for PK_E = PK_E_raw - PK_A because she does not hold the private key for that calculated difference.

2. Aggregator Censorship and Bitfield Fraud

Aggregated signatures hide individual signers inside a single mathematical sum. To identify who actually voted, the aggregator includes a bitfield—a binary string of 1s and 0s where each bit matches an index in the active validator list. A 1 means the validator signed; a 0 means they did not.

This creates operational risk: aggregator nodes hold real leverage over validator rewards.

  • If an aggregator intentionally leaves your valid signature out of the payload, your bit gets set to 0.
  • You lose out on consensus rewards for that epoch.
  • If enough aggregators omit your signature consistently, the network flags your node for liveness failure and triggers inactivity penalties.

3. Denial of Service via Invalid Signatures

BLS aggregation only works if every single input signature in the aggregate batch is valid. If an aggregator gathers 1,000 signatures, sums them up, and runs the pairing check, one corrupted or malicious signature breaks the entire aggregate check.

When an aggregated signature fails, the aggregator cannot immediately tell which of the 1,000 signers submitted the invalid signature. To find the culprit, the aggregator has to fall back to verifying signatures individually.

Malicious nodes can exploit this by spamming junk signatures to aggregator nodes. This forces aggregators to burn massive amounts of CPU cycles separating good signatures from bad, introducing network latency and causing missed block slots.

How a BLS Aggregation Round Executes

Tracing data flow through a consensus round clarifies where individual node operators sit in the pipeline. Here is the literal execution sequence during a standard validation slot:

  1. Message Distribution: The block proposer broadcasts a new block or state transition hash across the network.
  2. Individual Signing: Each active validator signs the block hash using its local BLS private key, producing an individual 96-byte signature.
  3. Subnet Propagation: To avoid overloading a single aggregator, validators broadcast individual signatures across designated peer-to-peer subnets.
  4. Aggregator Verification: Designated aggregator nodes inside each subnet collect incoming signatures, run individual checks to scrub invalid inputs, and drop bad actors.
  5. Local Aggregation: The aggregator sums valid signatures into a single byte string and builds a bitfield representing participating validator indexes.
  6. Global Submission: Aggregators broadcast aggregated subnet signatures to the main block proposer or submit them directly to an L1 smart contract.
  7. Final On-Chain Verification: The block verifier combines the public keys corresponding to positive bits in the bitfield into PK_agg and executes a single cryptographic pairing check. If valid, consensus rewards go to all bits marked 1.

Common Mistakes Node Operators and Developers Make

Teams working with BLS-enabled networks regularly run into predictable traps:

  • Assuming aggregators are fully trustless: Aggregators can censor signers or delay submissions. High-availability setups require redundant aggregation paths rather than relying on a single aggregator client.
  • Confusing BLS aggregation with smart contract multisigs: A smart contract multisig (like Gnosis Safe) executes logic on-chain per signer, burning EVM gas for every owner. BLS aggregation settles multi-party agreement at the cryptography layer before the EVM sees the payload.
  • Omitting Proof of Possession checks in custom chains: Developers building custom application chains or sidechains often implement raw BLS libraries without enforcing key registration proofs. That leaves their bridge or consensus mechanisms directly exposed to rogue-key attack vectors.
  • Neglecting signature validation bandwidth: While BLS verification is cheap for the end verifier, intermediate aggregator nodes require substantial CPU resources to clean incoming individual signatures before combining them.

Frequently Asked Questions

Why doesn't Ethereum use BLS signatures for standard user transactions?

User transactions still use ECDSA because BLS signature verification relies on complex elliptic curve pairing operations. While BLS verification is cheap when checking thousands of signatures at once, checking a single BLS signature costs significantly more gas than verifying a single ECDSA signature via Ethereum's native ecrecover precompile. Generating BLS signatures also demands more compute, which hurts low-power devices like mobile wallets.

What happens if an aggregator submits an invalid signature to the chain?

If an aggregator combines an invalid signature into the aggregate payload, the final on-chain pairing check fails completely. The smart contract or consensus protocol rejects the entire block state submission. The aggregator burns the gas spent submitting the transaction, and the network moves to the next slot without applying the invalid state update.

How do networks prevent aggregators from censoring individual validators?

Networks mitigate aggregator censorship through redundancy and economic incentives. Multiple aggregators are assigned to every subnet simultaneously. As long as at least one honest aggregator in the subnet includes your signature, your vote is counted in the final block payload. Furthermore, aggregators earn execution rewards for submitting complete and timely aggregate payloads, giving them a financial reason to include as many valid signatures as possible.

Signature aggregation changes the core trade-offs of blockchain scaling. It unloads state burden from Layer-1 execution memory and pushes it onto peer-to-peer network design and aggregator processing capacity. As networks expand their validator sets, managing the latency and trust dynamics of these aggregator nodes remains one of the hardest problems in distributed systems.

Keep learning