Учебный симулятор схемы подписей BLS (Boneh–Lynn–Shacham 2001, стандартизована в draft-irtf-cfrg-bls-signature-04) — схемы, на которой держатся аттестации beacon-цепи Ethereum 2, Chia, Polkadot и Filecoin.
Скалярное поле — реальный порядок r подгруппы BLS12-381, поэтому приватные ключи, доли Шамира, коэффициенты Лагранжа и «обнуления» мошеннических ключей используют точный рабочий модуль. Группа — учебная мультипликативная группа простого порядка с абстрактным спариванием e(g^a, g^b) = g^(ab): сохраняется любая билинейная тождественность, на которую опирается BLS (σ = H(m)^sk проверяется как e(σ, g) = e(H(m), g^sk)); арифметика эллиптических кривых и hash-to-curve (SSWU) не выполняется.
Сценарии:
Joint-Feldman DKG — каждый участник раздаёт случайный многочлен степени t−1, публикует обязательства Фельдмана Ci,k = g^{ai,k} (плюс необязательные скрывающие обязательства Педерсена) и приватно рассылает доли. Проверки долей разоблачают нечестных дилеров; групповой открытый ключ Π Ci,0 равен g^{групповой секрет}, хотя сам секрет нигде не собирается. Затем пороговая подпись t-of-n: частичные σi = H(m)^{s_i} комбинируются коэффициентами Лагранжа в подпись, идентичную подписи «полного» подписанта; квоты ниже порога отклоняются.
Атака мошенническим ключом — злоумышленник публикует pk* = g^α·Πpkᵢ⁻¹ (вычислимо только по открытым ключам) и подделывает агрегированную подпись, которую наивная проверка принимает. Защита — доказательство владения (PopProve = подпись хеша собственного ключа) отклоняет мошеннический ключ на регистрации.
Агрегация аттестаций Ethereum 2 — n валидаторов подписывают одни данные; σ_agg = Πσᵢ остаётся 96 байтами, FastAggregateVerify стоит 2 спаривания независимо от n; суб-агрегат кворума ⅔ проверяется инкрементально.
Все запуски детерминированы при фиксированном зерне — церемонии воспроизводятся байт в байт.