Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
22 августа 2012, 12:59:06 PM   # 1
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
в https://en.bitcoin.it/wiki/OP_CHECKSIG вики, процесс позади OP_CHECKSIG описан.

Почему TxPrev.PkScript вставляется в TxCopy?
(В исходном коде метод вызывается SignatureHash () и временный ТХ TxTmp не TxCopy, а вход NIN.)

Я думаю, что дело в том, чтобы "отметка" входной сделка, которая подписывается, чтобы предотвратить одну подпись, которая будет использоваться для более чем на один вход.
Но почему бы не вставить только один символ «*» в сценарий входа NIN? Почему большой кусок из TxPrev.PkScript вставлен?

Что функциональность я не хватает?

Спасибо, Серхио.







Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner


Как заработать Биткоины?
Без вложений. Не майнинг.


22 августа 2012, 2:12:00 PM   # 2
 
 
Сообщения: 1050
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

Получил 1806 Биткоинов
Реальная история.





Почему TxPrev.PkScript вставляется в TxCopy?

Спросите Satoshi ...

(Я подозреваю, что ответ в том, что он чувствовал себя безопаснее ему за некоторые субъективные и не очень хорошо обоснованные причины)
Pieter Wuille сейчас офлайн Пожаловаться на Pieter Wuille   Ответить с цитированием Мультицитирование сообщения от Pieter Wuille Быстрый ответ на сообщение Pieter Wuille

22 августа 2012, 3:17:22 PM   # 3
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

Я подозреваю, что это осталось от первого выпуска Bitcoin, которая была сломана способ запуска скриптов - они были буквально сцеплены с OP_CODESEPARATOR что означало вы могли украсть anyones деньги крафта пользовательской транзакции. Это может быть хламом остались от развития в этой точке.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

22 августа 2012, 3:25:50 PM   # 4
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

Очень интересное программное обеспечение археология

Как часть ДНК погасшего образца, увязли в ДНК Bitcoin.

Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

22 августа 2012, 3:36:59 PM   # 5
 
 
Сообщения: 1988
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

Очень интересное программное обеспечение археология
Как часть ДНК погасшего образца, увязли в ДНК Bitcoin.
Очень мудрое утверждение. Bitcoin, как янтарь, то ошибки внутри должны быть восхищались за их красоту как можно дольше.
2112 сейчас офлайн Пожаловаться на 2112   Ответить с цитированием Мультицитирование Сообщения от 2112 Быстрый ответ на сообщение 2112

24 декабря 2013, 8:37:26 PM   # 6
 
 
Сообщения: 714
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

Я думаю, что дело в том, чтобы "отметка" входной сделка, которая подписывается, чтобы предотвратить одну подпись, которая будет использоваться для более чем на один вход.

Не подпись уже применяется к хэш предыдущей транзакции, а индекс в нем? Зачем вам нужны какие-либо дополнительные данные на всех?
mmeijeri сейчас офлайн Пожаловаться на mmeijeri   Ответить с цитированием Мультицитирование сообщения от mmeijeri Быстрый ответ на сообщение mmeijeri

24 декабря 2013, 11:53:45 PM   # 7
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

Я думаю, что дело в том, чтобы "отметка" входной сделка, которая подписывается, чтобы предотвратить одну подпись, которая будет использоваться для более чем на один вход.

Не подпись уже применяется к хэш предыдущей транзакции, а индекс в нем? Зачем вам нужны какие-либо дополнительные данные на всех?

Bitcoin до выпуска v0.1 была система, где scriptSig и scriptPubKey были слиты до оценки; OP_CODESEPARATOR был включен в скриптах (или scriptSigs) явно отметить, что часть этого каскадного сценарий был хэширования. Механизм был нарушен, поскольку OP_RETURN может быть использован в scriptSig вернуться преждевременно, но кроме этого надзора идеи была звуком. (Фактический выпуск v0.1 вставлено OP_CODESEPARATOR явно перед вызовом EvalScript, нарушая идею, так что я не уверен, что на самом деле Satoshi понял, что могло бы быть возможным)

Установка этого сценария в txcopy scriptSig был механизм, с помощью которого элементы в scriptSig могут быть включены в подписи. Кое-что интересное о SignatureHash это ты Можно использовать нестандартные hashtypes в обратно совместимом способе: nHashType является операцией AND с маской 0x1F или 0b00011111, перед испытанием против SIGHASH_SINGLE и SIGHASH_NONE, что означает, что, если они настроены на что-либо, кроме этих двух значений хэша подписи вычисляется без изменения Vout. Аналогично биты 6 и 7 nHashType полностью игнорируются. Если бы оригинальный дизайн был сохранен дополнительными SignatureHash () флаги могли быть легко и эффективно были добавлены в мягкой вилке, например:

scriptPubKey: <Публичных> OP_CHECKSIG
scriptSig: <дополнительные данные Хешированных> <подпись>

OP_CHECKSIG имеет несуществующий код, чтобы удалить подпись из склеенного сценария перед вызовом SignatureHash (), поэтому окончательный каскадного скрипт, вставленный в txin scriptSig будет:

<дополнительные данные Хешированных> <Публичных> OP_CHECKSIG

То, что дополнительные беспорядочные данные могли бы быть, например, хэш-значений, идущих в сделку, чтобы позволить подписям, чтобы покрыть сборы. Аналогичным образом можно было бы использовать с SIGHASH_NONE переопределять, как подписи работали. Хотя заметим, что для этого, чтобы быть мягкой вилкой неспособность соответствовать дополнительные данные должны быть обработаны с как непосредственный провал, превращая OP_CHECKSIG в OP_CHECKSIGVERIFY относительно новых возможностей.

Сказав, что мы еще можем сделать это, хотя это становится менее эффективным. В основном вы просто сделать всю вторую подпись, ~ 72 байта стоит, и имеют специальную подпись хэш-бит запуска кода OP_CHECKSIG, чтобы проверить его. Например:

scriptPubKey: <Публичных> OP_CHECKSIG
scriptSig:

Где sig1 использует алгоритм старой подписи и Sig2 использует новый алгоритм. Для предварительной мягкой вилки узлов Sig2 всего бесполезные данные и ничего не делает, но после мягкой вилки узлов, если Sig2 недействительна сделка не удается.
Peter Todd сейчас офлайн Пожаловаться на Питер Тодд   Ответить с цитированием Мультицитирование сообщения от Peter Todd Быстрый ответ на сообщение Peter Todd

25 декабря 2013, 11:37:03 AM   # 8
 
 
Сообщения: 714
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

(Фактический выпуск v0.1 вставлено OP_CODESEPARATOR явно перед вызовом EvalScript, нарушая идею, так что я не уверен, что на самом деле Satoshi понял, что могло бы быть возможным)

Кажется, так напрасно осложняется тем, что он должен иметь причину. Интересно, может быть, он хотел, чтобы добавить «липкий» флаг, необходимые условия на выходе будет сцепляются на новых выходах было потрачено. Все это очень запутанная для меня, хотя, и у меня большие проблемы с пониманием своего поста.
mmeijeri сейчас офлайн Пожаловаться на mmeijeri   Ответить с цитированием Мультицитирование сообщения от mmeijeri Быстрый ответ на сообщение mmeijeri

26 декабря 2013, 1:31:21 AM   # 9
 
 
Сообщения: 1106
Цитировать по имени
цитировать ответ
по умолчанию Re: Почему TxPrev.PkScript вставляется в TxCopy во время проверки подписи?

(Фактический выпуск v0.1 вставлено OP_CODESEPARATOR явно перед вызовом EvalScript, нарушая идею, так что я не уверен, что на самом деле Satoshi понял, что могло бы быть возможным)

Кажется, так напрасно осложняется тем, что он должен иметь причину. Интересно, может быть, он хотел, чтобы добавить «липкий» флаг, необходимые условия на выходе будет сцепляются на новых выходах было потрачено. Все это очень запутанная для меня, хотя, и у меня большие проблемы с пониманием своего поста.

Это сбивает с толку меня тоже; Я никогда не делал ключ в мягкой вилки материала примерно до третьего или четвертого раза я смотрел на этот код.

Имейте в виду, Bitcoin был довольно плохой программной инженерии в v0.1, так что найти функции, которые оказались бы плохо продумана не должно удивлять.
Peter Todd сейчас офлайн Пожаловаться на Питер Тодд   Ответить с цитированием Мультицитирование сообщения от Peter Todd Быстрый ответ на сообщение Peter Todd



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW