Почему в некоторых транзакциях открытый ключ после R и S длиннее 33 байт, а в других — 65 байт? Есть ли разница при проверке подписи?
Спасибо
ах, действительно, это было не ясно для меня. Входной сигскрипт состоит из двух частей: самой подписи и следующего «условия», которое необходимо выполнить для проведения tx. Обычно это открытый ключ, но также могут быть мультиподписные элементы или смарт-контракты.
В случае, когда следует открытый ключ, существует два представления открытых ключей: сжатые ключи и несжатые ключи. Как они генерируются, объясняется в ветке здесь: Как генерируются сжатые PubKeys? . Таким образом, вы можете иметь это представление:
pubkey hex без сжатия (04 + x + y):
04 50863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B2352 2CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
или это: шестнадцатеричный сжатый публичный ключ (02 + x, y = четный):
02 50863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B2352
В случае, когда y=нечетное, тогда в начале стоит 03. Глядя на длину, у вас есть 65 байтов для несжатых и 33 байта для сжатых ключей.
пебвиндкрафт
пебвиндкрафт
lemanb84