Friday, May 23, 2014

Standardne transakcije


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