|
13 декабря 2011, 8:17:02 AM | # 1 |
Сообщения: 442
цитировать ответ |
Re: Как создать Tx Hash?
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Какие поля делает один нужно хэш от Tx для создания хэша, который используется в Merkle Tree?
|
13 декабря 2011, 8:41:10 AM | # 2 |
Сообщения: 1050
цитировать ответ |
Re: Как создать Tx Hash?
|
13 декабря 2011, 12:00:01 PM | # 3 |
Сообщения: 442
цитировать ответ |
Re: Как создать Tx Hash?
Да, я знаю, как создать сообщение Tx, хэшированию блок, я знаю об использовании ScriptSig RIPEMD, и как построить Меркл дерево, учитывая Tx хэш, но то, что я не могу найти, как можно создать хэш используется в Merkle дерева. Должен ли я обрабатывать весь Tx, или только его часть (как в случае блока хэшей).
|
13 декабря 2011, 12:27:24 PM | # 4 |
Сообщения: 1050
цитировать ответ |
Re: Как создать Tx Hash?
Да, я знаю, как создать сообщение Tx, хэшированию блок, я знаю об использовании ScriptSig RIPEMD, и как построить Меркл дерево, учитывая Tx хэш, но то, что я не могу найти, как можно создать хэш используется в Merkle дерева. Должен ли я обрабатывать весь Tx, или только его часть (как в случае блока хэшей). это deppends на то, что вам это нужно ... если его для подписания, это только некоторые из них. но если его для размещения полной транзакции, вы хэширование всей транзакции с Алле скрипты включены. |
13 декабря 2011, 4:05:42 PM | # 5 |
Сообщения: 1652
цитировать ответ |
Re: Как создать Tx Hash?
Вот как понять это из клиентского кода Satoshi:
IMPLEMENT_SERIALIZE макрос используется для обоих магазинов транзакций на диске и сериализовать их в байт-массив, который может быть хеширован. Для класса CTransaction, который выглядит следующим образом: Код: IMPLEMENT_SERIALIZE ( READWRITE (this->nVersion); nVersion = этом->nVersion; READWRITE (Vin); READWRITE (Vout); READWRITE (nLockTime); ) READWRITE является оболочкой, которая перегружена, чтобы сделать правильную вещь для всех типов Bitcoin имеет дело с; для сложных типов, таких как CTxOut, IMPLEMENT_SERIALIZE является (по существу) вызывается рекурсивно. Расширьте из всех типов и, предполагая, что я не завинчивать (всегда ненадежное предположение), это выглядит как CTransaction сериализации, как: Код: nVersion vin.size (векторы сериализовать в качестве сжатого графа сразу с последующим их содержимым) Vin []. prevout (VIN->prevout->хэш затем сразу VIN->prevout->п, а 36 байт) Vin []. scriptSig (CScripts сериализуются как вектор байтов) Vin []. nSequence ... повторяется для каждого Львиным vout.size Vout []. nValue Vout []. scriptPubKey ... повторяется для каждого Vout nLockTime Струнные все эти байты вместе, SHA256 их в два раза, и вы должны получить хэш транзакции для Merkle цепи. |
13 декабря 2011, 7:09:39 PM | # 6 |
Сообщения: 442
цитировать ответ |
Re: Как создать Tx Hash?
Так что я бы хэш весь Tx, как он будет отображаться в сообщении Bitcoin. Хорошо, I`ll попробовать.
|
13 декабря 2011, 7:14:59 PM | # 7 |
Сообщения: 1050
цитировать ответ |
Re: Как создать Tx Hash?
Так что я бы хэш весь Tx, как он будет отображаться в сообщении Bitcoin. Хорошо, I`ll попробовать. дважды! |
13 декабря 2011, 11:31:22 PM | # 8 |
Сообщения: 1428
цитировать ответ |
Re: Как создать Tx Hash?
Так что я бы хэш весь Tx, как он будет отображаться в сообщении Bitcoin. Хорошо, I`ll попробовать. Вот именно, как Tx выложена: Это должно быть таким же, как показано на вики протокола, и так же, как она хранится в файле blk0001.dat, а также как он передается по сети. После того, как вы есть, что в двоичной форме, применяются SHA256 дважды чтобы получить окончательный ответ. Если вы хотите, чтобы хеш-ТХ для ECDSA подписи / проверки, что это совершенно другая история (хотя, ссылка выше, также показывает, как сделать это, тоже). |
14 декабря 2011, 12:51:09 AM | # 9 |
Сообщения: 442
цитировать ответ |
Re: Как создать Tx Hash?
Спасибо за вашу помощь, мне удалось правильно хеширования Tx от Genesis Block.
|
14 декабря 2011, 8:51:49 AM | # 10 |
Сообщения: 1050
цитировать ответ |
Re: Как создать Tx Hash?
Спасибо за вашу помощь, мне удалось правильно хеширования Tx от Genesis Block. +1 |