Vstup odkazuje na starší výstup
Transakcia obsahuje verziu, vstupy, výstupy a pole nLockTime. Každý vstup označí starší výstup pomocou txid a jeho poradového čísla. Táto dvojica sa nazýva outpoint. Nový výstup určí sumu v satoshi a podmienku ďalšieho minutia.
Vstup nemusí znova tvrdiť hodnotu starého výstupu. Uzol si nájde odkazované UTXO. Overí jeho sumu aj podmienku. Súčet nových výstupov nesmie byť vyšší než súčet vstupov. Rozdiel medzi nimi je transakčný poplatok.
Serializácia určuje presné bajty
Serializácia je prevod polí do presného poradia bajtov. Aj malá zmena vytvorí iný hash a block explorer iba prekladá tieto bajty do čitateľného zobrazenia. Nie je ich pôvodným zdrojom.
txid vzniká dvojitým SHA-256 zo základnej serializácie. BIP 141 pridal wtxid. Ten počíta aj s witness údajmi. Witness obsahuje napríklad podpisy pre SegWit vstupy. Ak transakcia žiadny witness nemá, txid a wtxid sú rovnaké.
SegWit oddelil podpisové údaje od txid
Pred SegWitom mohla tretia strana niekedy upraviť formu podpisových údajov. Ekonomický výsledok ostal rovnaký, ale txid sa zmenilo. Tento jav sa volá transakčná malleability. Komplikoval nadväzujúce nepotvrdené transakcie.
Pri SegWit vstupe witness nevstupuje do txid, no wtxid ho naďalej zahŕňa. Witness sa tiež ukladá v bloku a uzly ho overujú. Jeho Merkleho koreň má kryptografický záväzok v coinbase transakcii. Oddelenie teda neznamená odstránenie podpisov.
Sighash určuje rozsah podpisu
Pred podpisom vznikne digest, teda krátky kryptografický odtlačok. Sighash určuje, ktoré údaje tento odtlačok zahŕňa. Bežný SIGHASH_ALL sa zaväzuje ku všetkým výstupom. Presný výpočet závisí aj od verzie skriptu.
Špecializované režimy môžu rozsah zúžiť. ANYONECANPAY napríklad mení prácu so vstupmi. Také možnosti pomáhajú niektorým protokolom, ale menia význam súhlasu, preto musí podpisujúce zariadenie poznať prevouty, sumy a skripty. Používateľ má skontrolovať adresy, sumy, zmenu aj poplatok.