Czym jest proof of work?
Definicja · Proof of work (PoW)
System, w którym prawo do dodania bloku przypada temu, kto jako pierwszy znajdzie hash nagłówka bloku niższy od celu. Znalezienie go wymaga ogromnej liczby prób, ale sprawdzenie tylko jednego haszowania.
Satoshi Nakamoto opisał to w białej księdze Bitcoina z 2008, rozwijając pomysł Adama Backa o nazwie Hashcash. To starsza koncepcja, która miała sprawić, że wysyłanie spamu e-mailowego będzie kosztowne. Prawidłowy hash jest dowodem. Nie da się go uzyskać bez wykonania pracy, a każdy może sprawdzić, że została wykonana.
W dalszej części tej strony omawiamy każdy element, a pole powyżej pozwala samodzielnie go przetestować. To rzeczywisty format nagłówka bloku Bitcoin, haszowany na żywo w przeglądarce. Więcej o kopaniu znajdziesz w naszym kompletnym przewodniku po kopaniu Bitcoin.
Jaki problem rozwiązuje proof of work?
Bitcoinem nie zarządza żadna firma, bank ani serwer. Tysiące komputerów przechowują własną kopię rejestru i muszą uzgodnić, który blok będzie następny oraz w jakiej kolejności odbyły się płatności. Inaczej ktoś mógłby wydać tę samą monetę dwa razy.
Proste głosowanie nie sprawdza się w internecie, bo każdy może uruchomić tysiąc fałszywych komputerów i zagłosować tysiąc razy. To właśnie atak Sybil. Dowód pracy omija ten problem: Twój głos mierzy się liczbą hashy, a ich obliczanie wymaga prądu i sprzętu.
Kto ma wpływ na kolejny blok?
Jeden głos na węzeł
Jeden napastnik za darmo uruchamia 60 fałszywych węzłów i przegłosowuje 12 uczciwych.
Jeden głos na hash
uczciwi górnicy 88%atakujący 12%
Te same 60 węzłów korzystają ze wspólnego sprzętu atakującego, więc ich łączna waga nadal wynosi 12%. Kopie nic nie kosztują, ale haszowanie już tak.
Co zawiera nagłówek bloku Bitcoin?
Górnicy nie haszują całego bloku. Haszują jego nagłówek o długości 80 bajtów, który zawiera informacje o całej reszcie. Oto sześć pól, które edytowałeś w polu powyżej:
| Pole | Bajty | Co zawiera | Kto go zmienia |
|---|---|---|---|
| Wersja | 4 | Jakiego zestawu zasad przestrzega blok | Rzadko się zmienia |
| Hash poprzedniego bloku | 32 | Hash poprzedniego bloku, który łączy łańcuch | Zmieniany przy każdym bloku |
| Korzeń Merkle’a | 32 | Jeden odcisk wszystkich transakcji w bloku | Górnik, gdy zmieniają się transakcje lub extra nonce |
| Czas | 4 | Kiedy, według górnika, powstał blok (czas Unix) | Górnik, w granicach limitu |
| Bity | 4 | Wartość docelowa zapisana w 4 bajtach | Sieć, co 2 016 bloków |
| Nonce | 4 | Darmowa liczba do ponownej próby | Górnik, przy każdej próbie |
Ponieważ nagłówek zawiera hash poprzedniego bloku, zmiana starego bloku zmienia jego hash, co powoduje niezgodność z następnym nagłówkiem i każdym kolejnym. Gdy powstawała ta strona, na naszym serwerze sprawdziliśmy prawdziwy blok genezy z 2009, używając tego samego kodu co w głównej animacji:
000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
Jak działa SHA-256 w Bitcoinie?
SHA-256 zamienia dowolne dane wejściowe w liczbę 256-bitową, zapisaną jako 64 znaków szesnastkowych. Bitcoin oblicza hash nagłówka bloku dwukrotnie (stąd określenie SHA-256d). W kopaniu liczą się te proste właściwości:
To samo na wejściu, to samo na wyjściu
Deterministyczny
Ten sam nagłówek zawsze daje ten sam hash na każdym komputerze. Dlatego można go zweryfikować.
256 bitów
Stały rozmiar
Niezależnie od tego, czy to krótki wiersz, czy cała książka, hash ma zawsze 64 znaków szesnastkowych.
Jednokierunkowy
Nie da się cofnąć na skróty
Nie da się obliczyć danych wejściowych, które dadzą żądany hash. Możesz tylko próbować różnych danych.
≈ 50%
Efekt lawinowy
Zmień jeden znak, a zmieni się około połowy bitów. Obserwuj siatkę w głównej grafice.
Ta ostatnia właściwość jest sednem proof of work. Hash bliski celowi nie mówi nic o następnym podejściu, więc nie ma sprytnego sposobu na znalezienie prawidłowego bloku. Każdy górnik bierze udział w tej samej loterii, a większa liczba hashy na sekundę daje po prostu więcej losów.
Co to jest target i skąd te zera na początku?
Wartość docelowa to liczba 256-bitowa. Blok jest poprawny, gdy jego hash, odczytany jako liczba, jest od niej mniejszy lub jej równy. Małe liczby zaczynają się od zer, więc niższa wartość docelowa oznacza więcej zer na początku. Każde dodatkowe zero w zapisie szesnastkowym oznacza średnio 16 razy więcej prób.
Średnia liczba hashy potrzebnych do znalezienia poprawnego bloku
- Przykładowy blok w sekcji głównej · 4 początkowych zer w zapisie szesnastkowym65,536
- Najłatwiejszy cel Bitcoina (2009) · 8 początkowych zer w zapisie szesnastkowym, bity 1d00ffff4,294,967,296
- Dzisiejszy blok Bitcoin · około 20 początkowych zer szesnastkowych (bieżący szacunek)4.9 × 1023
Sieć zmienia cel co 2 016 bloków, czyli mniej więcej co dwa tygodnie. Dzięki temu bloki nadal pojawiają się mniej więcej co dziesięć minut, niezależnie od tego, ile mocy obliczeniowej dołącza do sieci lub z niej odchodzi. Obecnie sieć osiąga około 811 EH/s (dane na żywo, aktualizowane co godzinę). Jak działa ta korekta, wyjaśniamy w naszym przewodniku po trudności wydobycia Bitcoina, a wyjaśnienie hashrate’u opisuje używane jednostki.
Czym jest nonce i czym jest dodatkowy nonce?
Nonce („liczba użyta raz”) to 4-bajtowe pole, które górnicy zmieniają przy każdej próbie. To jedyne pole przeznaczone wyłącznie do zmieniania. Problem w tym, że 4 bajtów daje tylko około 4,3 miliardów wartości, a nowoczesne maszyny sprawdzają je niemal natychmiast.
Pętla górnika
- 01
Sprawdź każdy nonce
0, 1, 2 i tak dalej, aż do 4 294 967 295. To wszystkie wartości, które można zapisać na 4 bajtach.
- 02
Szybko się kończy
Jedna maszyna o mocy 100 TH/s przechodzi przez wszystkie w około 43 milionowych części sekundy.
- 03
Zmień dodatkowy nonce
Górnik edytuje zapasowe pole we własnej transakcji nagrody (coinbase).
- 04
Nowy korzeń Merkle’a
Ta transakcja się zmieniła, więc zmienia się korzeń Merkle’a, a każde nonce znów daje nowe hashe.
Dlatego górnicy zmieniają też extra nonce, czyli kilka dodatkowych bajtów w transakcji coinbase. To pierwsza transakcja w bloku, która wypłaca nagrodę górnikowi. Nowa transakcja coinbase oznacza nowy korzeń Merkle’a, a to daje miliardy nowych wartości nonce do sprawdzenia. W puli wydobywczej pula przydziela każdemu górnikowi własny zakres extra nonce, żeby nikt nie powtarzał pracy innych.
Dlaczego znalezienie bloku jest kosztowne, a jego sprawdzenie tanie?
Aby znaleźć blok
≈ 4.9 × 1023 hashe
Cała sieć i wszystkie jej maszyny, około dziesięciu minut zgadywania.
Bieżący szacunek, aktualizowany co godzinę.
Aby to sprawdzić
1 hash
Każdy węzeł, nawet tani laptop, hashuje nagłówek o rozmiarze 80 bajtów i porównuje go z celem w czasie znacznie krótszym niż milisekunda.
Górnik musi próbować kolejnych hashy, aż jeden będzie poniżej celu. Wszyscy pozostali muszą tylko raz obliczyć hash nagłówka i go porównać. Ta asymetria kosztów pozwala tysiącom zwykłych komputerów weryfikować łańcuch bez zaufania górnikom, którzy go utworzyli.
Spróbuj samodzielnie przeprowadzić wyszukiwanie poniżej. Ta demonstracja używa prostszego formatu bloku niż sekcja główna, ale to ta sama loteria z podwójnym SHA-256, a każdy znaleziony blok prowadzi do poprzedniego.
Interaktywnie · wykop blok w przeglądarce
Prawdziwy proof of work SHA-256d, uproszczony nagłówek
Hash bloku (podwójny SHA-256)
Edytuj transakcje: hash zmienia się całkowicie już przez jedną literę.
Próby: 0
Twój hashrate: brak danych
Czas: 0,0 s
Czym jest reguła najdłuższego łańcucha i atak 51%?
Czasami dwóch górników znajduje blok niemal w tej samej chwili i przez krótki czas w sieci istnieją dwie wersje łańcucha. Węzły wybierają łańcuch, za którym stoi najwięcej wykonanej pracy. Mówi się o najdłuższym łańcuchu, ale chodzi tak naprawdę o najcięższy: kilka bloków o wysokim poziomie trudności może ważyć więcej niż większa liczba bloków o niskim poziomie trudności.
Aby cofnąć płatność, atakujący musiałby zbudować cięższy łańcuch niż wszyscy pozostali, zaczynając od bloku sprzed tej płatności. Każdy kolejny blok na wierzchu (potwierdzenie) zwiększa jego stratę. W whitepaperze obliczono prawdopodobieństwo. Przesuń suwak, aby je sprawdzić:
Interaktywne · czy atakujący może dogonić resztę?
Wzór z białej księgi Bitcoin, sekcja 11
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Bloki, o które atakujący pozostaje w tyle (potwierdzenia). Słupki mają skalę logarytmiczną, od jednej szansy na milion do pewności.
Przy mocy obliczeniowej równej 10% szansa na zmianę historii płatności po 6 potwierdzeniach wynosi 0,024%, a po 1 potwierdzeniu 20,5%.
Przy mocy obliczeniowej równej 50% lub większej atakujący w końcu wygrywa. To atak 51%. Jest poważny, ale ma swoje ograniczenia:
Mając większość mocy obliczeniowej sieci, atakujący może
- Zastąpić najnowsze bloki własnym łańcuchem
- Podwójne wydanie monet wysłanych samemu sobie
- Pominąć część transakcji w blokach
Nawet wtedy nie mogą
- Wydawać monety z cudzych portfeli
- Tworzenie monet ponad nagrodę za blok
- Zmienić zasady Bitcoina dla wszystkich pozostałych
Dlatego giełdy czekają na kilka potwierdzeń przy dużych wpłatach. Sześć to powszechnie przyjmowana orientacyjna liczba.
Dlaczego proof of work zużywa tyle energii?
Bo energia zapewnia bezpieczeństwo. Poprawny blok dowodzi, że zużyto rzeczywistą energię elektryczną. Aby zmienić historię, atakujący musi wydać co najmniej tyle samo ponownie i nadal ponosić te wydatki, gdy uczciwa sieć idzie naprzód.
Na co idzie energia i co dzięki niej zyskujemy
Nagroda za blok i opłaty
Nowe BTC i opłaty za każdy blok, wypłacane temu, kto go znajdzie.
Maszyny i energia elektryczna
Górnicy wydają najwyżej tyle, ile według nich warta jest nagroda.
Hashrate sieci
Całe te wydatki przekładają się na liczbę hashy na sekundę.
Koszt przepisania historii
Atakujący musi wydać co najmniej tyle samo, blok po bloku.
To, ile energii zużywa mining i skąd ona pochodzi, można zasadnie podawać w wątpliwość. Indeks Cambridge śledzi szacunki, a w naszym przewodniku po zużyciu energii przez mining Bitcoina omawiamy liczby. Każdy halving zmniejsza część nagrody pochodzącą z nowych monet, więc z czasem coraz większą część budżetu bezpieczeństwa muszą pokrywać opłaty.
Dowód pracy a dowód stawki: na czym polega różnica?
Dowód stawki (PoS) wybiera twórcę następnego bloku spośród osób, które blokują monety jako depozyt, zamiast spośród tych, które zużywają energię elektryczną. Ethereum przeszło z dowodu pracy na dowód stawki w 2022. Oto rzetelne porównanie:
| Proof of work | Dowód stawki | |
|---|---|---|
| Kto dodaje kolejny blok | Pierwszy górnik, który znajdzie hash poniżej celu | Walidator wybierany proporcjonalnie do swojej stawki |
| Co go zabezpiecza | Energia elektryczna i sprzęt zużywane poza łańcuchem | Monety zablokowane w łańcuchu, które można skonfiskować za oszustwo |
| Zużycie energii | Wysokie z założenia | Niski |
| Aby wziąć udział | Maszyny i tani prąd | Monety do stakingu |
| Rozliczenie | Bezpieczeństwo rośnie z każdym potwierdzeniem | Jawne punkty kontrolne finalności |
| Główny zarzut | Zużycie energii i koncentracja wydobycia | Koncentracja udziałów i bardziej złożona konstrukcja |
| Historia | Bitcoin od 2009 | Ethereum, od 2022 |
Twórcy Bitcoina pozostali przy proof of work, ponieważ jego koszt ponosi się poza systemem, więc nikt nie może kupić kontroli za monety, które już posiada. Zwolennicy proof of stake wskazują na mniejsze zużycie energii i szybszą finalizację transakcji.
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.
Warto wiedzieć: nagrody są szacunkowe, zmieniają się wraz z siecią i nie są gwarantowane, a plan nie daje prawa własności do żadnej maszyny ani puli. Wypłaty mogą podlegać limitom lub wymagać weryfikacji. Szczegóły znajdziesz w zasadach przyznawania nagród i darmowym przewodniku po kopaniu Bitcoinów. Obowiązują warunki.
Najczęściej zadawane pytania
Czym jest proof of work? Proste wyjaśnienie
To sposób na to, by dodanie bloku wymagało realnego wysiłku. Górnicy wielokrotnie haszują nagłówek bloku, zmieniając liczbę zwaną nonce, aż wynik będzie mniejszy od wartości docelowej. Znalezienie takiego hasha wymaga ogromnej liczby prób, ale każdy może go sprawdzić za pomocą jednego haszowania.
Czym jest nonce w Bitcoinie?
Liczba zapisana w 4 bajtach w nagłówku bloku, którą górnicy zmieniają przy każdej próbie. Może przyjąć około 4,3 miliardów różnych wartości. Gdy wszystkie zostaną wykorzystane, górnicy zmieniają dodatkowy nonce w transakcji coinbase. Dzięki temu powstaje nowy korzeń Merkle’a i nowy zestaw hashy.
Dlaczego Bitcoin dwukrotnie używa SHA-256?
Bitcoin hashuje nagłówek o rozmiarze 80 bajtów za pomocą SHA-256, a potem ponownie hashuje wynik. Satoshi nigdy nie wyjaśnił tego wyboru. Zwykle uważa się, że chroni on przed atakami polegającymi na wydłużaniu wiadomości i zapewnia dodatkowy margines bezpieczeństwa.
Co może zrobić atakujący z mocą 51%?
Ktoś, kto ma większość mocy obliczeniowej, może potajemnie zbudować dłuższy łańcuch i zastąpić niedawne bloki. Dzięki temu może dwukrotnie wydać własne monety lub blokować niektóre transakcje. Nie może wydawać cudzych monet, tworzyć monet niezgodnie z zasadami ani zmienić zasad dla wszystkich.
Czy proof of stake jest lepszy niż proof of work?
Zużywa znacznie mniej energii, a bezpieczeństwo zapewniają monety zablokowane jako stake. Proof of work opiera bezpieczeństwo na zewnętrznym koszcie: energii elektrycznej i sprzęcie. Od 2009 działa w ten sposób Bitcoin. Każde z tych rozwiązań ma inne kompromisy, więc to, które jest lepsze, zależy od tego, co cenisz.
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.
Źródła i dalsza lektura
- Bitcoin: A Peer-to-Peer Electronic Cash System (whitepaper) · Satoshi Nakamoto, bitcoin.org
- Przewodnik po łańcuchu bloków: nagłówki bloków, proof of work, coinbase · Dokumentacja dla deweloperów Bitcoin
- Przewodnik po miningu: solo mining, pule, getblocktemplate · Dokumentacja dla deweloperów Bitcoin
- Trudność · Bitcoin Wiki
- Potwierdzenie · Bitcoin Wiki
- Cambridge Bitcoin Electricity Consumption Index · Cambridge Centre for Alternative Finance
- Panel miningu: hashrate, trudność, ostatnie bloki · mempool.space
Bieżące dane na tej stronie pochodzą z API CloudMineCrypto lub z wymienionych obok publicznych serwisów z danymi blockchain. Są odświeżane według harmonogramu i oznaczone w odpowiednich miejscach. Ten poradnik ma charakter edukacyjny i nie stanowi porady finansowej. CloudMineCrypto nie jest produktem inwestycyjnym. Nagrody w aplikacji są szacunkowe i nie są gwarantowane.
Wiesz już, jak to działa. Teraz zobacz to w akcji.
Odbierz darmowy 8-godzinny plan kopania w aplikacji CloudMineCrypto i zobacz, jak rośnie Twoje szacowane BTC na podstawie danych sieci na żywo. Bez sprzętu, bez karty.