Network upgradesDevelopers1 min read
alt_bn128 G2 syscalls (SIMD-0302) activate at epoch 412 (FG 06)
G2 add and multiply on BN254, needed to verify pairing-based proofs on chain.
Nick P · X1 Labs ·
SIMD-0302 activated at the start of epoch 412 (slot 86,446,112, 20:45 UTC on 16 October). X1 programs can now add, subtract and multiply G2 points on the BN254 curve natively.
What it is
BN254 has two kinds of point that proofs use, called G1 and G2. Until this gate, an X1 program could add and multiply G1 points natively and run a pairing check, but it could not do arithmetic on G2 points at all; it could only hand a fixed G2 point to the pairing. Writing that arithmetic by hand in a program would blow far past a transaction's compute budget.
Why it's good for X1
The proposal estimates native G2 operations cost 10 to 20 times less compute than doing the same work in program code. That makes new things practical on X1:
- Batch proof verification: several Groth16 proofs checked in one go.
- KZG polynomial commitments, a building block of modern zk systems.
- BLS signature aggregation on BN254, where public keys are G2 points. A program can check that a whole committee, such as an oracle network or a bridge's signers, approved something with one aggregate signature.
The same syscalls run on Solana mainnet, so programs that use them there port to X1 unchanged.
What to watch
Nothing is removed or changed. Programs already deployed behave exactly as before, so there is nothing for anyone to do.
Sources
- The X1 Labs announcement (below)
- SIMD-0302: https://github.com/solana-foundation/solana-improvement-documents/blob/main/proposals/0302-bn254-g2-syscalls.md
- Feature account C14PtjP5LwUVtRsDrnQ8rHwigKe7uPsFHxZqtaihHrCs
Original post · Nick P
Feature gate update: FG 06 is live alt_bn128 G2 syscalls (SIMD-0302) activate on mainnet at the start of epoch 412 (slot 86,446,112, around 20:43 UTC on Oct 16). This adds G2 add and multiply operations on the alt_bn128 (BN254) curve, in both big-endian and little-endian forms. Pairing-based proof systems need these to verify proofs on-chain. It only adds new syscalls; existing programs are unaffected. It is already live on X1 testnet and on Solana mainnet. Feature: C14PtjP5LwUVtRsDrnQ8rHwigKe7uPsFHxZqtaihHrCs Activation tx: eg5mc9BGNT59g1BUHveCQm5cGzF8CTUnXVrxjNxAP4gA26TdZm17zudWCAhpUGubTrYxkmktKw9eQB4ki99zjgZ
Feature gates in this post
alt_bn128 G2 syscalls (SIMD-0302)
G2 add and multiply on BN254 for pairing-based proofs.
C14P…HrCsLiveepoch 412