5 maja 2021 1:27

Dowód pracy (PoW)

Co to jest dowód pracy (PoW)?

Proof of work (PoW) opisuje system, który wymaga znacznego, ale wykonalnego wysiłku, aby powstrzymać niepoważne lub złośliwe wykorzystanie mocy obliczeniowej, takie jak wysyłanie spamu lub przeprowadzanie ataków typu „odmowa usługi”. Koncepcja została następnie zaadaptowana do zabezpieczania cyfrowych pieniędzy przez Hala Finneya w 2004 r. Poprzez pomysł „wielokrotnego użytku dowodu pracy” przy użyciu algorytmu mieszającego SHA-256.

Po wprowadzeniu w 2009 r. Bitcoin stał się pierwszym szeroko przyjętym zastosowaniem pomysłu PoW Finneya (Finney był również odbiorcą pierwszej transakcji bitcoinowej). Dowód pracy jest podstawą wielu innych kryptowalut, umożliwiając bezpieczny, zdecentralizowany konsensus.

Kluczowe wnioski

  • Proof of work (PoW) to zdecentralizowany mechanizm konsensusu, który wymaga od członków sieci poświęcenia wysiłku na rozwiązanie arbitralnej matematycznej łamigłówki, aby nikt nie grał w system.
  • Proof of work jest szeroko stosowany w kopaniu kryptowalut, do walidacji transakcji i wydobywania nowych tokenów.
  • Dzięki dowodowi pracy Bitcoin i inne transakcje kryptowalutowe mogą być przetwarzane peer-to-peer w bezpieczny sposób bez konieczności korzystania z zaufanej strony trzeciej.
  • Potwierdzenie pracy na dużą skalę wymaga ogromnych ilości energii, która wzrasta tylko w miarę dołączania większej liczby górników do sieci.
  • Proof of Stake (POS) był jednym z kilku nowatorskich mechanizmów konsensusu stworzonych jako alternatywa dla proofa of work.

Zrozumienie dowodu pracy

To wyjaśnienie skupi się na dowodzie pracy, ponieważ działa w sieci bitcoin. Bitcoin to cyfrowa waluta, której podstawą jest rodzaj rozproszonej księgi znanej jako „ łańcuch bloków ”. Ta księga zawiera zapis wszystkich transakcji bitcoinowych, uporządkowanych w sekwencyjne „bloki”, tak aby żaden użytkownik nie mógł dwukrotnie wydać żadnego ze swoich zasobów. Aby zapobiec manipulacjom, księga jest publiczna lub „rozpowszechniana”; zmieniona wersja zostałaby szybko odrzucona przez innych użytkowników.

Sposób, w jaki użytkownicy wykrywają manipulacje w praktyce, odbywa się za pomocą skrótów, długich ciągów liczb, które służą jako dowód pracy. Umieść podany zestaw danych przez funkcję skrótu (bitcoin używa SHA-256), a wygeneruje tylko jeden hash. Jednak ze względu na „efekt lawiny” nawet niewielka zmiana dowolnej części oryginalnych danych spowoduje całkowicie nierozpoznawalny skrót. Niezależnie od rozmiaru oryginalnego zestawu danych, hash wygenerowany przez daną funkcję będzie miał taką samą długość. Hash jest funkcją jednokierunkową: nie można go użyć do uzyskania oryginalnych danych, a jedynie do sprawdzenia, czy dane, które wygenerowały skrót, są zgodne z oryginalnymi danymi.

Generowanie dowolnego skrótu dla zestawu transakcji bitcoinowych byłoby trywialne dla nowoczesnego komputera, więc aby przekształcić ten proces w „pracę”, sieć bitcoin wyznacza pewien poziom „trudności”. To ustawienie jest dostosowywane tak, aby nowy blok był „ wydobywany ” – dodawany do łańcucha bloków poprzez generowanie ważnego skrótu – w przybliżeniu co 10 minut. Trudność w ustawianiu polega na ustaleniu „celu” dla skrótu : im niższy cel, tym mniejszy jest zestaw prawidłowych haszów i trudniej jest go wygenerować. W praktyce oznacza to skrót zaczynający się od bardzo długiego ciągu zer.



Proof of work został początkowo stworzony jako proponowane rozwiązanie narastającego problemu spamu.

Uwagi specjalne

Ponieważ dany zestaw danych może wygenerować tylko jeden hash, w jaki sposób górnicy upewniają się, że generują hash poniżej celu? Zmieniają dane wejściowe, dodając liczbę całkowitą, zwaną nonce („liczba użyta raz”). Po znalezieniu prawidłowego skrótu jest on emitowany do sieci, a blok jest dodawany do łańcucha bloków.

Wydobywanie to proces konkurencyjny, ale to bardziej loteria niż wyścig. Średnio co dziesięć minut ktoś generuje akceptowalny dowód pracy, ale nikt nie wie, kto to będzie. Górnicy łączą się, aby zwiększyć swoje szanse na wydobycie bloków, co generuje opłaty transakcyjne i, przez ograniczony czas, nagrodę w postaci nowo utworzonych bitcoinów.

Dowód pracy bardzo utrudnia zmianę dowolnego aspektu łańcucha bloków, ponieważ taka zmiana wymagałaby ponownego wydobycia wszystkich kolejnych bloków. Utrudnia to również użytkownikowi lub grupie użytkowników zmonopolizowanie mocy obliczeniowej sieci, ponieważ maszyny i moc wymagana do wykonania funkcji skrótu są drogie.



Jeśli część sieci wydobywczej zaczyna akceptować alternatywny dowód pracy, nazywa się to hard fork.

Przykład dowodu pracy

Dowód pracy wymaga, aby komputer losowo angażował się w funkcje haszujące, dopóki nie pojawi się na wyjściu z poprawną minimalną liczbą zer wiodących. Na przykład skrót dla bloku nr 429818 wydobytego 14 września 2016 r. To na przykład 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d. Nagroda blokowa za ten udany hash wyniosła 12,5 BTC.

Ten blok zawsze będzie zawierał 2012 transakcji obejmujących nieco ponad 1000 bitcoinów, a także nagłówek poprzedniego bloku. Gdyby ktoś próbował zmienić kwotę transakcji nawet o 0,000001 bitcoina, wynikowy hash byłby nierozpoznawalny, a sieć odrzuciłaby próbę oszustwa.

Dowód pracy – często zadawane pytania

Co oznacza dowód pracy?

PoW wymaga, aby węzły w sieci dostarczały dowodów, że zużyły moc obliczeniową (tj. Pracę), aby osiągnąć konsensus w sposób zdecentralizowany i zapobiec przejęciu sieci przez złych aktorów.

W jaki sposób dowód pracy weryfikuje transakcję kryptograficzną?

Sama praca jest arbitralna. W przypadku Bitcoin obejmuje iteracje algorytmów haszujących SHA-256. Jednak „zwycięzca” rundy haszowania agreguje i rejestruje transakcje z mempoolu do następnego bloku. Ponieważ „zwycięzca” jest wybierany losowo, proporcjonalnie do wykonanej pracy, zachęca to wszystkich w sieci do uczciwego działania i rejestrowania tylko prawdziwych transakcji.

Dlaczego kryptowaluty potrzebują dowodu pracy?

Ponieważ są zdecentralizowane i z założenia peer-to-peer, łańcuchy bloków, takie jak sieci kryptowalut, wymagają pewnego sposobu osiągnięcia zarówno konsensusu, jak i bezpieczeństwa. Dowód pracy jest jedną z takich metod, która sprawia, że ​​próba przejęcia sieci wymaga zbyt dużej ilości zasobów. Istnieją również inne mechanizmy dowodowe, które są mniej zasobochłonne, ale mają inne wady lub wady, takie jak dowód stawki (PoS) i dowód spalenia. Bez mechanizmu dowodowego sieć i przechowywane w niej dane byłyby narażone na atak lub kradzież.

Czy Bitcoin używa Proof of Work?

Tak. Wykorzystuje algorytm PoW oparty na funkcji skrótu SHA-256 w celu walidacji i potwierdzania transakcji, a także wprowadzania nowych bitcoinów do obiegu.

Czym różni się Proof of Stake (PoS) od PoW?

PoS to mechanizm konsensusu, który losowo przypisuje węzeł, który będzie wydobywał lub weryfikował transakcje blokowe w zależności od tego, ile monet posiada ten węzeł. Im więcej żetonów przechowywanych w portfelu, tym większa moc wydobycia jest mu efektywnie przyznawana. Chociaż PoS jest znacznie mniej zasobochłonny, ma kilka innych wad, w tym większą szansę na 51% ataku na mniejsze altcoiny i zachęty do gromadzenia tokenów i nieużywania ich.