W sieci Solana wiele różnych osób i podmiotów uruchamia program na wyspecjalizowanych komputerach, znanych jako validator. Validatorzy odgrywają kluczową rolę w utrzymaniu i zabezpieczaniu blockchaina Solany. Odpowiadają za przetwarzanie nowych transakcji w sieci, a także za głosowanie i dołączanie nowych bloków do łańcucha.
Ponieważ różni validatorzy na świecie mogą otrzymywać różne informacje w różnym czasie, kluczowe jest, aby sieć potrafiła uzgodnić, które transakcje i dane są stale dodawane do blockchaina. Strategia, dzięki której validatorzy i cała sieć osiągają to porozumienie, nazywana jest mechanizmem konsensusu i stanowi jedno z głównych wyzwań przy budowie zdecentralizowanej sieci blockchain. Wiele projektów próbowało różnych rozwiązań, jak osiągnąć konsensus szybko i efektywnie kosztowo.
Sieć Solana wykorzystuje mechanizm konsensusu Proof of Stake (często skracany do PoS). Każdy validator w sieci ma możliwość udziału w konsensusie, oddając głosy na bloki, które według niego powinny zostać dodane do blockchaina, potwierdzając tym samym ważność transakcji zawartych w tych blokach. Jednak nie wszystkie głosy validatorów mają taką samą wagę.
Głosy validatorów w konsensusie są ważone stakowanymi środkami – im większy stake posiada dany validator, tym większy ma wpływ na wynik głosowania. Analogicznie, validatorzy z mniejszym stake mają mniejszy wpływ, a ci bez stake nie mają wpływu na wynik głosowania konsensusu.
Staking to proces, w którym posiadacz tokenów SOL (np. osoba, która kupiła tokeny SOL na giełdzie) przypisuje część lub całość swoich tokenów do wybranego validatora lub validatorów, co zwiększa wagę głosów tych validatorów. Przypisanie swoich tokenów w celu zwiększenia stake-weight validatora nazywane jest „delegowaniem” tokenów. Delegowanie tokenów do validatora NIE daje validatorowi własności ani kontroli nad Twoimi tokenami. W każdej chwili zachowujesz pełną kontrolę nad wszystkimi stakowanymi tokenami, które zdecydowałeś się zdelegować.
Stakując tokeny u validatora lub validatorów, posiadacz tokenów wyraża pewien poziom zaufania do wybranego validatora. Gdy validatorzy gromadzą większe ilości delegacji stake od różnych posiadaczy tokenów, stanowi to „dowód” dla sieci, że głosy konsensusu tego validatora są godne zaufania, a ich głosy są ważone proporcjonalnie do ilości stake, jaką validator zgromadził. Ważąc zbiorowe głosy wszystkich validatorów względem proporcji zdelegowanego do nich stake, sieć osiąga konsensus w ramach mechanizmu Proof of Stake.
Ponieważ różni validatorzy na świecie mogą otrzymywać różne informacje w różnym czasie, kluczowe jest, aby sieć mogła dojść do porozumienia, które transakcje i dane są stale dodawane do blockchaina. Strategia, według której validatorzy i cała sieć osiągają to porozumienie, nazywana jest mechanizmem konsensusu i stanowi jedno z głównych wyzwań w budowie udanej zdecentralizowanej sieci blockchain. Wiele różnych projektów próbowało różnych rozwiązań, jak osiągnąć konsensus w sposób szybki i efektywny kosztowo.
Sieć Solana wykorzystuje mechanizm konsensusu Proof of Stake (często skracany do PoS). Każdy validator w sieci ma możliwość udziału w konsensusie poprzez oddawanie głosów na bloki, które według niego powinny zostać dodane do blockchaina, potwierdzając tym samym wszystkie ważne transakcje zawarte w tych blokach. Jednak nie wszystkie głosy validatorów mają taką samą wagę.
Głosy konsensusu validatorów są ważone stake, co oznacza, że im większy stake posiada dany validator, tym większy ma wpływ na wynik głosowania konsensusu. Analogicznie, validatorzy z mniejszym stake mają mniejszy wpływ na wynik głosowania, a validatorzy bez stake nie mają wpływu na wynik głosowania konsensusu.
W otwartej i zdecentralizowanej sieci, takiej jak Solana, każdy może uruchomić validatora, jeśli tylko zechce. Złośliwy validator lub inny nieuczciwy uczestnik mógłby próbować zaatakować sieć lub przesłać nieprawidłowe bądź fałszywe transakcje dla własnych korzyści. Dzięki opisanemu powyżej mechanizmowi konsensusu Proof of Stake, pojedynczy podmiot działający w taki oszukańczy sposób musiałby najpierw przyciągnąć pewną ilość stake’u, zanim jakiekolwiek jego działania byłyby brane pod uwagę w głosowaniu konsensusu. Im więcej posiadaczy tokenów zdecyduje się stakować swoje tokeny SOL u różnych validatorów w sieci, a całkowita ilość stake’u w sieci rośnie, tym trudniej nawet dobrze zorganizowanemu i finansowanemu atakującemu zgromadzić wystarczająco dużo stake’u, by samodzielnie wpłynąć na wynik głosowania konsensusu na swoją korzyść. Krótko mówiąc, im więcej stake’u jest delegowane do wielu różnych validatorów w sieci, tym bezpieczniejsza i bardziej odporna staje się sieć dla wszystkich jej użytkowników. Dodatkowo, posiadacze tokenów, którzy zdecydują się stakować swoje tokeny i w ten sposób pomagają zabezpieczać sieć, mogą otrzymywać nagrody za staking po zdelegowaniu swoich tokenów do jednego lub kilku validatorów. Więcej informacji o nagrodach za staking znajdziesz poniżej.
W wielu sieciach Proof of Stake istnieje mechanizm znany jako “slashing”. Slashing to proces, w którym część stake’u zdelegowanego do validatora jest niszczona jako kara za złośliwe działania podjęte przez validatora.
Ten mechanizm motywuje validatorów do unikania takich działań, ponieważ mniejszy stake zdelegowany do validatora oznacza, że validator otrzymuje mniej nagród. Slashing może być także postrzegany jako ryzyko reputacyjne, które może zniechęcić obecnych lub potencjalnych delegujących do wyboru danego validatora.
Slashing stanowi również ryzyko dla posiadaczy tokenów, którzy mogą potencjalnie stracić część swoich tokenów, jeśli zdelegują je do validatora, który zostanie ukarany slashingiem. Obecność mechanizmu slashing może motywować posiadaczy tokenów do delegowania ich wyłącznie do validatorów, których uważają za godnych zaufania, oraz do unikania delegowania wszystkich tokenów do jednego lub niewielu validatorów.
W sieci Solana slashing nie jest automatyczny. Jeśli atakujący doprowadzi do zatrzymania sieci, może zostać ukarany slashingiem po jej ponownym uruchomieniu. Więcej informacji znajdziesz w dokumentacji Solana Validator.
Każdy, kto posiada SOL, może w dowolnym momencie stakować swoje tokeny.
Aby stakować tokeny SOL, musisz korzystać z portfela obsługującego staking. Nie wszystkie portfele obsługują tę funkcję. SolFlare.com to jeden z przyjaznych dla użytkownika portfeli obsługujących staking. Zapoznaj się z oficjalną dokumentacją, aby zobaczyć listę portfeli obsługujących staking.
Tokeny SOL w Twoim portfelu muszą najpierw zostać przeniesione na konto stakingowe. Możesz tworzyć dowolną liczbę kont stakingowych i deponować na każdym z nich dowolną ilość SOL. Każde nowe konto stakingowe ma unikalny adres, a pojedynczy portfel może zarządzać lub „autoryzować“ wiele różnych kont stakingowych. Więcej informacji znajdziesz w dokumentacji dotyczącej struktury kont stakingowych.
Aby zarabiać nagrody za staking (jeśli inflacja jest włączona w mainnet beta), tokeny na koncie stakingowym muszą być delegowane do validator. Pojedyncze konto stakingowe może być delegowane tylko do jednego validator w danym czasie, więc jeśli chcesz delegować do różnych validator, musisz podzielić tokeny między wiele kont stakingowych.
Istnieje wiele narzędzi tworzonych przez społeczność, które pozwalają przeglądać informacje o sieci oraz wybrane statystyki dotyczące poszczególnych validatorów, na przykład:
Wielu validatorów przedstawia siebie i swoje usługi na forum Solana:
Tak. Niektóre osoby mogły otrzymać konto stakingowe z zablokowanymi tokenami od Solana Foundation, które zostały przekazane w zamian za świadczone usługi. Tokenów znajdujących się na kontach stakingowych z blokadą nie można wypłacić na inny adres portfela przed wygaśnięciem blokady, ale można je delegować do validatora, aby potencjalnie zdobywać nagrody ze stakingu w tym czasie. Nagrody uzyskane z zablokowanych tokenów są wpłacane z powrotem na zablokowane konto stakingowe.
Tworząc konto stakingowe po raz pierwszy, określasz, ile tokenów SOL chcesz na nim zgromadzić — tokeny te są pobierane z głównego konta portfela i deponowane na nowym koncie stakingowym.
Tokeny można również w dowolnym momencie przelać na istniejące konto stakingowe, korzystając z funkcji Przelewu lub Wysyłki w portfelu i podając adres konta stakingowego. Jeśli prześlesz tokeny na konto stakingowe, które jest już delegowane, nowe tokeny nie zostaną automatycznie zdelegowane.
Jeśli posiadasz zdelegowane konto stakingowe i chcesz zwiększyć delegację do konkretnego validator, najlepszą praktyką jest utworzenie nowego konta stakingowego z dodatkową kwotą i delegowanie go do tego samego validator.
Przykład: Zwiększanie stake delegowanego do jednego validator
Jeśli prześlesz tokeny na konto stakingowe, które jest już delegowane, nowe tokeny nie zostaną automatycznie zdelegowane. Aby te nowe tokeny również były delegowane i przynosiły nagrody, należy cofnąć delegację całego konta, a następnie ponownie je zdelegować. Ponieważ cofnięcie i ponowne delegowanie może zająć kilka dni, Twój pierwotny stake nie będzie przynosić nagród w tym okresie przejściowym.
Dlatego zalecamy przenoszenie SOL na konto stakingowe tylko przy jego pierwszym tworzeniu lub gdy nie jest ono zdelegowane.
Tokeny można wypłacić z konta stake'owego tylko wtedy, gdy nie są aktualnie delegowane. Gdy konto stake'owe zostaje po raz pierwszy oddelegowane, jest uznawane za „dezaktywujące się“ lub „schładzające“. Tokeny nie mogą zostać wypłacone z konta, dopóki część lub wszystkie z nich nie zakończą procesu dezaktywacji i nie zostaną uznane za „nieaktywne“, a tym samym przestaną generować potencjalne nagrody za staking. Szczegółowe informacje na temat czasu trwania tego okresu przejściowego można znaleźć tutaj: Kwestie czasowe.
Gdy tokeny na koncie stake'owym staną się nieaktywne, można je natychmiast wypłacić z powrotem na główny adres portfela lub na inny adres.
Przykład: Wypłata wszystkich tokenów z konta stake'owego
Jeśli chcesz zmniejszyć ilość delegowanego stake'u przypisanego do danego validatora bez dezaktywowania całego salda (i tym samym bez utraty potencjalnych nagród w czasie przestoju delegacji), możesz Podzielić istniejące konto stake'owe na dwa konta i oddelegować jedno z nich, pozostawiając drugie konto delegowane i stale kwalifikujące się do nagród.
Przykład: Zmniejszenie delegacji do danego validatora
Tokeny na koncie stake'owym objętym blokadą nie mogą zostać wypłacone do momentu wygaśnięcia blokady, niezależnie od stanu delegacji tego konta. Po wygaśnięciu blokady, oddelegowane tokeny mogą zostać natychmiast wypłacone. Posiadacz konta nie musi podejmować żadnych działań, aby specjalnie odblokować konto.
Gdy delegujesz lub oddelegowujesz konto stakingowe, tokeny nie zmieniają swojego stanu natychmiast. Nowo zdelegowane tokeny są uznawane za „aktywujące się” lub „rozgrzewające się” i nie kwalifikują się do otrzymywania nagród, dopóki nie zostaną w pełni aktywowane. Nowo oddelegowane tokeny są uznawane za „dezaktywujące się” lub „schładzające się” i nie mogą zostać wypłacone, dopóki nie zostaną dezaktywowane.
Protokół Solana pozwala na zakończenie zmiany stanu tokenów stakingowych tylko na początku nowego epoch. Epoch trwa około 2 dni. Użyj solana epoch-info, aby zobaczyć szczegóły dotyczące bieżącego epoch.
Jeśli zdelegujesz tokeny na koncie stakingowym w środku epoch, tokeny będą widoczne w Twoim portfelu jako „aktywujące się” do końca bieżącego epoch, po czym staną się aktywne i będą mogły otrzymywać nagrody. To, czy zdelegujesz tokeny na początku, czy pod koniec bieżącego epoch, nie ma wpływu na moment ich aktywacji – stanie się to dopiero na granicy kolejnego epoch. Ta sama logika dotyczy oddelegowywania lub dezaktywacji zdelegowanego konta stakingowego. Tokeny w trakcie dezaktywacji nie mogą zostać wypłacone, dopóki nie zakończą dezaktywacji na granicy epoch.
Istnieje limit, ile łącznie stakingu może zmienić stan w jednym epoch w całej sieci Solana. Nie więcej niż 25% całkowitego aktywnego stakingu w sieci może zostać aktywowane lub dezaktywowane w jednym epoch. W sytuacji, gdy więcej niż 25% całkowitego aktywnego stakingu w sieci jest aktywowane w jednym epoch, część wszystkich aktywowanych/dezaktywowanych tokenów, do globalnego limitu 25%, zakończy zmianę stanu na pierwszej granicy epoch. Pozostałe tokeny pozostaną jako „aktywujące się” lub „dezaktywujące się” przez co najmniej jeden kolejny epoch, aż do następnej granicy epoch.
Jeśli aktywacja stakingu trwa kilka epoch, część stakingu, która stanie się w pełni aktywna na pierwszej granicy epoch, kwalifikuje się do nagród, podczas gdy pozostała część, która nadal się aktywuje przez kolejny epoch, nie jest jeszcze uprawniona do nagród.
Podobnie, jeśli dezaktywacja stakingu trwa kilka epoch, część stakingu, która stanie się w pełni nieaktywna na pierwszej granicy epoch, może zostać wypłacona, podczas gdy pozostała część nadal się dezaktywuje przez kolejny epoch, po czym będzie mogła zostać wypłacona.
Wszystkie konta stakingowe na Solanie (oraz wszelkie inne typy kont) można przeglądać w eksploratorze sieci Solana, dostępnym tutaj:
Skopiuj i wklej adres interesującego Cię konta stakingowego w głównym pasku wyszukiwania eksploratora, aby zobaczyć szczegóły konta, w tym status aktywacji/dezaktywacji/delegacji, aktualne saldo oraz adresy uprawnionych do konta stakingowego, który zazwyczaj jest taki sam jak główny adres Twojego portfela.
W zależności od tego, z jakiego portfela korzystasz do zarządzania kontami stakingowymi, te same informacje mogą być widoczne po zalogowaniu się do portfela i wyświetleniu swoich kont stakingowych.
Nagrody za staking są obliczane i wypłacane raz na epoch. Jeden epoch trwa około 2 dni. Nagrody zgromadzone w danym epoch są wypłacane wszystkim validatorom i delegatorom w pierwszym bloku następnego epoch. Zysk ze stakingu jest przedstawiany w ujęciu rocznym, choć liczba ta zmienia się co epoch wraz z ciągłymi zmianami stopy inflacji i łącznego aktywnego stake'u. Szczegółowe informacje na temat zysku ze stakingu oraz pełnego projektu inflacyjnego można znaleźć tutaj:

Szacunki zysku ze stakingu dla różnych modeli udziału całkowitego stakowanego SOL można sprawdzić tutaj:
Aby oszacować ilość SOL, jaką delegator może spodziewać się zobaczyć w jednym epoch na jednym koncie stake'owym:

Uptime validatora jest definiowany przez jego zachowanie w głosowaniu konsensusowym. Za każdym razem, gdy validator głosuje na blok, który ostatecznie zostaje dodany do blockchaina, otrzymuje jeden Vote Credit.
Gdy nagrody są zliczane na koniec epoch, wszystkie głosy validatorów ważone stawką są wykorzystywane do określenia całkowitej ilości SOL przyznanej każdemu validatorowi i jego delegującym.
Walidatorzy pobierają opłatę od nagród inflacyjnych uzyskanych przez konta stakingowe delegowane do nich, w zamian za swoje usługi polegające na zabezpieczaniu blockchaina i przetwarzaniu transakcji. Opłata ta nazywana jest prowizją. Za każdym razem, gdy nagrody są przyznawane, prowizja trafia na konto walidatora, a pozostałe nagrody są proporcjonalnie rozdzielane pomiędzy wszystkie konta stakingowe delegowane do tego walidatora, w zależności od aktywnie zdelegowanej stawki na każdym koncie. Prowizja walidatora i nagrody ze stakingu są zawsze wydawane jednocześnie.
Nagrody są przyznawane raz na epoch i deponowane na koncie stakingowym, które je wypracowało. Nagrody ze stakingu są automatycznie ponownie delegowane jako aktywny stake.
Jeśli nagroda należna walidatorowi lub jednemu z jego stakingów jest mniejsza niż jeden lamport w danym epochu, wypłata nagrody jest odroczona do następnego epochu, w którym zarówno walidator, jak i stake otrzymają co najmniej jeden lamport.
Szczegóły pierwotnie zaproponowanego harmonogramu inflacji zostały omówione tutaj. Konkretne parametry określające harmonogram inflacji to:
Powyższe parametry definiuje się następująco:
Należy pamiętać, że wskaźnik inflacji nie będzie równy stopie zwrotu ze stakingu (czyli odsetkom uzyskiwanym ze stakingu tokenów). Poniżej znajduje się omówienie stopy zwrotu ze stakingu.
100% emisji inflacyjnej jest proponowane do przekazania na konta stake delegowane oraz do validatorów.
Stopa zwrotu ze stakingu pochodzi z emisji inflacyjnej, która jest rozdzielana pomiędzy delegowane konta stakingowe oraz konta głosujące validatorów zgodnie ze stawką prowizji validatora. Dzięki tej konstrukcji, stopa zwrotu ze stakingu zależy głównie od udziału SOL, który jest stakowany w sieci. Szczegółową dyskusję na temat projektu i jego wpływu na stopę zwrotu ze stakingu można znaleźć tutaj:
Nie wiadomo, jaka będzie całkowita ilość stakowanych SOL, więc możemy jedynie oszacować dokładne stopy zwrotu ze stakingu. Poniżej przedstawiamy stopy zwrotu ze stakingu w czasie, podzielone według różnych wartości procentowych stakowanych SOL, które mogą być obserwowane w sieci (między 60-90%). Parametry harmonogramu inflacji są ustawione zgodnie z powyższym opisem.

Tutaj dostępny jest prosty interaktywny dashboard, w którym można wybrać różne % stakowanych SOL, aby zobaczyć wpływ na potencjalne stopy zwrotu ze stakingu.
Pamiętaj, że jest to idealizowana stopa zwrotu ze stakingu, ponieważ nie uwzględnia wpływu dostępności validatorów na nagrody, prowizji validatorów, potencjalnego ograniczania zysków ani ewentualnych incydentów slashingowych. Dodatkowo pomija fakt, że % stakowanych SOL jest z założenia dynamiczny, tzn. oczekuje się, że % stakowanych SOL będzie się zmieniać w czasie, co wpływa na stopę zwrotu ze stakingu. Przedstawione dane służą jedynie jako przybliżone oszacowanie oczekiwanych stóp zwrotu ze stakingu.