Mi az a nonce?
A nonce egy szám, amelyet egyszer használnak fel, hogy egy kriptográfiai próbálkozás egyedi legyen. A Bitcoin-típusú bányászatban ez az eldobható érték, amelyet a bányászok addig módosítanak, amíg a blokk hash-e meg nem felel a szabályoknak. Képzeld el úgy, mint amikor újra és újra elforgatod egy szekrény zárjának tárcsáját, amíg a helyére nem kattan.
A nonce mindig véletlenszerű. Nem egészen. Csak annak az adott próbálkozásnak kell egyedinek lennie, ezért a bányászok gyakran sorban próbálják az értékeket, nem pedig véletlenszám-generátorból választanak.
Hogyan működik a nonce?
Íme a bányászat gyors, lépésről lépésre bemutatott menete. Képzelj el egy bányászt a billentyűzetnél, kávéval a kezében, aki gépi sebességgel próbálgatja az értékeket.
- 1. lépés: A bányász összegyűjti a tranzakciókat, és előkészíti a blokk fejlécét.
- 2. lépés: Kipróbál egy nonce-értéket, hash-eli a fejlécet, majd ellenőrzi, hogy az eredmény megfelel-e a hálózat nehézségi szintje által meghatározott célnak.
- 3. lépés: Ha nem sikerül, módosítja az értéket, és újra próbálkozik. Ezt ismétli. Rengetegszer.
- 4. lépés: Amikor végre sikerül, a bányász közzéteszi a blokkot, és bárki ellenőrizheti úgy, hogy hasheli ugyanazt a fejlécet a benne szereplő blokkadatokkal együtt.
- 5. lépés: A következő blokknál új keresés indul. Ugyanaz a játék, új menet.
Igen, ennyi az egész.
Miért fontos a nonce?
Mit nyersz vele?
- Előny: Bárki ellenőrizheti a proof of work működését, így tisztességes marad a blokk-előállítás.
- Nézőpont: A számlapalapú blokkláncokban a nonce-nak is nevezett tranzakciószámláló segít megakadályozni a visszajátszásos támadásokat és a furcsa átrendezési trükköket.
- Jelentősége: Blokkfelfedezőkben, tárcák felületein, bányászati irányítópultokon és fejlesztői eszközökben is találkozhatsz vele.
Blokkfelfedezőt használsz? Ellenőrizd, hogy a blokkban szereplő bányászati nonce-ról van-e szó, vagy egy számlához tartozó tranzakciószámlálóról. Ugyanaz a kifejezés, más feladat.
A nonce főbb jellemzői
A legfontosabb tudnivalók:
- Egyediség: Egy adott kriptográfiai próbálkozásnál egyszer használják fel, utána ugyanott soha többé.
- Módosíthatóság: A bányászatban ez az a szabályozó, amelyet a bányászok tekergetnek, hogy érvényes hash-t találjanak.
- Ellenőrizhetőség: Bárki újraszámíthatja a hash-t, és bizalom nélkül megerősítheti az állítást.
- Korlátozott méret: A Bitcoin 32 bites mezőt kínál, ezért ha az értékek elfogynak, a bányászok más mezőket is módosítanak.
Változatai
Ugyanaz az elnevezés, de többféle változat, amelyet érdemes ismerni:
- Bányászati: A proof of work kereséshez használt érték a blokk fejlécében.
- Extra: A keresési teret kibővítő extra nonce a coinbase-tranzakcióban.
- Számlához kötött: Az Ethereumhoz hasonló blokkláncok tranzakciószámlálója, amely megakadályozza a duplikációkat és kikényszeríti a sorrendet.
- Aláírási: Az ECDSA-aláírásnál használt titkos véletlen érték, amelyet soha nem szabad újra felhasználni, különben kiszivároghatnak a kulcsok.
Ez nem jelszó. A blokkal vagy a tranzakcióval együtt nyilvánosságra kerül, feladata pedig az, hogy a számítás egyedi és ellenőrizhető legyen.
Példa
Egy bányász milliárdszor próbálgatja a fejléc értékeit, amíg olyanra nem talál, amelynek hash-e hosszú nullasorozattal kezdődik, majd közzéteszi a blokkot.
Érdekesség
A nonce a középangol „for the nonce” kifejezésből ered, amelynek jelentése: az alkalomra. A kriptográfusok már réges-rég átvették ezt a kifejezést az egyszer használatos számok megnevezésére, jóval a GPU-k és a memecoinok megjelenése előtt.
Összefoglalás
Röviden: ez az egyszer használatos szám teszi lehetővé a proof of work és számos kriptós trükk működését, közvetítő nélkül.