Što je dokaz rada?
Definicija · Dokaz rada (PoW)
Sustav u kojem pravo dodavanja bloka dobiva onaj tko prvi pronađe hash zaglavlja bloka manji od ciljne vrijednosti. Za pronalazak su potrebni golem broj pokušaja, a za provjeru samo jedan hash.
Satoshi Nakamoto opisao ga je u Bitcoinovoj bijeloj knjizi 2008, nadovezujući se na Hashcash Adama Backa, stariju ideju da slanje neželjene e-pošte učini skupim. Valjani hash dokaz je rada. Ne možeš ga dobiti bez obavljenog rada, a svatko može vidjeti da si ga obavio.
Na ostatku ove stranice prolazimo kroz svaki dio, a u okviru iznad možeš ih isprobati: prikazuje stvarni format zaglavlja Bitcoina, čiji se hash izračunava uživo u pregledniku. Za širu sliku o rudarenju pogledaj naš cjeloviti vodič za rudarenje Bitcoina.
Koji problem rješava dokaz rada?
Bitcoinom ne upravlja nijedna tvrtka, banka ni poslužitelj. Tisuće računala čuvaju vlastitu kopiju knjige transakcija i moraju se složiti oko toga koji blok dolazi sljedeći i kojim su se redoslijedom dogodila plaćanja. U suprotnom bi netko mogao dvaput potrošiti isti bitcoin.
Jednostavno glasanje ne funkcionira na internetu jer svatko može pokrenuti tisuću lažnih računala i glasati tisuću puta. To se zove Sybilov napad. Proof of work zaobilazi taj problem: tvoj se glas mjeri u hashovima, a za hashove su potrebni električna energija i hardver.
Tko odlučuje o sljedećem bloku?
Jedan glas po čvoru
Jedan napadač besplatno pokrene 60 lažnih čvorova i nadglasa 12 poštenih.
Jedan glas po hashu
pošteni rudari 88%napadač 12%
Isti 60 čvorovi dijele stvarni hardver napadača, pa zajedno i dalje vrijede 12%. Kopije su besplatne, hashovi nisu.
Što se nalazi u zaglavlju Bitcoinova bloka?
Rudari ne hashiraju cijeli blok. Hashiraju njegovo zaglavlje veličine 80 bajtova, koje obuhvaća sve ostalo. Ovo je šest polja koja si mijenjao u okviru pri vrhu:
| Polje | Bajtovi | Što sadrži | Tko ga mijenja |
|---|---|---|---|
| Verzija | 4 | Koji skup pravila blok slijedi | Rijetko se mijenja |
| Hash prethodnog bloka | 32 | Hash prethodnog bloka koji povezuje lanac | Novi sa svakim blokom |
| Merkleov korijen | 32 | Jedinstveni otisak svih transakcija u bloku | Rudar, kad se promijene transakcije ili dodatni nonce |
| Vrijeme | 4 | Vrijeme kad rudar navodi da je blok stvoren (Unixovo vrijeme) | Rudar, unutar ograničenja |
| Bitovi | 4 | Cilj zapisan u 4 bajta | Mreža, svakih 2.016 blokova |
| Nonce | 4 | Broj koji možeš besplatno ponovno pokušati | Rudar, pri svakom pokušaju |
Budući da zaglavlje sadrži hash prethodnog bloka, promjena starog bloka mijenja njegov hash, što narušava sljedeće zaglavlje, a zatim i ono nakon njega. Kad smo izradili ovu stranicu, na našem smo poslužitelju provjerili stvarni genesis blok iz 2009, istim kodom koji se koristi u glavnom vizualnom prikazu:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Kako SHA-256 funkcionira u Bitcoinu?
SHA-256 pretvara bilo koji ulaz u broj od 256 bita, zapisan kao 64 heksadekadnih znakova. Bitcoin ga dvaput primjenjuje na zaglavlje (to se naziva SHA-256d). Svojstva važna za rudarenje jednostavna su:
Isti ulaz, isti izlaz
Deterministički
Isto zaglavlje uvijek daje isti hash na svakom računalu. Zato provjera funkcionira.
256 bita
Fiksna veličina
Bio to kratak redak ili cijela knjiga, hash uvijek ima 64 heksadekadskih znakova.
Jednosmjeran
Nema prečaca unatrag
Ne možeš unaprijed odrediti ulaz koji daje željeni hash. Možeš samo isprobavati ulaze.
≈ 50%
Avalanche
Promijeni jedan znak i promijenit će se otprilike polovica bitova. Pogledaj mrežu u glavnom vizualnom prikazu.
To posljednje svojstvo srž je dokaza rada. Hash blizu cilja ne govori ti ništa o sljedećem pokušaju, pa ne postoji pametan način da pronađeš valjan blok. Svaki rudar sudjeluje u istoj lutriji, a više hashova u sekundi samo mu kupuje više listića.
Što je cilj i zašto su važne početne nule?
Cilj je 256-bitni broj. Blok je valjan ako je njegov hash, pročitan kao broj, manji ili jednak cilju. Mali brojevi počinju nulama, pa se niži cilj prikazuje s više početnih nula. Svaka dodatna heksadekadska nula znači 16 puta više pokušaja u prosjeku.
Prosječan broj hashova potreban za pronalazak jednog valjanog bloka
- Probni blok u glavnom prikazu · 4 početnih heksadekadskih nula65,536
- Najlakši cilj za Bitcoin (2009) · 8 početnih heksadekadskih nula, bitovi 1d00ffff4,294,967,296
- Bitcoinov blok danas · oko 20 početnih heksadekadskih nula (trenutačna procjena)4.3 × 1023
Mreža mijenja cilj svakih 2.016 blokova, otprilike svaka dva tjedna, kako bi blokovi i dalje nastajali otprilike svakih deset minuta, bez obzira na to koliko se hashratea priključi na mrežu ili odspoji s nje. Mreža trenutačno radi na oko 712 EH/s (uživo, ažurira se svakog sata). Kako ta prilagodba funkcionira objašnjavamo u našem vodiču za težinu rudarenja Bitcoina, a objašnjenje hashratea pokriva mjerne jedinice.
Što je nonce, a što dodatni nonce?
Nonce („broj upotrijebljen jednom”) polje je od 4 bajta koje rudari mijenjaju pri svakom pokušaju. To je jedino polje koje postoji samo zato da bi se mijenjalo. Problem je u tome što se s 4 bajta može dobiti samo oko 4,3 milijardi vrijednosti, a moderna računala ih prođu gotovo trenutačno.
Rudarov postupak
- 01
Isprobaj sve nonceove
0, 1, 2 i tako sve do 4.294.967.295. To su sve vrijednosti koje stanu u 4 bajta.
- 02
Brzo ponestane
Jedan uređaj snage 100 TH/s obradi ih sve za otprilike 43 milijuntinki sekunde.
- 03
Promijeni dodatni nonce
Rudar mijenja dodatno polje u vlastitoj transakciji nagrade (coinbase).
- 04
Novi Merkleov korijen
Ta se transakcija promijenila, pa se promijenio i Merkleov korijen. Svaki nonce sada ponovno daje nove hashove.
Zato rudari mijenjaju i dodatni nonce, nekoliko slobodnih bajtova u coinbase transakciji, prvoj transakciji bloka kojom se rudara nagrađuje. Nova coinbase transakcija znači novi Merkleov korijen, a to donosi milijarde novih nonceova za isprobavanje. U rudarskom poolu pool svakom rudaru dodjeljuje vlastiti raspon dodatnih nonceova kako nitko ne bi ponavljao tuđi rad.
Zašto je pronalaženje bloka skupo, a provjera jeftina?
Za pronalazak bloka
≈ 4.3 × 1023 hashova
Cijela mreža, svi njezini strojevi, oko deset minuta pogađanja.
Trenutačna procjena, ažurira se svakog sata.
Za provjeru
1 hash
Svaki čvor, čak i jeftino prijenosno računalo, jednom izračuna hash zaglavlja od 80 bajtova i usporedi ga s ciljnom vrijednošću za znatno manje od milisekunde.
Rudar mora isprobavati hashove dok jedan ne bude manji od cilja. Svi ostali trebaju samo jednom izračunati hash zaglavlja i usporediti ga. Ta neravnoteža troškova omogućuje tisućama običnih računala da provjeravaju lanac bez povjerenja u rudare koji su ga izgradili.
U nastavku i sam isprobaj pretraživanje. Ovaj demo koristi jednostavniji format bloka od onog u glavnom primjeru, ali riječ je o istoj lutriji s dvostrukim SHA-256, a svaki pronađeni blok povezan je s prethodnim.
Interaktivno · iskopaj blok u pregledniku
Stvarni dokaz rada SHA-256d, pojednostavljeno zaglavlje
Hash bloka (dvostruki SHA-256)
Promijeni transakcije: hash se potpuno promijeni već zbog jednog slova.
Pokušaji: 0
Tvoj hashrate: n/a
Vrijeme: 0,0 s
Što je pravilo najduljeg lanca i što je napad od 51%?
Ponekad dva rudara pronađu blok gotovo istodobno pa mreža nakratko ima dvije verzije. Čvorovi slijede lanac iza kojeg stoji najviše ukupnog rada. Zove se najdulji lanac, ali zapravo je najteži: nekoliko blokova s visokom težinom rudarenja može nadmašiti više blokova s niskom težinom rudarenja.
Da bi poništio transakciju, napadač bi morao izgraditi teži lanac od svih ostalih, počevši od bloka koji prethodi toj transakciji. Svaki novi blok povrh njega (potvrda) dodatno povećava napadačev zaostatak. U bijeloj knjizi izračunata je vjerojatnost. Pomakni klizač i pogledaj:
Interaktivno · može li napadač sustići ostale?
Formula iz odjeljka 11 Bitcoinova dokumenta
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Blokovi zaostatka napadača (potvrde). Trake koriste logaritamsku skalu, od šanse jedan prema milijun do potpune sigurnosti.
S 10% hashratea, vjerojatnost prepravljanja plaćanja nakon 6 potvrda iznosi 0,024%, a nakon 1 potvrde iznosi 20,5%.
S 50% hashratea ili više, napadač će prije ili poslije pobijediti. To je napad od 51%. Ozbiljan je, ali ima ograničenja:
S većinom hashratea napadač može
- Zamijeniti nedavne blokove vlastitim lancem
- Dvaput potrošiti kovanice koje su sami sebi poslali
- Izostaviti neke transakcije iz svojih blokova
Čak ni tada ne mogu
- Trošiti sredstva iz tuđih novčanika
- Stvaranje kovanica povrh nagrade za blok
- Promijeniti Bitcoinova pravila za sve ostale
Zato burze čekaju nekoliko potvrda za velike uplate. Uobičajeno je pravilo šest potvrda.
Zašto dokaz rada troši toliko energije?
Zato što je energija temelj sigurnosti. Valjani blok dokaz je da je utrošena stvarna električna energija. Da bi izmijenio povijest, napadač mora ponovno utrošiti barem jednako toliko energije i nastaviti trošiti dok poštena mreža ide dalje.
Kamo odlazi energija i što omogućuje
Nagrada za blok i naknade
Novi BTC i naknade za svaki blok pripadaju onome tko ga pronađe.
Strojevi i struja
Rudari troše do iznosa koji za njih vrijedi nagrada.
Hashrate mreže
Sva ta potrošnja vidi se u broju hashova u sekundi.
Trošak izmjene povijesti
Napadač mora potrošiti više od svega toga, blok za blokom.
Koliko se električne energije troši i odakle dolazi, o tome se može raspravljati. Cambridgeov indeks prati procjene, a naš vodič o energiji za rudarenje Bitcoina objašnjava brojke. Svako prepolovljenje smanjuje dio nagrade koji dolazi od novih kovanica, pa naknade s vremenom moraju pokrivati veći dio tog sigurnosnog budžeta.
Dokaz rada i dokaz udjela: u čemu je razlika?
Dokaz udjela (PoS) odabire proizvođača sljedećeg bloka među onima koji zaključaju svoje kovanice kao polog, umjesto među onima koji troše električnu energiju. Ethereum je prešao s dokaza rada na dokaz udjela 2022. Evo poštene usporedbe:
| Dokaz rada | Dokaz udjela | |
|---|---|---|
| Tko dodaje sljedeći blok | Prvi rudar koji pronađe hash manji od cilja | Validator odabran razmjerno svom udjelu |
| Što ga štiti | Struja i hardver potrošeni izvan lanca | Kovanice zaključane unutar lanca koje se mogu oduzeti zbog varanja |
| Potrošnja energije | Namjerno visoko | Nisko |
| Za sudjelovanje | Strojevi i jeftina struja | Kovanice za staking |
| Namira | Postaje sigurnije sa svakom potvrdom | Izričite kontrolne točke finalnosti |
| Glavna kritika | Potrošnja energije i koncentracija rudarenja | Koncentracija udjela i složeniji dizajn |
| Povijest | Bitcoin, od 2009 | Ethereum, od 2022 |
Bitcoinovi su se razvojni inženjeri držali dokaza o radu jer njegov trošak nastaje izvan sustava, pa nitko ne može kupiti kontrolu kovanicama koje već posjeduje. Pristaše dokaza o udjelu ističu uštedu energije i bržu konačnost transakcija.
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.
Dobro je znati: nagrade su procjene koje se mijenjaju s mrežom i nisu zajamčene, a plan ti ne daje vlasništvo nad nijednim uređajem ni rudarskim bazenom. Za isplate mogu vrijediti ograničenja ili može biti potrebna verifikacija. Pojedinosti su u pravilima o nagradama i besplatnom vodiču za rudarenje Bitcoina. Primjenjuju se uvjeti.
Česta pitanja
Što je dokaz rada, jednostavno objašnjeno?
To je način da dodavanje bloka zahtijeva stvaran trud. Rudari iznova hashiraju zaglavlje bloka i mijenjaju broj koji se zove nonce dok rezultat ne bude manji od ciljne vrijednosti. Pronalaženje takvog hasha zahtijeva golem broj pokušaja, ali svatko ga može provjeriti jednim hashiranjem.
Što je nonce u Bitcoinu?
Broj od 4 bajtova u zaglavlju bloka koji rudari mijenjaju pri svakom pokušaju. Ima oko 4,3 milijardi mogućih vrijednosti. Kad ih potroše, rudari mijenjaju dodatni nonce u coinbase transakciji. Time dobivaju novi Merkleov korijen i novi skup hashova.
Zašto Bitcoin dvaput koristi SHA-256?
Bitcoin sažima zaglavlje od 80 bajtova algoritmom SHA-256, a zatim ponovno sažima dobiveni rezultat. Satoshi nikad nije objasnio taj izbor. Uobičajeno je tumačenje da to štiti od napada produljenjem duljine i pruža dodatnu sigurnosnu rezervu.
Što nekome omogućuje napad od 51%?
Netko s većinom hashratea može potajno izgraditi dulji lanac i zamijeniti nedavne blokove. Tako može dvaput potrošiti vlastite kovanice ili blokirati neke transakcije. Ne može trošiti tuđe kovanice, stvarati kovanice mimo pravila ni mijenjati pravila za sve.
Je li dokaz udjela bolji od dokaza rada?
Troši mnogo manje energije, a sigurnost dolazi od kovanica zaključanih kao ulog. Dokaz rada veže sigurnost uz vanjski trošak, struju i hardver, i osigurava Bitcoin od 2009. Svaki pristup ima drukčije kompromise, pa ono što je bolje ovisi o tome što ti je važno.
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.
Izvori i dodatno štivo
- Bitcoin: Peer-to-peer sustav elektroničkog novca (bijela knjiga) · Satoshi Nakamoto, bitcoin.org
- Vodič kroz blockchain: zaglavlja blokova, dokaz rada i coinbase · dokumentacija za Bitcoin developere
- Vodič za rudarenje: samostalno rudarenje, rudarski poolovi, getblocktemplate · dokumentacija za Bitcoin developere
- Težina · Bitcoin Wiki
- Potvrda · Bitcoin Wiki
- Cambridgeov indeks potrošnje električne energije za rudarenje Bitcoina · Cambridge Centre for Alternative Finance
- Nadzorna ploča za rudarenje: hashrate, težina rudarenja, nedavni blokovi · mempool.space
Brojke uživo na ovoj stranici dolaze iz API-ja CloudMineCrypto ili iz javnih servisa s podacima o blockchainu navedenih uz njih, osvježavaju se prema rasporedu i označene su na mjestu prikaza. Ovaj je vodič edukativan i ne predstavlja financijski savjet. CloudMineCrypto nije investicijski proizvod; nagrade u aplikaciji samo su procjene i nisu zajamčene.
Pročitao si kako funkcionira. Sad pogledaj kako to izgleda u praksi.
Iskoristi besplatni plan rudarenja od 8 sati u aplikaciji CloudMineCrypto i prati kako se procjena BTC-a povećava na temelju podataka mreže uživo. Bez hardvera, bez kartice.