Перейти к содержимому
ecdsa.com

Пороговые подписи

Схемы, в которых закрытый ключ разделён между n участниками так, что любые t из них могут совместно создать одну подпись обычного вида, а любая группа меньшего размера ничего не узнаёт о ключе.
Другие написанияthreshold signatureFROSTMPC signingt-of-n signatures

В отличие от мультиподписи, где скрипт или политика проверяет n отдельных подписей, пороговая подпись проверяется по одному открытому ключу обычным, неизменённым кодом проверки, поэтому политика подписи не видна ни в блокчейне, ни в сетевом трафике. Ключ либо генерируют распределённо (DKG), и тогда полный ключ нигде не существует, либо это делает доверенный дилер, который разделяет ключ по схеме разделения секрета Шамира.

Для подписей семейства Schnorr стандартом стал FROST (RFC 9591, июнь 2024 года, информационный RFC): двухраундовое подписание с наборами параметров (ciphersuites) для Ed25519, ristretto255, Ed448, P-256 и secp256k1, а получаемые подписи принимает обычный код проверки. Пороговая схема ECDSA (протоколы вроде GG18/GG20, CGGMP21 и DKLs) намного сложнее, потому что в формуле подписи участвует обратное к nonce значение, но она широко применяется в MPC-кошельках и кастодиальных сервисах. Подписи BLS поддерживают пороговую схему почти без дополнительных затрат.

Главные трудности — эксплуатационные: работа с nonce при параллельных сессиях (наивная многосторонняя схема Schnorr уязвима для атаки ROS, от которой MuSig2 и FROST защищены по своему устройству), выявление участника, нарушающего протокол, обновление долей ключа без смены открытого ключа и проверка того, что DKG действительно была проведена.

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

Все термины