U Bitcoinu (verziji klijenta 0.9)
postoji pet vrsta standardnih transakcija koje se razvrstavaju prema
formatu izalza. Tih pet vrsta su: plaćanje na javni ključ (pay to
public key, P2PK), plaćanje na hash javnog ključa (pay to publick
key hash, P2PKH), plaćanje na hash skripte (pay to script hash,
P2SH), višepotpisna transakcija te null transakcija
Plaćanje na javni ključ (P2PK)
Ovakav se način plaćanja izbjagava jer nije siguran. Koristi se jedino u coinbase transakcijama kad rudaru treba isplatiti nagradu za točno riješen blok.
scriptSig: <sig>
scriptPubKey: <pubKey> OP_CHECKSIG
Plaćanje na hash javnog ključa (P2PKH)
Ovo je najčešći način plaćanja. Ne koristi se direktno javni ključ nego bitcoin adresa (hash javnog ključa).
scriptSig: <sig> <pubKey>
scriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
Plaćanje na hash skripte (P2SH)
Ovo je kompleksniji način plaćanja od gornja dva. Umjesto hash javnog ključa u skripti se nalazi hash druge skripte. Onaj tko hoće potrošiti bitcoine iz takve tranaskcije, mora umjesto javnog ključa dati skriptu koja kad se hashira, odgovara hashu iz potpisa.
scriptSig: <sig><redeemscript>
scriptPubKey: OP_HASH160 <redeemscripthash> OP_EQUAL
Višepotpisna transakcija (multisig)
Transakcije za koje je potrebno m od n potpisa da bi ih se moglo potrošiti.
scriptSig: <sig1> <sig2>
scriptPubKey: OP_2 <pubKey1> <pubKey2>
<pubKey3> OP_3 OP_CHECKMULTISIG
Null transakcija
Tranaskcija koja se ne može potrošit inego je označana kao nevaljala. U nju je moguće dodati malu količinu podataka koju određeni klijenti mogu interpretirati. Tako rade protokoli izgrađeni na bitcoinu, npr. Colored coins.
scriptSig: OP_RETURN <data>
Sve su ostale transakcije nestandardne. To znači da ako izlaz nije u jednom od pet gorenabrojenih formata, rudari neće prihvaćati niti rudariti takve transakcije.
No comments:
Post a Comment