Описание тега gaspesie
Подпись покрывает все, кроме самой подписи. С подписью и открытый ключ составляют входной скрипт для наиболее распространенного типа платежа (оплата-по умолчанию хэш-код), входной скрипт не является частью подписанных данных. Это означает, что сценарий может быть изменен и не нарушать подписанные транзакции в качестве входной скрипт, эквивалентная исходной входной скрипт. В связи с недавним нападением сделал это путем изменения одного из опкодов сценарий к эквивалентному коду. Так что новый сценарий был действительным и выполнял ту же функцию. Но, поскольку код был изменен, хэш транзакции разные.
После того как транзакция является частью блока, хэш транзакции не может быть изменен, так как он теперь включен в дерево Меркле для блока. Поэтому окно атаки только с момента начала операции и до Шахтера включит ее в блок. В течение этого окна, модифицированной операции могут транслироваться и это гонка, чтобы увидеть, кто делает это в блок. Единственное, что утрачивает никогда не будут подтверждены, поскольку она тратит ресурсы, на которые уже потрачены. Неважно, кто победит, монеты передаются для правильного назначения.
Проблема для МФ Gox (и другие) они отслеживают транзакции на основе его идентификатора транзакции. Если измененный сделки выигрывает и будет включена в блок, первоначальной сделки будут отменены. Тогда это привело МФ Gox думать, что деньги не отдал (с ID транзакции не было в цепочке блоков) и они могли бы создать новую транзакцию, чтобы снова платить деньги.