Перейти к содержимому
ecdsa.com
ДопустимаяКороткая форма Вейерштрасса

BLS12-381

BLS12-381 — подходящая для спариваний кривая, на которой работают уровень консенсуса Ethereum, Zcash и Filecoin.

BLS12-381 — кривая в короткой форме Вейерштрасса y² = x³ + ax + b над 381-битным простым полем с 255-битной подгруппой простого порядка и кофактором 76329603384216526031706109802092473003; оценочный уровень стойкости — 117 бит. Статус: безопасна, но региональная или нишевая.

BLS12-381 — кривая Баррето — Линна — Скотта со степенью вложения 12, которую Шон Боу (Sean Bowe) разработал для Zcash в 2017 году. G1 — кривая y² = x³ + 4 над 381-битным простым полем, G2 лежит на скручивании над GF(p²), и обе группы используют 255-битную подгруппу простого порядка. После улучшений метода решета числового поля, которые ослабили BN254, стойкость BLS12-381 оценивают примерно в 117–120 бит.

В консенсусе proof-of-stake сети Ethereum аттестации заверяются подписями BLS на этой кривой (draft-irtf-cfrg-bls-signature), поэтому тысячи подписей агрегируются в одну, а EIP-2537 добавляет для неё прекомпилированные контракты на уровень исполнения. Её также используют Zcash Sapling, Filecoin и маяк случайности drand.

Кофактор G1 велик (см. h выше), поэтому реализации должны проверять, что полученные точки лежат в подгруппе простого порядка, и только потом их использовать.

Названия в стандартах

СтандартНазвание
draft-irtf-cfrg-pairing-friendly-curvesBLS12-381
EIP-2537BLS12_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

Стандарты и ссылки

Все кривые