ОЕ Я работаю на это 60b20eca2285b7ed8b64a1f98277c16fcc205b9e21413d6a72545880d2a3f341, который является полным подписали Тй:
Код:
010000000217cbf067a9ad71b2f69ea66a1c94d04cee26f856b5b4bdccaeccb59761419668010000008a4730440220735364aea32db724e7f0179f48e4ad5a63a3b04f733e82ca5215097a91aa7123022015846041c9564ff96fb269cb5e9b2f24dac003299e5d16d34fb9c699d55825c7014104617f9e26b7f6f776e30cb4aa24ebef9e183caf6da25684862a32446589be20a53c2b37a7283430033bdfd2f31a96edaea88bf9ebf07498476cb34d16b47887edffffffff877a5dd62eab9f1fd28739a9ae7c68fcb0f075b2c2ede13cb3acff15d362e271010000008c493046022100d0af9e17b678ad7823ad331a04d5b50f2dc173715949718ef974314f9ddbf0fa02210098de23b9c6daad57e7c8a8748718c56ec8d20cd2686aa652c4fb85091a39c690014104617f9e26b7f6f776e30cb4aa24ebef9e183caf6da25684862a32446589be20a53c2b37a7283430033bdfd2f31a96edaea88bf9ebf07498476cb34d16b47887edffffffff01709cc901000000001976a914ea0fcd06c9c62e590a8975627d0165b514568a5a88ac00000000
После некоторых исследований, я был в состоянии сломать весь ТХ:
Код:
01000000 - byte_reverse (Версия: 1, в шестнадцатеричном, длина 4 байта)
02 - Общее количество входов (начинается с 1, а не 0, поэтому для этого TX есть 2 общие входы не три)
17cbf067a9ad71b2f69ea66a1c94d04cee26f856b5b4bdccaeccb59761419668 - byte_reverse (input_txid)
01000000 - byte_reverse из Vout NUM для prev_tx (начиная с 0, так что это второй выход из этой ТХ)
8о - общая длина байта (в шестнадцатеричном, 0x8a = 138) из следующей сигнатуры + Публичный, (плюс префикса байт, чтобы указать длину)
47 - общая длина байта (0x47 = 71) следующая подпись
30 - DER-закодированные подписи
44 - общая длина байта следующей информации подписи
02 - первое значение представляет собой целое число, представленное в шестнадцатеричном формате (формат DER вызовов, которые, по-видимому 0x02)
Длина байт первого значения (0x20 = 32 в десятичной системе) - 20
735364aea32db724e7f0179f48e4ad5a63a3b04f733e82ca5215097a91aa7123 - г значение (Паб Х коорд случайного одноразового номера)
02 - следующий номер также ИНТ
20 - следующие данные имеют длиной 32 байт
15846041c9564ff96fb269cb5e9b2f24dac003299e5d16d34fb9c699d55825c7 - S значение (подпись для данных, нонса, privkey кортеж)
01 - Bitcoin подпись типа SIGHASH_ALL
(Говорит шахтеры, как проверить подпись. Некоторые типы сиг знак только определенные входы и выходы, как в coinjoin ТХ-х. Стандарт SIGHASH_ALL подписывает весь ТХ, так что никаких изменений не может быть сделано)
41 - длина байта из следующих открытого ключа (0x41 = 65)
04617f9e26b7f6f776e30cb4aa24ebef9e183caf6da25684862a32446589be20a53c2b37a7283430033bdfd2f31a96edaea88bf9ebf07498476cb34d16b47887ed - Публичные, который является ключевым для ввода адреса и который соответствует privkey, используемой для изготовления сигового
порядковый номер, присвоенный только сейчас в этом ОМ, чтобы этот последний вход для использования с nlocktime в этом ОМ - FFFFFFFF
877a5dd62eab9f1fd28739a9ae7c68fcb0f075b2c2ede13cb3acff15d362e271 - второй вход byte_reverse (tx_id)
01000000 - второй вход byte_reversed Vout номер. (Опять же, начиная с 0, так что это второй выход)
8в - длина полной подписи и Публичных
49 - длина следующей информации подписи
30 - DER-закодированные подписи
46 - длина следующей информации подписи
02 - первое число дер ИНТ
21 - длина первых данных о числе плюс 00 префикса
00 - я неясно о том, что это и почему это здесь или, если это необходимо
d0af9e17b678ad7823ad331a04d5b50f2dc173715949718ef974314f9ddbf0fa - значение г
02 - следующий номер ИНТ
21 - длина следующего номера и 00 префиксов
не 00 - опять же, понятия не
98de23b9c6daad57e7c8a8748718c56ec8d20cd2686aa652c4fb85091a39c690 - ы значение
01 - SIGHASH_ALL
41 - длина следующего Публичных
04617f9e26b7f6f776e30cb4aa24ebef9e183caf6da25684862a32446589be20a53c2b37a7283430033bdfd2f31a96edaea88bf9ebf07498476cb34d16b47887ed - Публичная для prevtx Vout, который должен быть таким же, который используется для подписи
FFFFFFFF - порядковый номер присваивается для ввода
01 - общее количество выходов, в шестнадцатеричном, начиная с 1 не 0.
709cc90100000000 - byte_reverse из (чисел satoshis в выходе, представленных в шестнадцатеричном), zfilled в длину 8 байт
19 - количество байт для вывода сценария
76 - OP_DUP, дублируются данные предыдущего стека (который будет hash160, когда этот сценарий используется для тратить деньги)
a9 - OP_HASH160, то ripemd160 (sha250 (Публичный)) для ключа вывода
14 - длина данных hash160
ea0fcd06c9c62e590a8975627d0165b514568a5a - hash160 открытого ключа Послания
88 - OP_EQUALVERIFY, делает OP_EQUAL, который помещает значение TRUE в стеке, если сиг действительна
затем делает OP_VERIFY, который останавливает transaciton и помечает его недействительным, если верхний элемент стека не ИСТИНА
ас - OP_CHECKSIG, убеждается данные, которые имеют действительную сиговых на самом деле данные этого ТХ в.
00000000 - nlocktime
02 - Общее количество входов (начинается с 1, а не 0, поэтому для этого TX есть 2 общие входы не три)
17cbf067a9ad71b2f69ea66a1c94d04cee26f856b5b4bdccaeccb59761419668 - byte_reverse (input_txid)
01000000 - byte_reverse из Vout NUM для prev_tx (начиная с 0, так что это второй выход из этой ТХ)
8о - общая длина байта (в шестнадцатеричном, 0x8a = 138) из следующей сигнатуры + Публичный, (плюс префикса байт, чтобы указать длину)
47 - общая длина байта (0x47 = 71) следующая подпись
30 - DER-закодированные подписи
44 - общая длина байта следующей информации подписи
02 - первое значение представляет собой целое число, представленное в шестнадцатеричном формате (формат DER вызовов, которые, по-видимому 0x02)
Длина байт первого значения (0x20 = 32 в десятичной системе) - 20
735364aea32db724e7f0179f48e4ad5a63a3b04f733e82ca5215097a91aa7123 - г значение (Паб Х коорд случайного одноразового номера)
02 - следующий номер также ИНТ
20 - следующие данные имеют длиной 32 байт
15846041c9564ff96fb269cb5e9b2f24dac003299e5d16d34fb9c699d55825c7 - S значение (подпись для данных, нонса, privkey кортеж)
01 - Bitcoin подпись типа SIGHASH_ALL
(Говорит шахтеры, как проверить подпись. Некоторые типы сиг знак только определенные входы и выходы, как в coinjoin ТХ-х. Стандарт SIGHASH_ALL подписывает весь ТХ, так что никаких изменений не может быть сделано)
41 - длина байта из следующих открытого ключа (0x41 = 65)
04617f9e26b7f6f776e30cb4aa24ebef9e183caf6da25684862a32446589be20a53c2b37a7283430033bdfd2f31a96edaea88bf9ebf07498476cb34d16b47887ed - Публичные, который является ключевым для ввода адреса и который соответствует privkey, используемой для изготовления сигового
порядковый номер, присвоенный только сейчас в этом ОМ, чтобы этот последний вход для использования с nlocktime в этом ОМ - FFFFFFFF
877a5dd62eab9f1fd28739a9ae7c68fcb0f075b2c2ede13cb3acff15d362e271 - второй вход byte_reverse (tx_id)
01000000 - второй вход byte_reversed Vout номер. (Опять же, начиная с 0, так что это второй выход)
8в - длина полной подписи и Публичных
49 - длина следующей информации подписи
30 - DER-закодированные подписи
46 - длина следующей информации подписи
02 - первое число дер ИНТ
21 - длина первых данных о числе плюс 00 префикса
00 - я неясно о том, что это и почему это здесь или, если это необходимо
d0af9e17b678ad7823ad331a04d5b50f2dc173715949718ef974314f9ddbf0fa - значение г
02 - следующий номер ИНТ
21 - длина следующего номера и 00 префиксов
не 00 - опять же, понятия не
98de23b9c6daad57e7c8a8748718c56ec8d20cd2686aa652c4fb85091a39c690 - ы значение
01 - SIGHASH_ALL
41 - длина следующего Публичных
04617f9e26b7f6f776e30cb4aa24ebef9e183caf6da25684862a32446589be20a53c2b37a7283430033bdfd2f31a96edaea88bf9ebf07498476cb34d16b47887ed - Публичная для prevtx Vout, который должен быть таким же, который используется для подписи
FFFFFFFF - порядковый номер присваивается для ввода
01 - общее количество выходов, в шестнадцатеричном, начиная с 1 не 0.
709cc90100000000 - byte_reverse из (чисел satoshis в выходе, представленных в шестнадцатеричном), zfilled в длину 8 байт
19 - количество байт для вывода сценария
76 - OP_DUP, дублируются данные предыдущего стека (который будет hash160, когда этот сценарий используется для тратить деньги)
a9 - OP_HASH160, то ripemd160 (sha250 (Публичный)) для ключа вывода
14 - длина данных hash160
ea0fcd06c9c62e590a8975627d0165b514568a5a - hash160 открытого ключа Послания
88 - OP_EQUALVERIFY, делает OP_EQUAL, который помещает значение TRUE в стеке, если сиг действительна
затем делает OP_VERIFY, который останавливает transaciton и помечает его недействительным, если верхний элемент стека не ИСТИНА
ас - OP_CHECKSIG, убеждается данные, которые имеют действительную сиговых на самом деле данные этого ТХ в.
00000000 - nlocktime
А с помощью ПОС я связан выше, а также эта страница а также эта страница, Я попытался создать какую картинку ссылку звонки "verifyThisStr", Заменив scriptsig с предыдущим ТХ scriptpubkey:
Код:
010000000217cbf067a9ad71b2f69ea66a1c94d04cee26f856b5b4bdccaeccb59761419668010000001976a9140a2217742759c9951371083564d94b8b0317528488acffffffff877a5dd62eab9f1fd28739a9ae7c68fcb0f075b2c2ede13cb3acff15d362e271010000001976a9140a2217742759c9951371083564d94b8b0317528488acffffffff01709cc901000000001976a914ea0fcd06c9c62e590a8975627d0165b514568a5a88ac0000000001000000
Тем не менее, двойной хэш для этого является 6379ec988e87a690521a2bafe96fd035fc28ad451f3d1b65bf80d25bdb322057, который не проходит проверку подписи.
Я надеялся, что кто-то может указать на ошибку в моем беззнаковых ОМ "verifyThisStr", Так что я могу вручную проверить ТХ.
Спасибо за помощь всем !!!