Pierwsze łańcuchy bloków, wykorzystywały algorytm Proof of Work tak samo jak Bitcoin. W Proof of Work, moc obliczeniowa zwana hashrate, jest wykorzystywana, aby „wykopać” kolejne bloki i dodać je do łańcucha. Trudność wydobywania bloków, czy czasowe odstępy między nimi zależą od projektu, natomiast wszystkie, zużywają sporo energii elektrycznej, aby wykonywać swoje zadania, czyli po prostu, aby wykopać i dodać blok do łańcucha.
Po co powstał Proof of Stake?
Proof of Stake powstał przede wszystkim, aby pozbyć się wad, które posiada POW. Mimo że bardzo bezpieczny w przypadku Bitcoina, Proof of Work posiada sporo wad, które wielokrotnie były wykorzystywane przeciwko Bitcoinowi jak i wszystkim kryptowalutom.
Wady Proof of Work
Jedną z głównych wad tego algorytmu jest wysokie wykorzystanie energii. W skrócie, sieć POW składa się z mnóstwa komputerów, z których każdy wykorzystuje dużo energii, aby wykonywać potrzebne obliczenia. Dane z sieci Bitcoin pokazują, że jego kopanie, zużywa więcej energii niż niektóre kraje.
Innymi problemem, z którym borykają się projekty Proof of Work jest podatność na ataki 51%. Nie dotyczy to Bitcoina, ze względu na to jak jest ogromny, natomiast mniejsze sieci POW mogą być łatwiej zaatakowane. Atak 51% polega na przejęciu większości sieci, aby móc wykonywać na niej szkodliwe transakcje. Ethereum Classic potrafiło zostać zaatakowane w ten sposób dwukrotnie w ciągu tygodnia.
Niektóre kryptowaluty wykorzystujące ten algorytm mogą zostać również scentralizowane. Jeśli moc sieci nie jest wysoka, pule wydobywcze mogą łatwo przejąć kontrolę nad siecią i dyktować swoje warunki.
Aby pozbyć się tych wad, powstał pierwszy, standardowy Proof of Stake.
Proof of Stake
System POS wymaga od użytkownika wykazania tego, że posiada konkretną ilości jednostek danej kryptowaluty. W klasycznych blockchainach POS twórca kolejnego bloku jest wybierany w sposób pseudolosowy, w zależności od tego jak dużo jednostek kryptowaluty posiada w swoim portfelu. Ta ilość to tzw. Stake, określa on udział użytkownika w tej sieci. W przeciwieństwie do POW, bloki w POS są „wykuwane” lub „wybijane”, a nie kopane, ze względu na to, że POS nie wykorzystuje żadnego sprzętu, który to umożliwia.
Pierwszą kryptowalutą, która wykorzystywała Proof of Stake był Peercoin powstały w 2012 roku. Przedstawili następującą wizję:
Peercoin wykorzystuje algorytmy Proof of Work i Proof of Stake. Algorytm PoW służy do dystrybucji nowych monet. 99% wszystkich Peercoinów jest tworzonych za pomocą PoW. Proof of Stake służy do zabezpieczenia sieci: w przypadku podziału łańcucha bloków ten z najdłuższym wiekiem monet PoS wygrywa.
Jak działa Proof of Stake?
Aby weryfikować transakcje, walidator sieci, czyli odpowiednik górnika w Proof of Work, musi najpierw zastawić w swoim portfelu konkretną ilość kryptowaluty jako “stake”. Portfel musi być cały czas on-line i posiadać pełną kopię łańcucha bloków. W tym momencie może on uczestniczyć w sieci i weryfikować transakcje. Za bloki, które wykuje, otrzyma nagrodę, o ile taka jest oraz opłaty z transakcji.
Jako że w PoS wybór walidatora kolejnego bloku zależny jest od ilości zastawionych monet, prowadzi do faworyzowania tych bogatszych. Dlatego też wprowadzono kilka różnych systemów, aby temu zapobiegać takich jak np. „Coin age”, lub „Random Block Selection”
Random Block Selection
W metodzie losowego wyboru bloków algorytm wyszukuje użytkowników z zarówno najniższą wartością hash jak i najwyższą wartością Stake, czyli stawki, którą trzeba zablokować w portfelu. W zgodzie z podstawową koncepcją blockchain „stawki” są publiczne, a zatem sieć może łatwo określić, kto otrzyma następną nagrodę.
Coin Age
System oparty o wiek monet wybiera kolejnego walidatora na podstawie wieku jego stawki. Ten wiek jest obliczany poprzez pomnożenie ilości zablokowanych monet przez liczbę dni, w których monety były „stakowane”. Użytkownicy, którzy mają najwięcej monet zablokowanych od najdłuższego czasu, mają największe szanse na zostanie wybranym. Po tym jak użytkownik zostanie wybrany, jego wiek zostaje zresetowany do 0. Wspomniany wcześniej Peercoin wykorzystywał zarówno metodę Coin Age, jaki i Random Block Selection.
Zalety Proof of Stake
Jedną z największych zalet tego algorytmu jest zwiększona decentralizacja. Każdy może uczestniczyć w weryfikacji transakcji i rywalizować o nagrody. Próg wejścia, w większości przypadków, jest znacznie niższy ze względu na brak potrzeby zakupu drogiego sprzętu do kopania, organizacji miejsca na ten sprzęt, czy energię elektryczną.
PoS jest również znacznie bardziej przyjazny środowisku, ponieważ zużywa bardzo niewiele energii. W wielu przypadkach wystarczy aplikacja (portfel) zainstalowana na komputerze lub serwerze wirtualnym.
Poza tym, atak 51% w wielu sieciach PoS jest znacznie droższy. Potencjalny napastnik musiałby posiadać 51% dostępnych monet, co w większości przypadków jest bardzo kosztowne i co za tym idzie nieopłacalne.
Wiele projektów Proof of Stake wprowadza również do życia koncepcję Slashingu, czyli "obcięcia", czy po prostu utraty procenta zastawionych przez walidatora tokenów w przypadku gdy działa on na szkodę sieci, co dodatkowo zachęca wszystkich do poprawnego wykonywania swoich obowiązków.
Wady
Oczywiście wszystko ma swoją drugą stronę i niekiedy ilość monet potrzebna, aby w ogóle móc stakować również swoje kosztuje. Z tym problemem walczą inne odmiany POS, np. DPOS, gdzie każdy może oddelegować swoje tokeny do walidatorów, którzy dzielą się swoimi nagrodami, tyle że zwiększa się przez to centralizacja sieci.
Co więcej, nawet w przypadku zastosowań rozwiązań takich jak Coin Age chroniących przed wzbogacaniem najbogatszych, nadal największy wpływ na wybór walidatora ma ilość posiadanych monet, co faworyzuje bogatszych.
Podsumowanie
Od momentu powstania Proof of Stake zostały stworzone inne typy tego algorytmu jak Delegated Proof of Stake, Nominated Proof of Stake, Leased Proof of Stake i inne.
Każdy projekt stosuje swoje podejście do Proof of Stake. W przypadku przejścia Ethereum na POS trzeba będzie posiadać 32 ETH, aby zostać walidatorem, z kolei Algorand zapewnia nagrody każdemu adresowi, który posiada co najmniej 1 ALGO w portfelu.