Na početku svakog bloka transakcija nalazi se tzv.
coinbase transakcija. Ona donosi nagradu onome tko je uspješno
izrudario blok. Sama nagrada sastoji se od subvencije za blok
(trenutačno 25 BTC) te od naknada za sve transakcije u bloku.
Primjer strukture coinbase transakcije je
Version
|
1
|
Inputs
|
|
Prevoius hash
|
0
|
Index
|
0xFFFFFFFF
|
ScriptSig
|
03dae7052f4249503130302f040e7164560902c8108999000000d3072f425443432f20
|
Sequence
|
0
|
Outputs
|
|
Value
|
2510629190
|
ScriptPubKey
|
76a9142c30a6aaac6d96687291475d7d52f4b469f665a688ac
|
Locktime
|
0
|
U odnosu na ostale transakcije, coinbase transakcija je
pojednostavljena. Nema referencu na prethodnu transakciju jer stvara
nove bitcoine, a ne preuzima već postojeće. Budući da se ne
referira na prethodnu transakciju, nema niti indeks prethodnog
izlaza.
Coinbase transakcija nije niti potpisana digitalnim
potpisom nego se polje ScriptSig koristi kao tzv. extra nonce polje.
Često polje nonce u zaglavlju transakcije nije dovoljno veliko da bi
se moglo samo koristiti za pretraživanje svih mogućih vrijednosti
noncea. Zato se ono dopunjava poljem ScriptSig u koje se upisuje dio
noncea koji nije stao u zaglavlje. Na taj način rudari dobivaju više
mogućnosti za kombiniranje.
BIP34
Osim što služi kao extra nonce, u prvi bajt polja
ScriptSig zapisuje se i visina bloka u kojem se nalazi coinbase
transakcija. To osigurava da je hash svakog idućeg bloka i
transakcije jedinstven. Format zapisa je broj bajtova u visini te
sama visina zapisana u little endian formatu. U gornjem primjeru to
je "03dae705", odnosno "03" bajta za visinu te
visina u little endian formatu "dae705", odnosno u big
endianu 05e7da te u decimalnom formatu 387034. Blok 227835 je prvi
blok takvog formata te on i svi sljedeći imaju verziju 2.
No comments:
Post a Comment