https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29
Последним этапом транзакции pay to хэш pubkey является проверка подписи хэша tx и pubkey предыдущей транзакции.
Но как интерпретатор сценария узнает, что сиг является подписью предыдущего хэша перехода, что, если сиг является подписью какого-то другого контента?
Но откуда интерпретатор скрипта знает, что сиг — это сигнатура предыдущего хэша перехода, что, если сиг — это сигнатура какого-то другого контента?
Он также сравнивает подписанные данные с самим хешем транзакции. В общем, так работают цифровые подписи. Если данные не подписаны правильным ключом и хэш данных не совпадает , то подпись недействительна. См. src/script/interpreter.cpp L#1264 .
Этот процесс проверки гарантирует две вещи:
1. У человека есть закрытый ключ, который соответствует предоставленному открытому ключу.
2. Данные не были изменены.
Карпемер
Дж.Бачук
Карпемер