Path: blob/main/frontier/07-pairings/connect/bls-ethereum-consensus.ipynb
483 views
Connect: BLS Signatures in Ethereum 2.0 Consensus
Module 07 | Real-World Connections
Trace how BLS signatures from Module 07 power Ethereum's proof-of-stake consensus.
Introduction
Ethereum's proof-of-stake consensus (the Beacon Chain) requires hundreds of thousands of validators to sign attestations, votes on which blocks are valid. Without aggregation, each slot would require transmitting and verifying ~tens of thousands of individual signatures.
BLS signatures on the BLS12-381 curve solve this:
Aggregation: thousands of signatures on the same attestation compress into a single 48-byte curve point.
Efficient verification: one pairing check verifies the entire aggregate.
No nonce: BLS signing is deterministic, eliminating the catastrophic nonce-reuse vulnerability of ECDSA.
This notebook traces the connection from the math in Module 07 to the engineering in Ethereum.
BLS12-381: The Pairing-Friendly Curve
Ethereum uses the BLS12-381 curve, a Barreto-Lynn-Scott curve with:
| Parameter | Value |
|---|---|
| Field prime | 381 bits () |
| Subgroup order | 255 bits () |
| Embedding degree | 12 |
| Points on : | |
| Points on : a twist of | |
| Subgroup of | |
| Security level | 128 bits |
The "12" in BLS12-381 is the embedding degree. The "381" is the bit-length of . These were chosen so that the ECDLP in and the DLP in both provide 128-bit security, the same balance we explored in the pairing inversion notebook.
Validator Signing: Attestations
In each slot (12 seconds), a committee of validators is selected to attest to the current state of the chain. Each attestation contains:
Source checkpoint (justified epoch)
Target checkpoint (epoch being voted on)
Head block root
Each validator signs this attestation data using BLS:
where is a hash-to-curve function mapping the attestation to a point in .
Aggregation: Thousands to One
The magic of BLS: for same-message signing, aggregation is just point addition.
Verification requires only 2 pairings regardless of the number of signers:
This reduces bandwidth from to per slot.
Why BLS over ECDSA?
Ethereum 1.0 used ECDSA on secp256k1 (the Bitcoin curve). The switch to BLS12-381 for the Beacon Chain was driven by aggregation:
| Feature | ECDSA (secp256k1) | BLS (BLS12-381) |
|---|---|---|
| Signature size | 64 bytes | 48 bytes |
| Aggregation | Not possible | Native |
| Nonce required | Yes (critical!) | No |
| Verification of sigs | verifications | 2 pairings |
| Bandwidth for sigs | ||
| Single-sig verify speed | Faster | Slower (pairings) |
For consensus with hundreds of thousands of validators, aggregation is not optional, it is the only way to keep the protocol feasible.
Concept Map: Module 07 to Ethereum
| Module 07 Concept | Ethereum Application |
|---|---|
| Bilinear pairing | Core of BLS verification: |
| Pairing-friendly curve (embedding degree ) | BLS12-381: balances curve and target security |
| BLS sign: | Validator signs attestation data |
| BLS verify: pairing equation | Beacon chain verifies attestations |
| Signature aggregation: | Committee sigs compress to one point |
| Same-message optimization: 2 pairings | All validators in a committee attest to same data |
| Rogue key attack / PoP defense | Validators submit PoP at deposit (EIP-2333) |
| Hash-to-curve | hash_to_G1 per the IETF hash-to-curve standard |
Every concept from the explore notebooks has a direct engineering counterpart in Ethereum.
Summary
| Concept | Key idea |
|---|---|
| BLS12-381 | Pairing-friendly curve with 128-bit security, chosen to balance ECDLP and target-field DLP |
| Validator signing | Each validator signs attestations as |
| Aggregation | Thousands of signatures compress into one curve point via simple addition |
| Two-pairing verification | One aggregate is verified with 2 pairings, regardless of committee size |
| Proof of possession | Validators submit a PoP at registration to prevent the rogue key attack |
Without pairings and BLS aggregation, proof-of-stake consensus at Ethereum's scale would be impractical. The abstract algebra of bilinear maps directly enables a real-world system processing billions of dollars in transactions.
Back to Module 07: Bilinear Pairings