BLS12-381 是形如 y² = x³ + ax + b 的短 Weierstrass 曲线,定义在 381 位素域上,其素数阶子群为 255 位,余因子为 76329603384216526031706109802092473003;估计安全级别为 117 位。状态:安全,但仅限特定地区或小众场景。
BLS12-381 是嵌入度为 12 的 Barreto–Lynn–Scott 曲线,由 Sean Bowe 于2017年为 Zcash 设计。G1 位于 381 位素数上的曲线 y² = x³ + 4,G2 位于 GF(p²) 上的扭曲曲线,两者都使用 255 位的素数阶子群。数域筛法的改进削弱了 BN254,此后 BLS12-381 的安全强度估计约为 117~120 位。
以太坊的权益证明共识用这条曲线上的 BLS 签名(draft-irtf-cfrg-bls-signature)对证明(attestation)签名,因此数千个签名可以聚合为一个;EIP-2537 还为执行层加入了该曲线的预编译合约。Zcash Sapling、Filecoin 和 drand 随机数信标也使用它。
G1 的余因子很大(见上方的 h),因此实现在使用收到的点之前,必须检查这些点是否位于素数阶子群中。
各标准中的名称
| 标准 | 名称 |
|---|
| draft-irtf-cfrg-pairing-friendly-curves | BLS12-381 |
| EIP-2537 | BLS12_381 |
域参数
381 位素域 · 约 117 位安全强度
- 域素数 p
- 0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab
- 系数 a
- 0x0
- 系数 b
- 0x4
- 基点 x 坐标
- 0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e83ff97a1aeffb3af00adb22c6bb
- 基点 y 坐标
- 0x8b3f481e3aaa0f1a09e30ed741d8ae4fcf5e095d5d00af600db18cb2c04b3edd03cc744a2888ae40caa232946c5e7e1
- 基点的阶 n
- 0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001
- 余因子 h
- 0x396c8c005555e1568c00aaab0000aaab
用于
- Ethereum consensus (BLS signatures)
- Ethereum precompiles (EIP-2537)
- Zcash Sapling
- Filecoin
- drand
← 全部曲线