Kluczowe punkty

  • Proof of Work (PoW) to mechanizm konsensusu zaprojektowany, aby zapobiegać podwójnym wydatkom w cyfrowych systemach płatności.

  • PoW jest kluczową częścią wydobycia, która polega na dodawaniu bloków transakcji do blockchaina i tworzeniu nowych jednostek kryptowaluty.

  • Bitcoin i wiele innych kryptowalut wykorzystuje mechanizm PoW do ochrony swoich sieci i danych blockchain.

Wstęp

W skrócie Proof of Work (PoW) to mechanizm mający na celu zapobieganie podwójnym wydatkom w cyfrowych systemach płatności. Bitcoin i wiele innych kryptowalut wykorzystuje PoW do ochrony swoich sieci i danych blockchain. Takie elementy nazywane są mechanizmami konsensusu – lub algorytmami – ponieważ pozwalają wielu stronom osiągnąć konsensus bez konieczności wzajemnego zaufania.

Proof of Work był pierwszym algorytmem konsensusu i nadal jest jednym z najważniejszych, obok Proof of Stake (PoS). PoW został wprowadzony przez Satoshi Nakamoto w białej księdze Bitcoina w 2008 roku, ale sama technologia została zaproponowana dużo wcześniej.

Wczesnym przykładem zastosowania algorytmu Proof of Work jest system HashCash firmy Adam Back, który pojawił się jeszcze przed kryptowalutami. Wymaganie niewielkiej liczby obliczeń przed wysłaniem wiadomości e-mail zmniejszyło ilość spamu. Takie wyliczenia dla przeciętnego nadawcy praktycznie nic nie kosztują, a znacznie komplikują proces wysyłki masowej.

Co to są podwójne wydatki?

Podwójne wydatki mają miejsce, gdy te same środki są wydawane więcej niż raz. Termin ten jest prawie zawsze używany w odniesieniu do waluty cyfrowej, ponieważ w prawdziwym życiu trudno wyobrazić sobie sytuację, w której te same pieniądze są wydawane dwukrotnie. 

Przykładowo kupując kawę przekazujesz pieniądze kasjerowi, który wkłada je do kasy. Nie będziesz mógł pójść do innej kawiarni i zapłacić tym samym rachunkiem za drugą kawę. Jednak w systemach pieniądza cyfrowego jest to możliwe. 

Prawdopodobnie skopiowałeś już pliki na swój komputer. Ten sam plik można łatwo wysłać do kilkudziesięciu osób. A ponieważ pieniądz cyfrowy to tylko dane, należy wyeliminować możliwość podwójnego wydawania, czyli kopiowania i wysyłania tych samych jednostek w różne miejsca. Jeśli cyfrowy system płatności nie będzie w stanie zapobiec podwójnym wydatkom, szybko się załamie.

Więcej informacji na temat podwójnych wydatków znajdziesz w artykule Czym są podwójne wydatki.

Dlaczego potrzebny jest dowód pracy?

Jeśli przeczytałeś już nasz przewodnik po blockchainie, to wiesz, że użytkownicy kryptowalut transmitują transakcje do sieci. Jednak transakcje nie stają się ważne od razu, a dopiero po weryfikacji i dodaniu do blockchainu.

Na przykład blockchain Bitcoin działa jako publiczna baza danych transakcji (rejestr), którą może przeglądać każdy użytkownik. Załóżmy, że ty i trzej twoi znajomi macie notatnik, w którym zapisujecie swoje transakcje Bitcoinami. Jeśli ktoś z Was będzie chciał przelać środki, zanotuje w swoim notatniku:

Alicja płaci Bobowi 5 BTC. Bob płaci Carol 2 BTC i tak dalej.

Dokonując każdego przelewu należy odwołać się do poprzedniej transakcji, z której otrzymano środki. Oznacza to, że gdy Bob przekazuje Carol 2 BTC, wpis wygląda następująco: 

Bob przekazuje Carol 2 BTC z poprzedniej transakcji z Alicją.

W ten sposób możemy śledzić wszystkie przelewy BTC. Jeśli Bob spróbuje dokonać kolejnej transakcji przy użyciu tych samych 2 BTC, które właśnie wysłał Carol, wszyscy od razu się o tym dowiedzą. Grupa nie pozwoli mu na zapisanie takiej transakcji w notatniku, gdyż te 2 BTC już wydał.

Taki system może dobrze sprawdzić się w małej grupie osób, gdzie wszyscy uczestnicy dobrze się znają, bo łatwiej będzie im uzgodnić, kto z nich będzie odpowiedzialny za dodanie transakcji do ogólnej listy. A co jeśli chcemy zgromadzić grupę liczącą 10 000 członków? Pomysł korzystania z notatnika nie sprawdza się dobrze, ponieważ nikt nie powierzyłby obcej osobie zarządzania taką księgą finansową.

Dlatego potrzebny jest algorytm Proof of Work. Dzięki temu użytkownicy nie wydają pieniędzy, których nie mogą wydać. Wykorzystując teorię gier w połączeniu z kryptografią, algorytm umożliwia każdemu użytkownikowi aktualizację blockchainu zgodnie z regułami systemu.

Jak działa PoW?

Pomyśl o notatniku z powyższego przykładu jako o blockchainie. Transakcje nie są jednak dodawane do systemu pojedynczo, lecz łączone w bloki. Użytkownicy tworzący blok uwzględniają transakcje w bloku kandydującym. Transakcje zostaną uznane za ważne dopiero po potwierdzeniu bloku kandydującego i dodaniu go do bazy danych blockchain.

Proces potwierdzania transakcji i dodawania nowych bloków nazywa się eksploracją. Jest to dość skomplikowane i wymaga kosztów, ale może generować zysk w postaci nagród blokowych. Składa się z opłat transakcyjnych i nowych bitcoinów tworzonych przez protokół. 

Mechanizm Proof of Work wymaga od górnika (użytkownika tworzącego blok) zainwestowania zasobów (elektryczności i mocy obliczeniowej) w haszowanie danych kandydującego bloku do czasu znalezienia rozwiązania.

Mieszanie bloku polega na przepuszczeniu go przez funkcję skrótu w celu wygenerowania skrótu. Hash bloku działa jak „odcisk palca” i służy jako identyfikator danych wejściowych, który jest unikalny dla każdego bloku.

Innymi słowy, górnik musi zweryfikować i zebrać oczekujące transakcje, następnie połączyć je w blok kandydujący i przepuścić dane bloku przez funkcję skrótu, aby uzyskać prawidłowy skrót. Jeśli górnikowi uda się znaleźć odpowiedni skrót dla swojego bloku kandydującego, prześle go do sieci, doda blok do łańcucha bloków i otrzyma nagrodę za wydobycie.

Gdy górnik prześle do sieci blok kandydujący i skrót, pozostali uczestnicy sieci powtórzą proces mieszania, aby zapewnić ważność wyniku. 

Znalezienie prawidłowego skrótu wymaga ogromnej liczby prób, ale sprawdzenie poprawności gotowego skrótu jest dość łatwe. Aby to zrobić, wystarczy przekazać te same dane wejściowe (dane blokowe) przez funkcję skrótu i ​​sprawdzić, czy wynik się zgadza.

W Proof of Work musisz podać dane, których hasz spełnia określone zasady określone w protokole, o ile nie wiesz, jak je bezpośrednio odzyskać. Jedyną opcją jest uruchomienie danych za pomocą funkcji skrótu i ​​sprawdzenie, czy spełniają one warunki. Jeśli nie ma dopasowania, będziesz musiał zmienić dane, aby uzyskać inny skrót. Zmiana choćby jednego znaku w danych doprowadzi do zupełnie innego wyniku, dlatego nie można po prostu przewidzieć, jaki będzie wynik.

Aby więc utworzyć blok, musisz obliczyć skrót. W tym celu użytkownik hashuje informacje o wszystkich transakcjach, które należy dodać do bloków, oraz inne dane. Ponieważ jednak zbiór danych się nie zmienia, użytkownik dodaje informację, która stanie się zmienną. W przeciwnym razie wynikiem będzie zawsze ten sam skrót. Te zmienne dane nazywane są wartościami jednorazowymi. Są one zmieniane przy każdej próbie uzyskania nowego skrótu.

Zatem wydobycie to proces gromadzenia danych typu blockchain i mieszania ich wraz z jednorazowym kodem, aż do znalezienia odpowiedniego skrótu. Jeśli znajdziesz hash spełniający warunki określone przez protokół, otrzymasz prawo do rozgłoszenia nowego bloku w sieci. W tym momencie inni uczestnicy sieci muszą zaktualizować swoje łańcuchy bloków, aby uwzględnić nowy blok.

Warunki stawiane przez główne kryptowaluty są niezwykle trudne do spełnienia. Im wyższy hashrate sieci, tym trudniej jest znaleźć prawidłowy hash. Ma to na celu zapobieganie zbyt szybkiemu generowaniu bloków.

Regularne próby odgadnięcia ogromnej liczby skrótów są kosztowne, ponieważ marnują ogromną ilość zasobów obliczeniowych i energii elektrycznej. Jeśli jednak górnikom uda się znaleźć prawidłowy skrót, protokół nagradza ich za pracę.

Przyjrzyjmy się temu, co omówiliśmy:

  • Wydobywanie to złożony i kosztowny proces zapewniający bezpieczeństwo sieci.

  • Górnicy, którzy utworzą prawidłowy blok, są nagradzani w postaci nowych kryptowalut i opłat transakcyjnych.

  • Wygenerowanie prawidłowego hasha zajmuje trochę czasu, ale jego dokładność można łatwo i szybko zweryfikować powtarzając proces hashowania.

Ale co, jeśli spróbujesz oszukać system? Co powstrzymuje Cię przed umieszczeniem kilku fałszywych transakcji w bloku i utworzeniem prawidłowego skrótu?

W tym celu opracowano kryptografię klucza publicznego. Aby dowiedzieć się więcej na ten temat, przeczytaj nasz artykuł Czym jest kryptografia klucza publicznego. Krótko mówiąc, algorytm wykorzystuje pewne techniki kryptograficzne, które pozwalają każdemu użytkownikowi zweryfikować prawo konkretnego uczestnika sieci do przeniesienia środków na inny adres.

Tworząc transakcję, podpisujesz ją. Każdy uczestnik sieci może następnie porównać Twój podpis z kluczem publicznym, aby sprawdzić, czy pasuje. Dzięki temu wiesz, czy możesz wydać swoje środki i czy Twoje wydatki nie przekraczają dopuszczalnej kwoty.

Każdy blok zawierający nieprawidłową transakcję zostanie automatycznie odrzucony. Próba oszukania sieci będzie Cię dużo kosztować, ponieważ w rezultacie zmarnujesz zasoby komputerowe, nie otrzymując za to żadnej nagrody.

Taka jest idea Proof of Work: użytkownikom bardziej opłaca się działać uczciwie, niż próbować oszukać system. Górnicy próbują odzyskać swoją inwestycję, więc większość będzie przestrzegać zasad, aby osiągnąć zysk.

Proof of Work (PoW) lub Proof of Stake (PoS)

Oprócz PoW istnieje wiele innych algorytmów konsensusu, ale jednym z najpopularniejszych jest Proof of Stake (PoS). Jego koncepcja sięga 2011 roku i została zaimplementowana w Ethereum i kilku innych protokołach.

W sieciach z konsensusem Proof of Stake rolę górników pełnią walidatorzy, ponieważ protokół nie jest powiązany z procesem wydobywania i zgadywaniem skrótów. Zamiast tego użytkownicy są wybierani losowo, a wybrany uczestnik musi zaproponować nowy blok. Jeżeli blok zostanie uznany za ważny, walidator otrzyma nagrodę w postaci opłat transakcyjnych za ten blok.

Protokół wybiera nowego walidatora na podstawie kilku czynników. Aby mieć szansę na wybranie, musisz zablokować część tokenów, dodając je do stakowania. Kwota ta pełni funkcję zabezpieczenia: weryfikatorzy blokują w systemie określoną liczbę monet, które zostaną utracone, jeżeli weryfikator będzie próbował oszukać system. Stawianie monet zostanie utracone, jeśli walidator podejmie próbę sprawdzenia nieprawidłowego bloku.

Proof of Stake ma pewne zalety w porównaniu z Proof of Work. Jednym z nich jest mniejszy ślad węglowy. Wynika to z faktu, że Proof of Stake nie wymaga utrzymania potężnych farm górniczych, a co za tym idzie zużywa znacznie mniej prądu niż Proof of Work. 

Jednak PoS nie ma tak dobrych osiągnięć jak PoW. Chociaż PoW może być postrzegany jako marnotrawstwo, wydobywanie jest obecnie jedynym algorytmem konsensusu, który dobrze sprawdza się od ponad dekady. W tym czasie mechanizm PoW Bitcoina bezpiecznie przetworzył transakcje o wartości bilionów dolarów. Protokół PoS musi jeszcze udowodnić swoją skuteczność i konkurencyjność w dłuższej perspektywie.

Wreszcie

Proof of Work to niezawodne i bezpieczne rozwiązanie problemu podwójnych wydatków. Bitcoin udowodnił, że nie wymaga scentralizowanych organizacji. Przy właściwym wykorzystaniu kryptografii, funkcji skrótu i ​​teorii gier uczestnicy zdecentralizowanego środowiska mogą sami monitorować poprawność działania całej finansowej bazy danych.

Rekomendowane lektury

  • Co to jest wydobywanie kryptowalut i jak to działa?

  • Co to jest kryptografia klucza publicznego?

  • Jaki jest algorytm konsensusu blockchain?

Zastrzeżenie: Poniższe materiały są dostarczane „tak jak są”, bez jakiejkolwiek gwarancji, wyłącznie w celach informacyjnych i edukacyjnych. Informacji tych nie należy uważać za poradę finansową, poradę prawną ani rekomendację zakupu konkretnego produktu lub usługi. Powinieneś zasięgnąć porady u odpowiednich profesjonalnych doradców. Ponieważ ten artykuł został napisany przez autora będącego stroną trzecią, należy pamiętać, że wyrażone opinie są opiniami autora będącego stroną trzecią i niekoniecznie odzwierciedlają poglądy Akademii Binance. Aby uzyskać bardziej szczegółowe informacje, kliknij link. Wartość aktywów cyfrowych może być zmienna. Wartość zainwestowanych środków może rosnąć i spadać. Możesz nie odzyskać zainwestowanych środków. Ponosisz wyłączną odpowiedzialność za swoje decyzje inwestycyjne. Binance Academy nie ponosi odpowiedzialności za Twoje ewentualne straty. Informacje te nie stanowią porady finansowej, prawnej ani zawodowej. Aby dowiedzieć się więcej, przeczytaj nasze Warunki użytkowania i Informacje o ryzyku.