BLS12-381 は、381 ビットの素体上の短縮ワイエルシュトラス形式の曲線 y² = x³ + ax + b で、位数が 255 ビットの素数である部分群とコファクター 76329603384216526031706109802092473003 を持ちます。推定セキュリティレベルは 117 ビットです。ステータス:安全(ただし地域限定またはニッチな用途向け)。
BLS12-381 は埋め込み次数 12 の Barreto–Lynn–Scott 曲線で、2017年に Sean Bowe が Zcash のために設計しました。G1 は 381 ビットの素数上の y² = x³ + 4 で、G2 は GF(p²) 上のツイスト曲線上にあり、どちらも 255 ビットの素数位数の部分群を使います。BN254 を弱めた数体ふるい法の改良を踏まえ、安全性は約 117〜120 ビットと見積もられています。
Ethereum のプルーフ・オブ・ステークのコンセンサスでは、この曲線上の BLS 署名(draft-irtf-cfrg-bls-signature)でアテステーションに署名するため、数千の署名を 1 つに集約できます。また 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
← すべての曲線