UTXO je výstup uzamknutý pravidlom
UTXO je ešte neminutý výstup starej transakcie. Nesie určitú sumu a uzamykací skript nazvaný scriptPubKey. Nová transakcia naň odkáže vo svojom vstupe. Podľa typu výstupu pridá scriptSig, witness alebo oboje. Sú to údaje potrebné na odomknutie.
Uzol nájde pôvodný výstup a skontroluje jeho pravidlo. Podmienkou býva podpis, viac podpisov alebo časový zámok. Môže vyžadovať aj preimage. To je pôvodný údaj, z ktorého vznikol zadaný hash. Sieť nepozná občianske meno ani zámer zmluvy. Overuje iba údaje opísané protokolom.
Script používa zásobník
Zásobník je jednoduchý zoznam hodnôt. Nová položka sa pridáva navrch a operácie potom čítajú alebo menia horné položky. Jedna taká inštrukcia sa volá opcode. Môže porovnať hodnoty, vypočítať hash alebo overiť podpis.
Script nie je bežná aplikácia, nemá všeobecné slučky a nemôže si zavolať údaje z internetu. Nevie sám zistiť cenu na burze ani výsledok zápasu. Také údaje by musel dôveryhodne dodať iný systém. Obmedzenia pomáhajú všetkým uzlom dospieť k rovnakému výsledku.
Hash môže skryť skript až do minutia
P2SH podľa BIP 16 uzamkne výstup hashom redeemScriptu. RedeemScript je celý skript s podmienkami. Odhalí ho až ten, kto výstup míňa. SegWit neskôr priniesol podobný model P2WSH. Taproot používa ďalší model skriptových vetiev.
Hash dokazuje zhodu s pôvodným skriptom, nie však to, že skript je rozumný. Nezaručí ani možnosť obnovy. Peňaženka musí poznať skript, kľúče a ich derivácie. Derivácia je pravidlo na tvorbu ďalších kľúčov. Samotná adresa na obnovu zložitej peňaženky nestačí.
Konsenzus a relay politika nie sú to isté
Konsenzus určuje, čo smie byť v platnom bloku. Relay politika je miestny filter uzla. Určuje, čo uzol prijme do mempoolu a pošle ďalej. Mempool je čakáreň nepotvrdených transakcií. Transakcia môže byť platná pre blok, ale neštandardná pre bežné šírenie.
Vlastný skript s reálnymi peniazmi je rizikový. Jedna chyba môže mince uzamknúť navždy a úspešný test jednej cesty navyše neoverí všetky ostatné vetvy. Bezpečnejšie je používať preverované nástroje a testovať aj obnovu.