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

BIP-340 (подписи Schnorr для secp256k1)

Спецификация Bitcoin: 64-байтные подписи Schnorr на secp256k1 с 32-байтными открытыми ключами x-only и тегированными хешами; её используют Taproot и Nostr.
Другие написанияBIP-340BIP340Schnorr signatures secp256k1x-only public key

Ключ кодируется только координатой x, а из двух возможных точек подразумевается та, у которой координата y чётная; это экономит один байт. Challenge вычисляется как e = tagged_hash("BIP0340/challenge", R.x ‖ P.x ‖ m), а подпись — это R.x ‖ s; тегированные хеши SHA256(SHA256(tag) ‖ SHA256(tag) ‖ data) разделяют разные применения хеша. Рекомендуемая процедура подписи подмешивает 32 байта вспомогательных случайных данных при выводе nonce, а проверка строгая, поэтому подписи не обладают пластичностью.

Линейность схемы делает возможными агрегацию ключей (MuSig2, BIP-327) и пороговые схемы (FROST), а пакетная проверка подписей ускоряет проверку блоков. Сообщения в BIP-340 имеют длину 32 байта; сообщения произвольной длины поддерживаются в более поздней редакции BIP-340 и в протоколах, которые сначала хешируют сообщение (Nostr подписывает 32-байтный идентификатор события).

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

Все термины