Следуя «Восстановлению закрытых ключей биткойнов с использованием слабых подписей из блокчейна », я могу выполнять другие вычисления, но я понятия не имею, как вычислять Z1
или Z2
. Был общедоступный код, доступный Шону Брэдли :
http://2coin.org/tx.asmx?op=GetTXExtended
Но сейчас это не работает. Есть ли какой-то другой общедоступный код для расчета Z1
и Z2
на любом языке. Я могу преобразовать его на язык, который я предпочитаю. Любая помощь приветствуется.
Согласно сообщению Нильса, z
значения — это хэши, которые подписываются в формуле ECDSA. Справочную информацию о том, какие данные входят в эти хэши, можно найти на вики-странице OP_CHECKSIG и в превосходном справочнике разработчиков в формате PDF Кшиштофа Окупского .
Код Bitcoin Core для генерации хэшей находится здесь . Любое другое приложение Биткойн, которое подписывает транзакции (или проверяет подписи), должно иметь совместимую функцию (по крайней мере, для SIGHASH_ALL по умолчанию), поэтому вы сможете найти реализацию практически на любом популярном языке программирования.
вставьте свою транзакцию на эту страницу https://2xoin.com/getRSZfromRawTX/
он даст вам все R, S и Z, если он смог декодировать TX.
Например,0100000002f64c603e2f9f4daf70c2f4252b2dcdb07cc0192b7238bc9c3dacbae555baf701010000008a4730440220d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1022044e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e014104dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ffffffffff29f841db2ba0cafa3a2a893cd1d8c3e962e8678fc61ebe89f415a46bc8d9854a010000008a4730440220d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad102209a5f1c75e461d7ceb1cf3cab9013eb2dc85b6d0da8c3c6e27e3a5a5b3faa5bab014104dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ffffffffff01a0860100000000001976a91470792fb74a5df745bac07df6fe020f871cbb293b88ac00000000
будет выводить
[
{
"sigR": "d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1",
"sigS": "44e1ff2dfd8102cf7a47c21d5c9fd5701610d04953c6836596b4fe9dd2f53e3e",
"sigZ": "c0e2d0a89a348de88fda08211c70d1d7e52ccef2eb9459911bf977d587784c6e",
"pubKey": "04dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff",
"N": 0
},
{
"sigR": "d47ce4c025c35ec440bc81d99834a624875161a26bf56ef7fdc0f5d52f843ad1",
"sigS": "9a5f1c75e461d7ceb1cf3cab9013eb2dc85b6d0da8c3c6e27e3a5a5b3faa5bab",
"sigZ": "17b0f41c8c337ac1e18c98759e83a8cccbc368dd9d89e5f03cb633c265fd0ddc",
"pubKey": "04dbd0c61532279cf72981c3584fc32216e0127699635c2789f549e0730c059b81ae133016a69c21e23f1859a95f06d52b7bf149a8f2fe4e8535c8a829b449c5ff",
"N": 1
}
]
`
Дэвид А. Хардинг
пользователь1111111111111
Дэвид А. Хардинг
k
значением. Если вы действительно хотите воспроизвести это, вам будет гораздо проще избавиться от багажа Биткойна и выполнить математические расчеты для ваших собственных произвольных хешированных данных. Даже в Википедии есть инструкции для этого .