Čo je to Nonce? Nezmyselný ponor do dokladu o práci

Nonce je ústrednou súčasťou algoritmu ťažby dôkazov o práci (PoW) pre blockchainy a kryptomeny ako bitcoin. Baníci medzi sebou súťažia nájsť nonce, ktorý produkuje hash s hodnotou menšou alebo rovnakou ako tá, ktorá je nastavená sieťovou obtiažnosťou. Ak baník nájde takého nonce, nazývaného a zlaté nonce, potom získajú právo pridať tento blok do blockchainu a získať blokovú odmenu.

Nonce je náhodné, jednorazové, celé číslo. Ťažiari každú sekundu otestujú a vyhodia milióny noncesov. Dúfajú, že vyprodukujú hashovaciu hodnotu, ktorá splní cieľ, a tak vyhrajú blokovú odmenu. To sa deje počas ťažby PoW na najzákladnejšej úrovni, aj keď je toho oveľa viac. Tu budeme skúmať celý účel nonce v celom procese ťažby.

Stavebné bloky s nonces

Nonce je 32-bitové číslo. Zostane v hlavičke bloku spolu s ďalšími kľúčovými údajmi, ako napríklad cieľ obtiažnosti a časová pečiatka. Keď baníci stavajú bloky, náhodne vyberú nonce a zadajú ho do hlavičky bloku, čím vytvoria nový hash hlavičky bloku.

Hodnota hash je 256-bitové číslo a musí začínať obrovským počtom núl, to znamená, že majú neuveriteľne malú hodnotu. Ak nemá dostatočný počet núl, potom baník zahodí hash a skúsi nové nonce. Tento proces sa opakuje, až kým baník neobjaví nonce, ktorý vytvorí hash s hodnotou menšou alebo rovnakou ako tá, ktorá je nastavená podľa obtiažnosti.

Bloková štruktúra

32-bitová veľkosť nonce znamená, že existujú štyri miliardy možných kombinácií. Aj keď je to technicky, je oveľa vyššia kvôli niečomu, čo sa volá extra nonce. Toto je ďalší priestor pre dlhšie nonce, čo znamená, že môžete mať desiatky miliárd kombinácií.

Nonce je jediný parameter, ktorý miner mení, všetky ostatné zostávajú statické. Ak baník nájde zlaté nonce, pridá tento blok do blockchainu a získa blokovú odmenu. V súčasnosti neexistuje spôsob, ako urýchliť proces hľadania správneho nonce. To znamená, že baníci len pracujú v pokusoch a omyloch, kým nenájdu zlatú nonce. Tento proces predstavuje: práca, na doklade o praci.

Vzťah k ťažobným ťažkostiam

Ako sme už povedali, baník sa snaží nájsť nece, ktoré produkuje hash pod hodnotou stanovenou sieťovou náročnosťou. Bitcoinový protokol nastavuje túto ťažobnú náročnosť. Ako sa zvyšuje obtiažnosť, cieľová hodnota hash klesá. To znamená, že na začiatku hash čísla musí byť viac núl. Pravdepodobnosť nájdenia nižšej hodnoty hash klesá, a tak musia baníci testovať viac nonces. Keď baník hašuje blok, hash musí mať hodnotu rovnakú alebo menšiu ako cieľové číslo, aby bol úspešný.

Pri ťažbe bitcoinu sa obtiažnosť upravuje každých 2016 blokov. Takto to funguje každé dva týždne. Ostatné PoW blockchainy však majú rýchlejšie úpravy. Napríklad litecoin, pretože jeho kratší čas blokovania sa jeho obtiažnosť upravuje každé tri a pol dňa. Na druhej strane digibajt upravuje svoju náročnosť na každom bloku v reálnom čase.

Prečo je dôležitá úprava

Ak by sa obtiažnosť neprispôsobila, existoval by lineárny vzťah medzi hashovacou silou a blokovanými odmenami. Keď sa k sieti pripojí viac baníkov a zvýši sa hashovacia sila, došlo by k zodpovedajúcemu zvýšeniu odmien za bitcoiny. To by podlomilo kontrolu inflácie na bitcoinovom protokole a tým aj na jeho vlastnostiach zdravých peňazí.

Našťastie, vďaka obtiažnosti nastavenia, sa môžu blokové odmeny udržať relatívne stabilné každé dva týždne. Obtiažnosť sa však dá upraviť aj nižšie. Ak ziskovosť ťažby zmizne, ťažiari zastavia činnosť a hash klesne. Obtiažnosť sa potom primerane upraví. Vidíme to teraz už niekoľko mesiacov v sieti bitcoinov od ťažkosti vrcholili 4. októbra.

Na bitcoinoch bude bitcoinový klient po každých blokoch 2016 porovnávať reálny čas pre každý blok, ktorý sa má vygenerovať, s cieľovým časom. Potom primerane upraví obtiažnosť. Cieľom je dosiahnuť, aby baníci vyrábali bloky čo najbližšie presne desať minút.

Ochrana zabezpečenými hašovacími algoritmami

Odolnosť algoritmu SHA-256 bráni baníkom v tom, aby boli schopní urýchliť a oklamať proces pokusov a omylov. SHA-256 patrí do rodiny bezpečných hash algoritmov SHA-2 a bol vydaný NSA v roku 2001. Ak by bol tento algoritmus prelomený, čo sa stalo s triedou kryptografických hash algoritmov SHA-1, potom by bol narušený proces PoW..

Existuje niekoľko spôsobov, ako prelomiť hashový algoritmus. To znamená, že dokážeme rýchlejšie obísť metódu pokusu a omylu a rýchlejšie nájsť správne nety. Kolízne útoky sú najnovším a najefektívnejším spôsobom, ako to dosiahnuť.

Celým účelom bezpečného hash algoritmu je zabezpečiť jedinečnosť hash. Keď sú dáta hašované, vstupy by mali vytvoriť úplne jedinečné hašovacie číslo. Jediný spôsob, ako sa dá replikovať to isté číslo, je s úplne rovnakými vstupmi, vrátane nonce. Kolízny útok však znamená, že z rôznych vstupov možno vyprodukovať rovnaký hash. Zlomyseľný herec to dokáže s dostatočnými výpočtovými prostriedkami. To úplne podkopáva účel bezpečného hash algoritmu.

Funkcia hash

Teraz, keď sa ukázalo, že kolízny útok je účinný proti algoritmom SHA-1, už sa na ne nemožno spoliehať. Útok bol čiastočne možný vďaka obrovskému pokroku v napájaní počítača za posledné desaťročie.

V určitom okamihu, keď sa výpočtové výkony dostatočne zvýšia, bude SHA-256 voči takýmto útokom tiež zraniteľný. Vývojári bitcoinu by to však mali vedieť dávno predtým, ako sa to stane. Je to tak preto, lebo sa takmer vždy ukáže, že takéto útoky sú teoreticky možné, skôr ako sa v skutočnosti preukážu ich skutočné výsledky. Tím Bitcoin Core by sa mal potom otočiť smerom k novšiemu a tvrdšiemu algoritmu.

Je tiež potrebné poznamenať, že väčšina autentifikačných protokolov na internete v súčasnosti používa algoritmy SHA-2. Keby sa zo dňa na deň stali zraniteľnými, potom by sme mali veľké globálne problémy ďaleko za hranicami ťažby bitcoinu.

Hodnota dokladu o práci

Baníci používajú svoj hardvér na testovanie týchto nepriaznivých javov rýchlosťou miliónov za sekundu. Skutočnosť, že neexistuje spôsob, ako rýchlo zistiť, čo predstavuje smenu, udržuje PoW otvorený a spravodlivý systém.

Výhodou tohto systému je, že vyžaduje obrovské množstvo energie, času a kapitálu na vyriešenie správnej hodnoty a získanie odmeny. Zároveň je však neuveriteľné ľahké pre ostatné uzly overiť správnu hodnotu. Táto dichotómia udržuje sieť v bezpečí a poskytuje jednoduchý spôsob, ako dosiahnuť konsenzus.

Nakoniec je potom nonce iba jednou malou časťou procesu ťažby bitcoinov. Zohráva však rozhodujúcu úlohu pri udržiavaní svojej integrity. Nonce je jediná a jediná vec, ktorú miner zmení, aby našiel dostatočnú hodnotu hash. Je to skutočne plynový pedál, brzda a spojka pre celé nastavenie.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map