← All updates

Network upgradesDevelopers1 min read

alt_bn128 little-endian (SIMD-0284) activates at epoch 411 (FG 05)

Little-endian BN254 syscalls for zk verifiers, matching EVM and zk tooling.

Nick P · X1 Labs ·

SIMD-0284 activated at the start of epoch 411 (slot 86,230,112, 22:42 UTC on 15 October). It gives X1 programs a little-endian version of the alt_bn128 syscalls.

What it is

Groth16, the proof system most zk apps on SVM chains use today, is built on a curve called BN254, which X1 exposes to programs as the alt_bn128 syscalls. X1 already had syscalls for it, but they were modelled on Ethereum's precompiles and take numbers in big-endian byte order. The Rust libraries zk teams actually use, such as ark-bn254, store the same numbers little-endian. Every verifier had to reverse bytes on the way in and out.

Why it's good for X1

  • Building a zk verifier gets simpler. Proofs and keys from standard Rust tooling go straight into the syscall.
  • Fewer silent failures. When bytes are flipped the wrong way, nothing errors out; honest proofs are simply rejected, and finding out why can take days.
  • Each proof check costs slightly less compute, because the byte swapping is gone.

That matters for X1's privacy work. Confidential payments, zk proofs of state and proof-carrying bridges all rest on this kind of verification, and making it easier lowers the bar for teams building them on X1.

What to watch

The big-endian syscalls are unchanged, so deployed programs keep working. The new ones are an option, not a requirement.

Sources

Original post · Nick P

Feature gate update: FG 05 is live Little-endian support for alt_bn128 (SIMD-0284) activates on mainnet at the start of epoch 411 (slot 86,230,112, around 22:42 UTC on Oct 15). This adds little-endian versions of the alt_bn128 (BN254) syscalls used by zk verifiers and proof checks, matching the byte order most EVM and zk tooling uses. The existing big-endian syscalls are unchanged, so deployed programs keep working exactly as before. This has been live on testnet since early September. Feature: 27nGQNFnLrrYnq7UjqLdaCrSvHKB9e1sssx35ouP7sN5 Activation tx: 3Rrc5msb3rmjxNSdGdq9qbNeiWhBDwP2QFRw7qmbR4xHtjNw16M2BdMgWaAJm9AWLr8dh5LmPUHMTmf1mhtT1GBm

Feature gates in this post

  • alt_bn128 little-endian (SIMD-0284)

    Little-endian BN254 syscalls, matching EVM and zk tooling.

    27nG…7sN5Liveepoch 411