Co je proof of work?
Definice · Proof of work (PoW)
Systém, ve kterém právo přidat blok získá ten, kdo jako první najde hash hlavičky bloku nižší než cílová hodnota. Najít ho vyžaduje obrovské množství pokusů, ověřit ho stačí jedním výpočtem hashe.
Satoshi Nakamoto ho popsal v Bílé knize Bitcoinu v 2008. Navázal přitom na Hashcash Adama Backa, starší nápad, jak prodražit e-mailový spam. Platný hash je důkaz. Bez vykonání práce ho nezískáš a každý může ověřit, že jsi ji vykonal.
Zbytek této stránky vysvětluje jednotlivé části. V poli výše si je můžeš vyzkoušet: jde o skutečný formát hlavičky Bitcoinu, který se počítá přímo v prohlížeči. Celkový přehled o těžbě najdeš v našem kompletním průvodci těžbou Bitcoinu.
Jaký problém řeší proof of work?
Bitcoin nemá žádnou firmu, banku ani server, který by ho řídil. Tisíce počítačů uchovávají vlastní kopii účetní knihy a musí se shodnout na tom, který blok bude následovat a v jakém pořadí proběhly platby. Jinak by někdo mohl utratit stejnou minci dvakrát.
Jednoduché hlasování online nefunguje, protože kdokoli může spustit tisíc falešných počítačů a hlasovat tisíckrát. Říká se tomu Sybil útok. Důkaz práce tento problém obchází: tvůj vliv se měří v hashech a ty vyžadují elektřinu a hardware.
Kdo rozhoduje o dalším bloku?
Jeden hlas za každý uzel
Jeden útočník si zdarma vytvoří 60 falešných uzlů a přehlasuje 12 poctivých.
Jeden hlas za každý hash
poctiví těžaři 88%útočník 12%
Stejné uzly (60) sdílejí skutečný hardware útočníka, takže dohromady mají pořád jen 12 %. Kopie jsou zadarmo, hashe ne.
Co obsahuje hlavička bitcoinového bloku?
Těžaři nepočítají hash celého bloku. Počítají hash jeho hlavičky o velikosti 80 bajtů, která obsahuje závazek ke všemu ostatnímu. Tady je šest polí, která jsi upravil v rámečku nahoře:
| Pole | Bajty | Co obsahuje | Kdo ho mění |
|---|---|---|---|
| Verze | 4 | Jakými pravidly se blok řídí | Mění se jen zřídka |
| Hash předchozího bloku | 32 | Hash předchozího bloku, který propojuje řetězec | S každým blokem se mění |
| Merkleův kořen | 32 | Jeden otisk všech transakcí v bloku | Těžař, když se změní transakce nebo extra nonce |
| Čas | 4 | Kdy podle těžaře blok vznikl (unixový čas) | Těžař, v rámci limitů |
| Bity | 4 | Cílová hodnota zabalená do 4 bajtů | Síť, každých 2 016 bloků |
| Nonce | 4 | Číslo, které můžeš zdarma zkoušet znovu | Těžař, při každém pokusu |
Protože hlavička obsahuje hash předchozího bloku, změna starého bloku změní jeho hash. Tím přestane odpovídat následující hlavička a po ní i další. Skutečný blok geneze z 2009 jsme na našem serveru při vytvoření této stránky ověřili stejným kódem, jaký používá ukázka nahoře:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Jak funguje SHA-256 v Bitcoinu?
SHA-256 převede libovolný vstup na 256-bitové číslo zapsané jako 64 hexadecimálních znaků. Bitcoin ho na hlavičce počítá dvakrát (říká se tomu SHA-256d). Pro těžbu jsou důležité tyto vlastnosti:
Stejný vstup, stejný výstup
Deterministické
Stejná hlavička vždy vytvoří stejný hash, ať ji počítáš na jakémkoli počítači. Proto ji lze ověřit.
256 bitů
Pevná velikost
Ať jde o krátký řádek, nebo celou knihu, hash má vždy 64 hexadecimálních znaků.
Jednosměrné
Cesta zpět neexistuje
Vstup, který by dal požadovaný hash, si nemůžeš vypočítat. Můžeš jen zkoušet různé vstupy.
≈ 50%
Lavina
Změň jeden znak a změní se zhruba polovina bitů. Sleduj mřížku v úvodní grafice.
Tato poslední vlastnost je základem proof of work. Hash blízký cílové hodnotě nic neříká o dalším pokusu, takže k platnému bloku nevede žádná chytrá zkratka. Všichni těžaři hrají stejnou loterii a vyšší počet hashů za sekundu jim jen kupuje víc losů.
Co je target a proč ty úvodní nuly?
Cílová hodnota je 256bitové číslo. Blok je platný, když jeho hash převedený na číslo této hodnotě odpovídá nebo je nižší. Nižší čísla začínají nulami, takže nižší cílová hodnota se projeví větším počtem úvodních nul. Každá další hexadecimální nula znamená v průměru 16krát více pokusů.
Průměrný počet hashů potřebných k nalezení platného bloku
- Ukázkový blok v úvodním panelu · 4 úvodních hexadecimálních nul65,536
- Nejjednodušší cíl Bitcoinu (2009) · 8 úvodních hexadecimálních nul, bity 1d00ffff4,294,967,296
- Dnešní blok Bitcoinu · přibližně 20 úvodních hexadecimálních nul (aktuální odhad)5.7 × 1023
Síť upravuje cílovou hodnotu každých 2 016 bloků, tedy zhruba jednou za dva týdny, aby bloky dál přibývaly přibližně každých deset minut bez ohledu na to, kolik hashratu se připojí nebo odpojí. Aktuálně síť dosahuje výkonu asi 957 EH/s (živý údaj, aktualizovaný každou hodinu). Jak tato úprava funguje, vysvětluje náš průvodce obtížností těžby Bitcoinu a jednotkám se věnuje vysvětlení hashratu.
Co je nonce a co je extra nonce?
Nonce („číslo použité jednou“) je pole o velikosti 4 bajtů, které těžaři mění při každém pokusu. Je to jediné pole určené výhradně ke změnám. Problém je, že z 4 bajtů lze získat jen asi 4,3 miliard hodnot a moderní stroje je vyčerpají téměř okamžitě.
Smyčka těžaře
- 01
Vyzkoušet všechny nonce
0, 1, 2 a tak dál až do 4 294 967 295. To jsou všechny hodnoty, které se vejdou do 4 bajtů.
- 02
Rychle dojdou
Jediný stroj s výkonem 100 TH/s je všechny zpracuje asi za 43 miliontin sekundy.
- 03
Změň extra nonce
Těžař upraví volné pole ve vlastní transakci s odměnou (coinbase).
- 04
Nový Merkleův kořen
Tato transakce se změnila, takže se změnil i merkle root a každý nonce teď znovu dává nové hashe.
Těžaři proto mění i extra nonce, několik volných bajtů v coinbase, první transakci bloku, která vyplácí odměnu těžaři. Nová coinbase znamená nový merkle root, a tím miliardy nových nonce k vyzkoušení. V těžebním poolu pool každému těžaři přidělí vlastní rozsah extra nonce, aby nikdo neopakoval práci někoho jiného.
Proč je náročné blok najít, ale snadné ho ověřit?
Nalezení bloku
≈ 5.7 × 1023 hashů
Celá síť, všechny její stroje, zhruba deset minut hádání.
Průběžný odhad, aktualizuje se každou hodinu.
Ověření
1 hash
Každý uzel, i levný notebook, vypočítá hash hlavičky o 80 bajtech a porovná ho s cílovou hodnotou za mnohem méně než milisekundu.
Těžař musí zkoušet hashe, dokud nenajde takový, který je nižší než cílová hodnota. Ostatním stačí jednou spočítat hash hlavičky a porovnat ho s cílovou hodnotou. Právě tato nerovnoměrná náročnost umožňuje tisícům běžných počítačů ověřovat řetězec, aniž by musely důvěřovat těžařům, kteří ho vytvořili.
Níže si můžeš vyzkoušet samotné hledání. Tato ukázka používá jednodušší formát bloku než úvodní panel, ale jde o stejnou loterii s dvojitým SHA-256 a každý nalezený blok odkazuje na předchozí.
Interaktivní · vytěž blok v prohlížeči
Skutečný SHA-256d proof of work, zjednodušená hlavička
Hash bloku (dvojité SHA-256)
Uprav transakce: hash se i kvůli jednomu písmenu úplně změní.
Pokusy: 0
Tvůj hashrate: n/a
Čas: 0,0 s
Jak funguje pravidlo nejdelšího řetězce a co je útok s 51 % hashratu?
Někdy dva těžaři najdou blok téměř ve stejnou chvíli a síť má krátce dvě verze řetězce. Uzly následují řetězec, za kterým stojí nejvíc práce. Říká se mu nejdelší řetězec, ale ve skutečnosti jde o ten nejtěžší: několik bloků s vysokou obtížností může převážit nad větším počtem bloků s nízkou obtížností.
Aby útočník platbu zvrátil, musel by od bloku před touto platbou vytvořit těžší řetězec než všichni ostatní. Každý další blok navrchu (potvrzení) zvětšuje jeho náskok. Whitepaper vypočítal pravděpodobnost. Posuň jezdec a podívej se:
Interaktivní · může útočník dohnat náskok?
Vzorec z bílé knihy Bitcoinu, oddíl 11
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Počet bloků, o které útočník zaostává (potvrzení). Sloupce používají logaritmické měřítko, od šance jedna ku milionu až po jistotu.
Při 10 % hashratu je šance přepsat platbu po 6 potvrzeních 0,024 % a po 1 potvrzeních 20,5 %.
Při 50% nebo více útočník nakonec zvítězí. To je útok s 51 %. Je vážný, ale má své meze:
S většinovým podílem hashratu může útočník
- Nahradit nedávné bloky vlastním řetězcem
- Dvakrát utratit mince, které poslali sami sobě
- Vynechat některé transakce ze svých bloků
Ani tak nemůžou
- Utrácet mince z peněženek jiných lidí
- Vytvářet mince nad rámec odměny za blok
- Změnit pravidla Bitcoinu pro všechny ostatní
Proto burzy u velkých vkladů čekají na několik potvrzení. Šest je obvyklé orientační pravidlo.
Proč proof of work spotřebuje tolik energie?
Protože energie zajišťuje bezpečnost. Platný blok dokazuje, že se spotřebovala skutečná elektřina. Aby útočník přepsal historii, musí spotřebovat přinejmenším stejné množství energie znovu a pokračovat ve spotřebě, zatímco poctivá síť postupuje dál.
Kam se spotřebuje energie a co za ni získáš
Odměna za blok a poplatky
Nové BTC a poplatky za každý blok získá ten, kdo ho najde.
Zařízení a elektřina
Těžaři jsou ochotni utratit až tolik, kolik pro ně odměna stojí.
Hashrate sítě
Všechny tyto výdaje se projeví jako počet hashů za sekundu.
Náklady na přepsání historie
Útočník musí vynaložit víc než všichni ostatní dohromady, blok za blokem.
Kolik elektřiny se spotřebuje a odkud pochází, je legitimní téma k debatě. Index Cambridge sleduje odhady a náš průvodce spotřebou energie při těžbě Bitcoinu probírá konkrétní čísla. Každý halving sníží část odměny tvořenou novými mincemi, takže časem musí větší část rozpočtu na zabezpečení pokrýt poplatky.
Důkaz práce vs. důkaz podílem: v čem se liší?
Důkaz podílem (PoS) vybírá tvůrce dalšího bloku z lidí, kteří uzamknou mince jako vklad, místo z těch, kteří spotřebovávají elektřinu. Ethereum přešlo z důkazu práce na důkaz podílem v roce 2022. Tady je férové srovnání vedle sebe:
| Proof of work | Důkaz podílem | |
|---|---|---|
| Kdo přidá další blok | První těžař, který najde hash nižší než cílová hodnota | Validátor vybraný úměrně velikosti svého vkladu |
| Co ho zabezpečuje | Elektřina a hardware spotřebované mimo blockchain | Mince uzamčené v blockchainu, které lze zabavit za podvádění |
| Spotřeba energie | Vysoká záměrně | Nízká |
| Zapojení | Zařízení a levná elektřina | Mince ke stakingu |
| Vypořádání | S každým potvrzením je bezpečnější | Výslovné checkpointy finality |
| Hlavní výtka | Spotřeba energie a koncentrace těžby | Koncentrace podílu a složitější návrh |
| Dosavadní výsledky | Bitcoin od 2009 | Ethereum od 2022 |
Vývojáři Bitcoinu zachovali důkaz prací, protože jeho náklady vznikají mimo systém. Nikdo tak nemůže získat kontrolu pomocí mincí, které už vlastní. Zastánci důkazu podílem poukazují na úsporu energie a rychlejší finalitu.
Can you get mining rewards without running proof of work yourself?
Yes. With CloudMineCrypto you mine bitcoin for free from your phone or browser, with no hardware, noise or power bill. Claim the free 8-hour plan, and add more free plans by watching ads, playing games, completing offers and checking in daily. Your estimated BTC ticks up while your plans run, and you withdraw to your own wallet, Lightning included.
Each plan has a hashrate, and your estimate is that hashrate’s share of the whole network, times 6 blocks an hour, times the block reward. That’s the formula the app uses to estimate your rewards (rules and limits apply). Want more speed? Paid plans are an optional boost for fun. They usually mine less than they cost, and the price is shown before you confirm.
Je dobré vědět: odměny jsou odhady, které se mění podle stavu sítě, a nejsou zaručené. Plán ti nedává vlastnictví žádného stroje ani těžebního poolu. Na výběry se mohou vztahovat limity nebo může být nutné ověření. Podrobnosti najdeš v pravidlech odměn a v bezplatném průvodci těžbou Bitcoinu. Platí podmínky.
Často kladené dotazy
Co je proof of work jednoduše?
Je to způsob, jak zajistit, aby přidání bloku vyžadovalo skutečné úsilí. Těžaři opakovaně počítají hash hlavičky bloku a mění při tom číslo zvané nonce, dokud výsledek není nižší než cílová hodnota. Najít takový hash vyžaduje obrovské množství pokusů, ale kdokoli ho může ověřit jediným výpočtem hashe.
Co je nonce v Bitcoinu?
Číslo o velikosti 4 bajtů v hlavičce bloku, které těžaři mění při každém pokusu. Má asi 4,3 miliard možných hodnot. Když je vyčerpají, změní další nonce uvnitř coinbase transakce. Tím vznikne nový kořen Merkleova stromu a nová sada hashů.
Proč Bitcoin používá SHA-256 dvakrát?
Bitcoin zahashuje hlavičku o 80 bajtech pomocí SHA-256 a pak zahashuje výsledek ještě jednou. Satoshi nikdy nevysvětlil proč. Obvyklý výklad je, že to chrání před útoky s prodloužením délky a přidává další bezpečnostní rezervu.
Co může útočník udělat při útoku s 51 % hashratu?
Někdo, kdo ovládá většinu hashratu, může v soukromí vytvořit delší řetězec a nahradit nedávné bloky. Může tak utratit vlastní mince dvakrát nebo blokovat některé transakce. Nemůže utrácet mince jiných lidí, vytvářet mince nad rámec pravidel ani měnit pravidla pro všechny.
Je důkaz podílem lepší než důkaz prací?
Spotřebovává mnohem méně energie a zabezpečení zajišťují mince uzamčené jako vklad. Důkaz prací váže zabezpečení na vnější náklady, tedy elektřinu a hardware, a Bitcoin na něm funguje od roku 2009. Oba přístupy mají jiné kompromisy, takže záleží na tom, čeho si ceníš.
Can I get bitcoin mining rewards without my own hardware?
Yes. In the CloudMineCrypto app you claim free mining plans (the free plan, ads, games, offers and a daily check-in) and your estimated BTC ticks up while they run, then you withdraw to your own wallet. Rewards are estimates based on your plan’s hashrate and live network data, they aren’t guaranteed, and a plan doesn’t give ownership of any hardware.
Zdroje a další čtení
- Bitcoin: A Peer-to-Peer Electronic Cash System (whitepaper) · Satoshi Nakamoto, bitcoin.org
- Průvodce blockchainem: hlavičky bloků, proof of work, coinbase · Dokumentace pro vývojáře Bitcoinu
- Průvodce těžbou: samostatná těžba, pooly, getblocktemplate · Dokumentace pro vývojáře Bitcoinu
- Obtížnost · Bitcoin Wiki
- Potvrzení · Bitcoin Wiki
- Cambridge Bitcoin Electricity Consumption Index · Cambridge Centre for Alternative Finance
- Přehled těžby: hashrate, obtížnost, poslední bloky · mempool.space
Aktuální údaje na této stránce pocházejí z API CloudMineCrypto nebo z veřejných služeb blockchainových dat uvedených vedle nich. Aktualizují se podle plánu a zdroj je uvedený u každého údaje. Tento průvodce má vzdělávací účel a není finančním poradenstvím. CloudMineCrypto není investiční produkt; odměny v aplikaci jsou odhady a nejsou zaručené.
Už víš, jak to funguje. Teď se na to podívej v praxi.
Získej v aplikaci CloudMineCrypto zdarma 8hodinový těžební plán a sleduj, jak ti podle živých dat ze sítě naskakuje odhad BTC. Bez hardwaru, bez karty.