Входы указывают на прежние выходы
Транзакция содержит версию, входы, выходы и nLockTime. Вход называет txid и индекс прежнего UTXO, сумму и скрипт которого узел берёт из своего состояния. Сумма входов минус сумма выходов образует комиссию.
Сериализация точна
Поля превращаются в строго упорядоченные байты, поэтому малое изменение даёт другой хеш. txid использует базовое представление, wtxid по BIP 141 также witness; без witness они совпадают.
Witness отделён от txid
До SegWit иногда можно было изменить запись подписи и txid, не меняя получателя. Witness входа SegWit не входит в txid, но остаётся связан через wtxid и обязательство внутри блока.
Sighash задаёт область
SIGHASH_ALL обычно связывает входы и выходы по правилам версии скрипта. Другие флаги намеренно позволяют менять отдельные части, поэтому подписант должен проверить получателей, сдачу, суммы и комиссию.