Kluczowe punkty

  • Proof of Work (PoW) to mechanizm konsensusu stworzony w celu zapobiegania podwójnym wydatkom w cyfrowych systemach płatności.

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

  • Bitcoin i kilka innych kryptowalut wykorzystuje PoW jako metodę zabezpieczania sieci blockchain i jej danych.

Wstęp

Podsumowując, Proof of Work (PoW) to mechanizm stworzony, aby zapobiegać podwójnym wydatkom w cyfrowych systemach płatności. Bitcoin i kilka innych kryptowalut wykorzystuje PoW jako metodę zabezpieczania sieci blockchain i jej danych. Mechanizmy te są często nazywane algorytmami konsensusu lub mechanizmami konsensusu, ponieważ angażują wiele stron osiągających konsensus bez konieczności wzajemnego zaufania.

Proof of Work był pierwszym algorytmem konsensusu, który się pojawił i pozostaje jednym z najważniejszych, obok Proof of Stake (PoS). PoW został wprowadzony przez Satoshiego Nakamoto w białej księdze Bitcoina w 2008 roku, ale sama technologia została opracowana dużo wcześniej.

HashCash Adama Backa jest jednym z pierwszych przykładów algorytmu Proof of Work przed pojawieniem się kryptowalut. Wymagając od nadawców wykonania drobnych obliczeń przed wysłaniem wiadomości e-mail, odbiorcy mogli zmniejszyć wpływ spamu. Dla legalnego nadawcy ta kalkulacja praktycznie nic nie kosztuje, ale dla tych, którzy wysyłają masowe e-maile, koszty szybko stają się wysokie.

Co to są podwójne wydatki?

Podwójne wydatki mają miejsce, gdy ten sam fundusz jest wydany więcej niż raz. Termin ten jest używany niemal wyłącznie w kontekście waluty cyfrowej – w końcu trudno byłoby wydać dwa razy te same fizyczne pieniądze. 

Dziś płacąc za kawę, oddajesz pieniądze osobie, która prawdopodobnie trzyma je w kasie. Nie możesz iść do kawiarni po drugiej stronie ulicy i zapłacić za kolejną kawę z tą samą oceną. Jednak w systemach pieniądza cyfrowego istnieje taka możliwość. 

Prawdopodobnie zduplikowałeś plik komputerowy za pomocą poleceń kopiowania i wklejania. Łatwo jest także wysłać ten sam plik e-mailem do kilkudziesięciu osób. Ponieważ pieniądze cyfrowe to nic innego jak dane, należy uniemożliwić ludziom wydawanie dwukrotnie, czyli kopiowanie i wydawanie tych samych jednostek w różnych miejscach. Cyfrowy system płatności, który nie jest w stanie zapobiec podwójnym wydatkom, upadnie w mgnieniu oka.

Aby uzyskać bardziej szczegółowe informacje na temat podwójnych wydatków, zapoznaj się z artykułem Przewodnik dotyczący podwójnych wydatków.

Dlaczego dowód pracy jest konieczny?

Jeśli czytasz nasz artykuł na temat technologii blockchain, wiesz, że użytkownicy kryptowalut nieustannie transmitują transakcje do sieci. Transakcje te nie są jednak od razu uznawane za ważne, dzieje się tak dopiero po ich potwierdzeniu i dodaniu do blockchainu.

Na przykład łańcuch bloków Bitcoin działa jako publiczna baza danych transakcji (księga/księga), którą wszyscy użytkownicy mogą zobaczyć. Wyobraź sobie taki scenariusz: ty i trzej przyjaciele macie notatnik do śledzenia transakcji bitcoinami. Ilekroć ktoś z Was chce dokonać transferu wartości, zapisuje:

Alicja zapłaciła Bobowi 5 BTC; Bob zapłacił Carol 2 BTC itp.

Ale za każdym razem, gdy dokonujesz transakcji, odnosisz się do transakcji, z której pochodzą środki. Zatem jeśli Bob płacił Carol 2 BTC, dane wejściowe byłyby następujące: 

Bob zapłacił Carol 2 BTC, czyli kwotę, która pochodziła z poprzedniej transakcji z Alice.

Mamy teraz sposób na śledzenie jednostek 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 natychmiast się o tym dowiedzą. Grupa nie pozwoli na dodanie transakcji do notatnika, ponieważ te 2 BTC zostały już wydane.

To może się sprawdzić w małej grupie. Ponieważ wszyscy się znają, prawdopodobnie dojdą do porozumienia w sprawie tego, którzy znajomi mogą dodawać transakcje do notatnika. A co jeśli chcemy grupę 10 000 uczestników? Pomysł z notatnikiem nie byłby odpowiedni, ponieważ nikt nie chce powierzyć nieznajomemu zarządzania rejestrami transakcji.

Tutaj właśnie pojawia się dowód pracy. Zapewnia, że ​​użytkownicy nie wydają pieniędzy, których nie mają prawa wydawać. Wykorzystując połączenie teorii gier i kryptografii, algorytm PoW umożliwia każdemu aktualizację blockchainu zgodnie z regułami systemu.

Jak działa PoW?

Wyobraź sobie, że naszym notatnikiem w powyższym przykładzie jest blockchain, ale nie dodajemy transakcji jedna po drugiej – zamiast tego grupujemy je w bloki. Zgłaszamy transakcje do sieci, a użytkownicy tworzący blok uwzględnią transakcje w bloku kandydackim. Transakcje zostaną uznane za ważne tylko wtedy, gdy ich blok kandydujący stanie się blokiem potwierdzonym, co oznacza, że ​​został dodany do bazy danych blockchain.

Proces zatwierdzania transakcji i dodawania nowych bloków nazywa się eksploracją. Wydobywanie jest drogie i trudne, ale może być również satysfakcjonujące. Nagroda za blok pochodzi z opłat transakcyjnych użytkowników i nowych bitcoinów utworzonych przez protokół. 

Mechanizm Proof of Work wymaga od górnika (użytkownika tworzącego blok) zainwestowania zasobów, takich jak energia elektryczna i moc obliczeniowa, w celu przetworzenia skrótu danych bloku kandydującego do czasu znalezienia rozwiązania zagadki.

Haszowanie danych bloku oznacza uruchomienie funkcji skrótu w celu wygenerowania tożsamości (haszu) bloku. Działa jak „odcisk palca” dla danych wejściowych i jest unikalny dla każdego bloku.

Innymi słowy, górnik musi zweryfikować i zebrać oczekujące transakcje, zorganizować je w blok kandydujący i przekazać dane bloku przez funkcję mieszającą, aby utworzyć prawidłowy skrót. Jeśli uda im się znaleźć prawidłowy skrót dla swojego bloku kandydującego, rozgłaszają go do sieci, dodają blok do łańcucha bloków i odbierają nagrody za wydobycie.

Kiedy górnik przesyła do sieci swój blok kandydujący i skrót, pozostali uczestnicy sieci powtarzają proces mieszania, aby sprawdzić, czy dane wyjściowe są rzeczywiście prawidłowe. 

Chociaż znalezienie prawidłowego skrótu wymaga wielu prób mieszania, osoba może łatwo potwierdzić, że wygenerowany skrót jest poprawny. Wystarczy wysłać to samo wejście (dane blokowe) przez funkcję skrótu i ​​sprawdzić, czy dane wyjściowe są takie same.

W Proof of Work musisz podać dane, których skrót spełnia określone warunki, ale nie wiesz jak się tam dostać. Jedyną opcją jest przesłanie danych za pomocą funkcji skrótu i ​​sprawdzenie, czy spełniają one warunki. W przeciwnym razie będziesz musiał nieco zmienić swoje dane, aby uzyskać inny skrót. Zmiana pojedynczego znaku w danych zakończy się zupełnie innym wynikiem, więc nie ma możliwości przewidzenia wyniku.

Jeśli więc chcesz utworzyć blok, będziesz grać w zgadywanie. Zwykle pobierasz informacje o wszystkich transakcjach, które chcesz dodać, oraz inne ważne dane, a następnie łączysz to wszystko w jedną całość. Ponieważ jednak zbiór danych nie ulegnie zmianie, konieczne będzie dodanie informacji, które są zmienne. W przeciwnym razie zawsze otrzymasz ten sam skrót. Te zmienne dane nazywamy wartością jednorazową. Jest to liczba, którą będziesz zmieniać przy każdej próbie, więc za każdym razem otrzymasz inny skrót.

Krótko mówiąc, eksploracja to proces zbierania danych z łańcucha bloków i mieszania ich za pomocą wartości jednorazowej, aż w rezultacie zostanie znaleziony określony skrót. Jeśli znajdziesz hash spełniający warunki określone przez protokół, masz prawo rozesłać nowy blok do sieci. Gdy to nastąpi, pozostali uczestnicy sieci zaktualizują swoje łańcuchy bloków, aby uwzględnić nowo utworzony blok.

W przypadku dzisiejszych topowych kryptowalut warunki są bardzo trudne do spełnienia. Im wyższy współczynnik mieszania w sieci, tym trudniej jest znaleźć prawidłowy skrót. Ma to na celu zapewnienie, że bloki nie zostaną znalezione zbyt szybko.

Jak możesz sobie wyobrazić, próba odgadnięcia dużych ilości skrótów może być kosztowna dla Twojego komputera. Marnujesz cykle obliczeniowe i energię elektryczną, ale protokół nagrodzi Cię kryptowalutą, jeśli znajdziesz prawidłowy skrót.

Podsumujmy to, co widzieliśmy do tej pory:

  • Wydobywanie jest trudne i kosztowne, ale zapewnia bezpieczeństwo sieci.

  • Górnicy, którym uda się wyprodukować prawidłowy blok, zostaną nagrodzeni nowo wyemitowanymi kryptowalutami i opłatami transakcyjnymi.

  • Wygenerowanie prawidłowego skrótu wymaga czasu, ale inni użytkownicy mogą łatwo zweryfikować jego ważność, powtarzając proces mieszania.

Na razie w porządku. A co jeśli ktoś spróbuje oszukać? Co powstrzymuje użytkownika przed wstawieniem fałszywych transakcji do bloku i utworzeniem prawidłowego skrótu?

Tutaj właśnie pojawia się kryptografia klucza publicznego. Nie będziemy wchodzić w szczegóły w tym artykule, ale sprawdź Co to jest kryptografia klucza publicznego? do kompleksowej analizy. Krótko mówiąc, istnieje kilka trików kryptograficznych, które pozwalają każdemu użytkownikowi sprawdzić, czy ktoś ma prawo przenieść środki, które próbuje wydać.

Tworząc transakcję, podpisujesz ją. Każdy w sieci może porównać Twój podpis z kluczem publicznym i sprawdzić, czy pasują. Sprawdzą też, czy faktycznie potrafisz wydać swoje środki i czy suma Twoich wpływów jest większa od sumy Twoich wypływów (tzn. czy nie wydajesz więcej, niż masz).

Każdy blok zawierający nieprawidłową transakcję zostanie automatycznie odrzucony przez sieć. Próba oszukania jest kosztowna. Zmarnujesz swoje zasoby, nie otrzymując żadnej nagrody.

Na tym właśnie polega piękno Proof of Work: oszukiwanie jest kosztowne, ale opłaca się tym, którzy działają uczciwie. Każdy racjonalny górnik będzie szukał zwrotu ze swojej inwestycji, dlatego oczekuje się, że będzie zachowywał się w sposób, który z większym prawdopodobieństwem przyniesie dochody.

Dowód pracy (PoW) kontra dowód udziału (PoS)

Oprócz PoW istnieje kilka algorytmów konsensusu, a jednym z najpopularniejszych jest Proof of Stake (PoS). Koncepcja powstała w 2011 roku i została wdrożona w Ethereum i kilku innych protokołach.

W systemach Proof of Stake górnicy są zastępowani przez walidatorów. Nie ma tu żadnego wydobywania ani wyścigów w odgadywaniu skrótów. Zamiast tego użytkownicy są wybierani losowo – jeśli zostaną wybrani, muszą zaproponować (lub „sfałszować”) blok. Jeśli blokada jest ważna, każdy otrzymuje nagrodę składającą się z opłat transakcyjnych za blok.

Nie można wybrać dowolnego użytkownika – protokół wybiera go na podstawie kilku czynników. Aby się zakwalifikować, uczestnicy muszą zablokować stawkę, która jest z góry określoną kwotą rodzimej waluty blockchainu. Stakowanie działa jak kaucja: duża suma pieniędzy ma zniechęcić oskarżonego do uchylania się od procesu, w podobny sposób walidatorzy blokują stawkę, aby zniechęcić do oszustwa. Jeśli postąpią nieuczciwie, stawka (lub jej część) zostanie odjęta.

Proof of Stake ma pewne zalety w porównaniu z Proof of Work. Co najważniejsze, ślad węglowy jest mniejszy – ponieważ w PoS nie ma potrzeby stosowania farm wydobywczych o dużej mocy, zużywana energia elektryczna stanowi jedynie ułamek energii zużywanej w PoW. 

To powiedziawszy, PoS nie ma takich samych osiągnięć jak PoW. Chociaż może to być postrzegane jako marnotrawstwo, wydobywanie jest jedynym algorytmem konsensusu testowanym od ponad dziesięciu lat. Od momentu uruchomienia Bitcoin PoW zabezpieczył transakcje o wartości bilionów dolarów. Aby z całą pewnością stwierdzić, że PoS może osiągnąć ten sam poziom bezpieczeństwa, stakowanie musi zostać odpowiednio przetestowane w dłuższej perspektywie.

Uwagi końcowe

Proof of Work był oryginalnym rozwiązaniem problemu podwójnych wydatków i okazał się niezawodny i bezpieczny. Bitcoin udowodnił, że nie potrzebujemy scentralizowanych podmiotów, aby zapobiec dwukrotnemu wydaniu tego samego funduszu. Dzięki sprytnemu wykorzystaniu kryptografii, funkcji skrótu i ​​teorii gier uczestnicy zdecentralizowanego środowiska mogą uzgodnić stan finansowej bazy danych.

Dalsza lektura

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

  • Co to jest kryptografia klucza publicznego?

  • Co to jest algorytm konsensusu Blockchain?

Zastrzeżenie: Ta treść jest prezentowana „tak jak jest” wyłącznie w celach informacyjnych i edukacyjnych, bez jakiejkolwiek gwarancji. Treści nie należy interpretować jako porady finansowej, prawnej lub zawodowej i nie mają na celu rekomendowania zakupu żadnego konkretnego produktu lub usługi. Powinieneś sam zasięgnąć porady u profesjonalnych doradców. W przypadku wkładów i artykułów przesłanych przez zewnętrznych autorów, należy pamiętać, że wyrażone opinie są opiniami odpowiedniego autora i niekoniecznie odzwierciedlają opinie Binance Academy. Aby uzyskać więcej informacji, przeczytaj nasze zastrzeżenie tutaj. Ceny aktywów cyfrowych mogą być zmienne. Wartość Twojej inwestycji może wzrosnąć lub zmniejszyć i możesz nie odzyskać zainwestowanej kwoty. Ponosisz wyłączną odpowiedzialność za swoje decyzje inwestycyjne, a Binance Academy nie ponosi odpowiedzialności za żadne Twoje możliwe straty. Materiał ten nie powinien być interpretowany jako porada finansowa, prawna lub profesjonalna. Aby uzyskać więcej informacji, zapoznaj się z naszymi Warunkami użytkowania i Informacją o ryzyku.