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

BIP-137 (формат подписанных сообщений)

Формат подписи сообщений в Bitcoin с 65-байтной подписью ECDSA, из которой можно восстановить открытый ключ; байт заголовка этой подписи кодирует и идентификатор восстановления, и тип адреса: 27–30 — P2PKH с несжатым ключом, 31–34 — со сжатым, 35–38 — P2SH-P2WPKH, 39–42 — P2WPKH.
Другие написанияBIP-137BIP137Bitcoin signed messagesignmessage

К сообщению добавляются префикс «Bitcoin Signed Message» и байты длины, затем оно хешируется двойным SHA-256 и подписывается ключом secp256k1; проверяющая сторона восстанавливает из подписи открытый ключ, выводит из него адрес того типа, который указан в заголовке, и сравнивает полученный адрес с заявленным. Подписи передают в base64.

Формат происходит от команды signmessage из Bitcoin Core, которая поддерживает только P2PKH, а диапазоны заголовков для SegWit так и не были реализованы единообразно: некоторые кошельки, в том числе Electrum и Trezor, использовали для адресов SegWit диапазоны P2PKH. BIP-137 вообще не может выразить адреса Taproot, адреса с мультиподписью и скриптовые адреса, поэтому его и заменяет BIP-322. Проверка сообщений Bitcoin принимает оба формата.

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

Все термины