Mi van egy blokkban: fejléc, magasság, méret és támogatás
A blokk egy kis, rögzített fejléc és egy tranzakciókat tartalmazó törzs. A fejléc hat mezője, mit hashel a bányászat, és mit jelent a magasság és a méret.
Miből áll egy blokk?
Egy blokknak két része van, a fejléc és a törzs. A bányászat csak a fejlécet hasheli.
- A törzs tartalmazza a tranzakciókat. Lehet néhány száz bájt vagy több megabájt is, attól függően, mennyire forgalmas a lánc.
- A fejléc a blokk rögzített összefoglalója. A legtöbb láncon pontosan 80 bájt.
- A bányászat a fejlécet hasheli, és semmi mást.
Ez az utolsó pont a cikk leghasznosabb ténye. Egy bányászprogram másodpercenként milliárdnyi változatot próbál ki. Nem tudná megtenni, ha minden próbálkozás egy tranzakciókkal teli blokk újrahashelését jelentené. Csak 80 bájtot hashel újra.
Mi a fejléc hat mezője?
A fejléc hat mezőt tartalmaz. Mindegyik okkal van ott, és kettő közülük végzi a munka nagy részét.
- A verzió.
- Az előző blokk hashe.
- A merkle gyökér, egyetlen hash, amely minden tranzakciót összefoglal.
- Egy időbélyeg.
- A nehézségi bitek.
- A nonce, egy számláló, amelyet a bányász szabadon változtathat.
Az előző blokk hashe fűzi lánccá a blokkokat. Minden fejléc megnevezi az előtte lévő blokkot. Egy régi blokk átírása megváltoztatná a hashét. Ez elrontaná a következő fejlécet, aztán az azutánit, egészen a lánc csúcsáig. Ez az egy mező a proof of work teljes biztonsági érve.
A merkle gyökér a törzs minden tranzakcióját összefoglalja. Ha egyetlen tranzakció akár egy bájttal is megváltozik, a merkle gyökér is megváltozik. Ekkor a fejléc is megváltozik, és minden addig kipróbált hash értéktelen. Így képviselhet tisztességesen 80 bájt bármekkora blokkot.
A nehézségi bitek tömör formában adják meg a célértéket, amely alá a hashnek kerülnie kell. Az időbélyeg nagyjából azt mutatja, mikor készült a blokk, és lehet pontatlan. A nonce az a mező, amelyet a bányász szabadon változtathat. Ez a szabadság teszi egyáltalán lehetővé a keresést.
Mi történik, ha elfogy a nonce?
A nonce egy kis számláló. Egy modern bányászprogram szinte azonnal végigmegy minden lehetséges értékén. Ez nem zsákutca. A nonce csak a legkönnyebben változtatható dolog, nem az egyetlen.
Amikor elfogy, a bányász valami mást változtat meg, ami a fejlécbe kerül.
- Az időbélyeg elmozdulhat.
- A coinbase tranzakció (a blokk első tranzakciója, lent elmagyarázzuk) kicsit módosítható. Ez megváltoztatja a merkle gyökeret, ami egy teljesen új fejlécet ad a kereséshez.
Egy poolban erre szolgál az extra nonce. A pool minden bányásznak más kiindulópontot ad. Így két bányász sosem próbálja ugyanazokat a számokat.
Mi a blokkmagasság?
A blokkmagasság azt mutatja, hány blokk előzött meg egy adott blokkot. A genezis blokk, a legelső, a nulla magasságú. A következő az egyes, és így tovább. Ez a szám áll minden bejegyzés mellett a pool blokkoldalán és bármelyik blokkböngészőben.
A magasságot valójában nem tárolja a fejléc. Abból adódik, hol áll a blokk a láncban.
A legtöbb modern láncon a magasságot a coinbase tranzakcióba is beírják. Ezt a szabályt később vezették be, hogy két különböző magasságú blokk soha ne legyen bájtra azonos. Ettől még a blokk magasságára a mérvadó válasz a pozíciója.
A magasság a megerősítések számolásának is a természetes módja. Egy hat blokk mélyen eltemetett tranzakció a csúcs alatt hat hellyel lévő blokkban van. Minden további blokk drágábbá teszi az átírását.
Mit mér a blokkméret?
A blokkméret lényegében a törzs mérete. A fejléc mellette elhanyagolható. A blokkméret-korlát arról szól, hány tranzakció fér bele, nem a fejlécről.
Egy teli és egy üres blokk pontosan ugyanannyi bányászati munkába kerül. A nehézség dönti el, milyen nehéz megtalálni egy blokkot. A méret dönti el, mennyit szállít a blokk. A kettőnek nincs köze egymáshoz, és összekeverésük sok téves elképzeléshez vezet a díjakról.
A méret a díjpiacra hat. Ha több tranzakció akar bekerülni, mint amennyi elfér, a magasabb díjat kínálók kerülnek be előbb. A blokk összes díja nő, és ez egyenesen abba folyik bele, amit a blokk fizet.
Mi a coinbase tranzakció?
Minden blokk első tranzakciója különleges. Nincs feladója. A semmiből hoz létre érméket, és annak fizeti ki őket, aki a blokkot készítette.
Ezt nevezik coinbase tranzakciónak. Semmi köze az azonos nevű tőzsdéhez.
Ez fizeti ki a blokkjutalmat, amelynek két része van.
- A támogatás, vagyis az újonnan kibocsátott érmék. A lánc kibocsátási ütemterve határozza meg, és a legtöbb érménél idővel csökken.
- A blokk összes többi tranzakciójának díja. A felhasználók azért csatolják ezeket, hogy a tranzakciójuk bekerüljön.
Egy poolban a coinbase a poolnak fizet. A pool ezután szétosztja a jutalmat mindenki között, aki abban a körben részesedést küldött. Ez nem kerülőút. Így tud egy pool sok embert kifizetni egy olyan jutalomból, amely egyetlen oszthatatlan kifizetésként érkezik.
Miért számít ez bányászat közben?
Ha egyszer világos a blokk felépítése, három dolog nyilvánvalóvá válik. Mindhárom folyton előkerül.
- Egy új blokk azonnal értéktelenné teszi a munkáját. Az előző blokk hashe megváltozott, így a fejléc, amelyben keresett, már nem létezik. Amit utána beküld hozzá, az elavult részesedés, és ezen semmilyen sebesség nem segít.
- A pool gyakran küld Önnek friss munkát. Minden új tranzakció, amelyet a pool bele akar venni, megváltoztatja a merkle gyökeret. A frissebb munka több díjat hordoz, vagyis ugyanazért az erőfeszítésért nagyobb jutalmat.
- A blokkméret sosem jelenik meg egy hozambecslésben. A keresete a nehézségtől, a támogatástól és a díjaktól függ. A törzs bájtjaitól nem függ.
A pool blokkoldala minden blokknál mutatja a magasságot, a jutalmat és azt, hogy mikor találták. Ez a sor a fentiek hasznos része. A blokkböngésző mutatja a többit, köztük a coinbase tranzakciót, amely kifizette.