Wstęp
Proof of Work (często w skrócie „PoW”) to mechanizm zapobiegający problemowi podwójnych wydatków. Zdecydowana większość kryptowalut wykorzystuje ten mechanizm algorytmu konsensusu. Nazywamy to podejście kryptograficznie bezpieczną księgą.
Dowód pracy jest jednym z najwcześniejszych algorytmów konsensusu i nadal jest w głównym nurcie. Satoshi Nakamoto przedstawił tę koncepcję w białej księdze Bitcoin wydanej w 2008 roku, ale sama technologia została opracowana wcześniej.
Zanim w ogóle istniały kryptowaluty, HashCash Adama Backa był wczesnym przykładem algorytmu proof-of-work. HashCash łagodzi problem spamu, który nęka odbiorców, wymagając od nadawcy wykonania niewielkiej liczby obliczeń przed wysłaniem wiadomości e-mail. Takie obliczenia są prawie łatwe w przypadku zwykłych nadawców, ale w przypadku tych, którzy wysyłają duże ilości e-maili, obciążenie szybko wzrasta.
Na czym polega problem podwójnych wydatków?
Podwójne wydatki mają miejsce, gdy te same środki są wykorzystywane wielokrotnie. Termin ten dotyczy w zasadzie wyłącznie świata walut cyfrowych, ponieważ w prawdziwym życiu nie można zapłacić dwukrotnie tej samej kwoty gotówki. Na przykład, gdy zapłacisz kasjerowi za kawę, zostaje ona zablokowana w kasie. Klient nie ma możliwości kupienia kolejnej filiżanki kawy w kawiarni po drugiej stronie ulicy za tę samą kwotę.
Może się to zdarzyć, jeśli zostanie wdrożony system cyfrowej gotówki. Wszyscy kopiowaliśmy już wcześniej pliki komputerowe i możemy wysłać ten sam plik pocztą elektroniczną do dziesięciu, dwudziestu, a nawet pięćdziesięciu osób, po prostu kopiując i wklejając.
Ponieważ waluty cyfrowe to tylko formy danych, musimy uważać, aby inni nie kopiowali i nie płacili za tę samą walutę gdzie indziej. W przeciwnym razie nasz system monetarny wkrótce się załamie.
Jeśli chcesz dowiedzieć się więcej na temat problemu podwójnych wydatków, przeczytaj „Szczegółowe wyjaśnienie problemu podwójnych wydatków”.
Dlaczego potrzebny jest dowód pracy?
Jeśli przeczytałeś nasz przewodnik po technologii blockchain, wiesz, że użytkownicy publikują transakcje w sieci. Ale te transakcje nie są skuteczne od razu, a dopiero po dodaniu do blockchaina.
Blockchain to ogromna baza danych widoczna dla wszystkich użytkowników, dzięki czemu każdy może zobaczyć, jak środki zostały wcześniej wykorzystane. Wyobraź sobie następującą sytuację: Ty i trójka innych znajomych korzystacie ze wspólnego notatnika. Nieważne, kto chce przelać pieniądze w jakiej walucie, zostanie to odnotowane. Na przykład Alicja płaci Bobowi 5 jednostek waluty, a Bob płaci Carol 2 jednostki waluty.
Komplikacją tego procesu jest to, że przy każdej transakcji należy podać źródło środków. Zatem jeśli Bob płaci Carol dwie jednostki waluty, źródłem środków jest w rzeczywistości Bob płacący Carol dwie jednostki waluty z poprzedniej transakcji z Alice.
W ten sposób mamy sposób na śledzenie tych walut. Jeśli Bob spróbuje przeprowadzić kolejną transakcję przy użyciu tej samej jednostki waluty, która została wcześniej zapłacona Carol, wszyscy wkrótce się o tym dowiedzą. Członkowie grupy udostępniającej nie pozwolą na zarejestrowanie tej transakcji w Notatniku.
W przypadku małych grup takie podejście może się bardzo dobrze sprawdzić. Wszyscy się znają i mogą dojść do porozumienia, który znajomy zapisze transakcję w notatniku. Co by się stało, gdyby była to grupa 10 000 uczestników? W tym momencie Notatnika nie da się efektywnie rozbudować, wszak nikt nie powierzyłby obcej osobie prowadzenia księgi.
Tutaj właśnie pojawia się dowód pracy. Proof-of-work gwarantuje, że użytkownicy nie będą mogli wydawać środków, do których nie mają dostępu. Algorytm sprawdzający obciążenie pracą łączy teorię gier i kryptografię, aby umożliwić każdemu aktualizację łańcucha bloków zgodnie z regułami systemowymi.
Jak działa dowód pracy?
Blockchain to notatnik, o którym wspominaliśmy powyżej. Ale teraz nie dodajemy transakcji jedna po drugiej, ale pakujemy je w bloki. Publikujemy transakcje w sieci, a użytkownik, który utworzył blok, następnie zlicza transakcję do bloku kandydującego. Transakcja zacznie obowiązywać dopiero wtedy, gdy blok kandydujący stanie się blokiem potwierdzonym. Oznacza to, że transakcja jest dodawana do łańcucha bloków.
Jednak dodawanie bloków nie jest tanie. Dowód pracy wymaga od górników (użytkowników tworzących bloki) korzystania z własnych zasobów w celu uzyskania przywilejów. Zasoby to moc obliczeniowa, którą można wykorzystać do mieszania danych blokowych do czasu znalezienia rozwiązania trudnego problemu.
Haszowanie danych bloku odnosi się do wprowadzania danych do funkcji skrótu w celu wygenerowania wartości skrótu bloku. Hash bloku działa jak „odcisk palca”, identyfikacja danych wejściowych i jest unikalny dla każdego bloku.
Uzyskanie danych wejściowych poprzez odwrócenie skrótu bloku jest prawie niemożliwe. Znając jednak dane wejściowe, można łatwo potwierdzić, że wartość skrótu jest prawidłowa. Po prostu prześlij dane wejściowe do funkcji i sprawdź, czy dane wyjściowe są takie same.
Dane przekazane do dowodu pracy, wartość skrótu muszą spełniać określone warunki. Użytkownicy nie wiedzą jednak, jak to zrobić. Jedyne, co mogą zrobić, to przekazać dane do funkcji skrótu, aby sprawdzić, czy spełnia ona kryteria. Jeśli nie pasuje, nieznacznie zmodyfikuj dane i uzyskaj inną wartość skrótu. Zmiana nawet jednego znaku w danych może dać bardzo różne wyniki, więc w ogóle nie można przewidzieć wyniku.
Zatem tworzenie bloków to gra polegająca na zgadywaniu. Ogólnie rzecz biorąc, użytkownicy muszą agregować wszystkie informacje o transakcjach i inne ważne dane, które mają zostać dodane, a następnie jednocześnie je hashować. Ponieważ zbiór danych się nie zmienia, należy dodać zmienną informację. W przeciwnym razie wyjściowa wartość skrótu będzie zawsze spójna. Te zmienne dane nazywane są „liczbą losową”. Tak długo, jak będziesz próbował zmienić wartość jednorazową za każdym razem, otrzymasz inną wartość skrótu. Proces ten nazywa się „wydobywaniem”.
Podsumowując, eksploracja to proces zbierania danych blockchain i szyfrowania ich za pomocą liczb losowych, aż do znalezienia określonej wartości skrótu. Jeśli uzyskana wartość skrótu spełnia warunki określone przez protokół, nowy blok może zostać opublikowany w sieci. W tym samym czasie inni uczestnicy sieci mogą aktualizować własne łańcuchy bloków, aby uwzględnić nowe bloki.
W przypadku współczesnych kryptowalut głównego nurtu spełnienie tych warunków jest dość trudne. Im wyższy współczynnik mieszania sieci, tym trudniej jest znaleźć prawidłowe wartości skrótu. Ma to na celu spowolnienie szybkości generowania bloków.
Możesz sobie wyobrazić wysoki koszt odgadnięcia ogromnych wartości skrótu za pomocą komputera osobistego. Zużywa to dużo czasu i energii obliczeniowej. Ale jeśli zostanie znaleziony prawidłowy skrót, protokół nagradza Cię kryptowalutą.
Przyjrzyjmy się temu, co wiemy do tej pory:
Wydobycie jest drogie.
Generuj ważne bloki, aby zdobywać nagrody.
Znając dane wejściowe, użytkownik może łatwo zweryfikować wartość skrótu. Użytkownicy, którzy nie kopiują, mogą sprawdzić, czy blok jest ważny, nie wydając dużej mocy obliczeniowej.
Jak dotąd wszystko jest w normie. Ale co się stanie, jeśli ktoś spróbuje oszukać? Jak możemy powstrzymać praktykę wprowadzania dużej liczby fałszywych transakcji do bloków w celu wygenerowania prawidłowych skrótów?
Powstała kryptografia klucza publicznego. W tym artykule nie będziemy wchodzić w szczegóły. Proszę przeczytać „Co to jest kryptografia klucza publicznego?”. " po więcej szczegółów. Mówiąc najprościej, używamy pewnych zgodnych technik kryptograficznych, aby sprawdzić, czy ktoś ma uprawnienia dostępu do określonej kwoty środków.
Tworząc transakcję, podpisujesz ją. Użytkownicy w sieci mogą porównać Twój osobisty podpis z kluczem publicznym, aby sprawdzić, czy są one zgodne. Jednocześnie użytkownicy mogą sprawdzić, czy dana osoba ma prawo korzystać ze środków i czy łączna kwota wpłat jest wyższa od całkowitej kwoty produkcji, czyli wydatki osobiste nie mogą przekraczać kwoty posiadanego majątku.
Sieć automatycznie odrzuca bloki zawierające nieprawidłowe transakcje. Koszt próby oszukania jest bardzo wysoki. Nie tylko jest to marnowanie zasobów, ale także nie zapewnia żadnych nagród.
Wychodzi na jaw tajemnica dowodu pracy – koszt oszustwa jest wysoki, ale zysk z uczciwego działania ogromny. Mądrzy górnicy będą dążyć do zwrotu z inwestycji (ROI), działać ostrożnie i zapewniać zyski.
Chcesz rozpocząć swoją przygodę z kryptowalutami? Wejdź na Binance i kup Bitcoin już teraz!
Dowód pracy a dowód stawki
Proof of Stake (PoS) jest również głównym przedmiotem zainteresowania wielu algorytmów konsensusu. Koncepcja sięga 2011 roku i została wdrożona w wielu mniejszych protokołach. Jednak nie zyskał on jeszcze adopcji wśród dużych łańcuchów bloków.
W systemie dowodu stawki górnicy są zastępowani przez „walidatorów”, a wydobywanie i zgadywanie skrótów nie wiąże się z żadną konkurencją. Zamiast tego losowo wybrani użytkownicy są zobowiązani do zaproponowania lub „wybicia” bloków. Jeżeli blokada będzie ważna, użytkownik otrzyma nagrodę w postaci opłat za transakcję blokową.
Oczywiście istnieją progi procesu selekcji, a umowa będzie kompleksowo uwzględniać różne czynniki przy wyborze użytkowników. Aby się zakwalifikować, uczestnicy muszą zablokować stawkę – określoną z góry kwotę w natywnej walucie blockchainu. Zastaw działa jak poręczenie majątkowe. Na przykład, aby uniemożliwić oskarżonym uchylanie się od procesu, muszą wpłacić duże kaucje, a walidatorzy muszą złożyć „przyrzeczenia”, aby zapobiec oszustwom. W przypadku oszustwa całość lub część zastawu zostanie skonfiskowana.
W porównaniu z dowodem pracy dowód stawki ma pewne zalety. Najbardziej oczywistą jest redukcja śladu węglowego, ponieważ Proof-of-Stake nie wymaga farm górniczych o dużej mocy i zużywa jedynie ułamek energii elektrycznej w ramach Proof-of-Work.
Mimo to popularność Proof-of-Stake jest nadal daleka od popularności Proof-of-Work. Chociaż wydobycie jest uważane za marnotrawstwo, okazało się, że jest jedynym algorytmem konsensusu, który pozwala na masowe zastosowanie. Przez ponad dekadę dowód pracy zabezpieczał transakcje warte biliony dolarów. Aby dowiedzieć się, czy dowód stawki może konkurować z dowodem pracy pod względem bezpieczeństwa, staking nadal musi zostać w pełni przetestowany w rzeczywistych operacjach.
Podsumować
Proof-of-work był pierwszym rozwiązaniem problemu podwójnych wydatków, a jego niezawodność i bezpieczeństwo zostały udowodnione. Bitcoin udowadnia, że nie musimy polegać na scentralizowanym podmiocie, aby zapobiec dwukrotnemu wydaniu tych samych pieniędzy. Uczestnicy zdecentralizowanego środowiska mogą koordynować śledzenie stanu finansowych baz danych poprzez sprytne wykorzystanie kryptografii, funkcji skrótu i teorii gier.

