Šta je nonce?
Nonce je broj koji se koristi jednom kako bi kriptografski pokušaj bio jedinstven. Kod rudarenja po Bitcoin principu, to je vrednost za jednokratnu upotrebu koju rudari menjaju dok hash bloka ne ispuni uslove. Zamislite da okrećete brojčanik na sefu iznova i iznova dok se ne otključa.
Nonce je uvek nasumičan. Ne baš. Važno je samo da bude jedinstven za taj pokušaj, pa rudari često isprobavaju vrednosti redom, a ne pomoću generatora nasumičnih brojeva.
Kako nonce funkcioniše
Evo ukratko kako izgleda rudarenje. Zamislite rudara za tastaturom, s kafom u ruci, koji isprobava vrednosti brzinom računara.
- Korak 1: Rudar prikuplja transakcije i priprema zaglavlje bloka.
- Korak 2: Isprobava vrednost nonce-a, izračunava hash zaglavlja, a zatim proverava da li rezultat ispunjava cilj koji je zadala težina mreže.
- Korak 3: Ako ne uspe, menja vrednost i pokušava ponovo. I tako ispočetka, mnogo puta.
- Korak 4: Kada konačno uspe, rudar emituje blok, a svi mogu da ga provere izračunavanjem hasha istog zaglavlja i uključenih podataka o bloku.
- Korak 5: Za sledeći blok počinje nova pretraga. Ista igra, novi krug.
Da, to je to.
Zašto je nonce važan
Šta vi dobijate time?
- Prednost: Omogućava svakome da proveri dokaz rada, što doprinosi poštenom stvaranju blokova.
- Kontekst: U lancima zasnovanim na nalozima, brojač transakcija koji se naziva nonce pomaže u sprečavanju napada ponavljanjem i raznih trikova s promenom redosleda.
- Gde se koristi: Videćete ga u istraživačima blokova, interfejsima novčanika, kontrolnim tablama za rudarenje i alatima za programere.
Gledate istraživač bloka? Proverite da li je reč o nonce-u za rudarenje u bloku ili brojaču transakcija za nalog. Ista reč, različita uloga.
Ključne karakteristike nonce-a
Najvažnije stvari:
- Jedinstvenost: Koristi se jednom za određeni kriptografski pokušaj, a zatim se na tom mestu nikada više ne koristi.
- Promenljivost: U rudarenju, to je vrednost koju rudari menjaju u potrazi za važećim hashom.
- Proverljivost: Svako može ponovo da izračuna hash i potvrdi tvrdnju, bez potrebe za poverenjem.
- Ograničenost: Bitcoin nudi polje od 32 bita, pa rudari menjaju i druga polja kada iscrpe sve mogućnosti.
Varijante
Isti naziv, nekoliko varijanti koje vredi poznavati:
- Rudarenje: Vrednost u zaglavlju bloka koja se koristi u potrazi za dokazom rada.
- Dodatni: Dodatni nonce smešten u coinbase transakciju radi proširenja prostora za pretragu.
- Nalog: Brojač transakcija u lancima poput Ethereuma koji sprečava duplikate i određuje redosled.
- Potpis: Tajna nasumična vrednost pri ECDSA potpisivanju koja se nikada ne sme ponoviti, jer bi u suprotnom privatni ključevi mogli da procure.
To nije lozinka. Objavljuje se zajedno s blokom ili transakcijom, a služi da proračun bude jedinstven i proverljiv.
Primer
Rudar milijardama puta prolazi kroz vrednosti u zaglavlju dok jedna ne učini da hash počinje dugačkim nizom nula, a zatim šalje blok.
Zanimljivost
Nonce potiče od izraza „for the nonce” u srednjoengleskom, koji znači „za ovu priliku”. Kriptografi su ga davno usvojili za brojeve koji se koriste jednom, mnogo pre GPU-ova i memecoina.
Zaključak
Ukratko: to je broj koji se koristi jednom, a zahvaljujući kojem dokaz rada i mnogi kripto-mehanizmi zaista funkcionišu, bez posrednika.