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

Флаги SIGHASH

Байт, который добавляется к подписи Bitcoin и определяет, какие части транзакции она охватывает: ALL (0x01), NONE (0x02), SINGLE (0x03), при необходимости в сочетании с ANYONECANPAY (0x80), а также 0x00, значение по умолчанию в Taproot.
Другие написанияsighashSIGHASH_ALLSIGHASH_ANYONECANPAYsighash type

SIGHASH_ALL охватывает все входы и выходы, и кошельки почти всегда используют именно его; NONE оставляет выходы открытыми, SINGLE охватывает только выход с тем же индексом, а ANYONECANPAY позволяет другим добавлять входы (как при краудфандинге). SIGHASH_DEFAULT (0x00) в Taproot действует как ALL и экономит байт. BIP-143 (SegWit v0) и BIP-341 (Taproot) определяют, как строится дайджест, в том числе с учётом сумм входов, благодаря чему аппаратные кошельки могут проверять комиссию.

Необычные флаги в PSBT — тревожный сигнал: если подписанта обманом заставили использовать SIGHASH_NONE или SINGLE, кто-то другой сможет перенаправить средства. Подписантам следует отклонять флаги, отличные от флагов по умолчанию, если только их не требует протокол.

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

Все термины