Czym jest proof of activity i jak działa ten mechanizm konsensusu?

Czym jest proof of activity?
Proof of Activity to hybrydowy mechanizm konsensusu dla kryptowalut, w którym proof of work i proof of stake wspólnie decydują o tym, czy nowy blok zostanie zatwierdzony. Mówiąc prościej: minerzy rozpoczynają proces mocą obliczeniową, a następnie wybrani posiadacze monet pomagają zatwierdzić blok.
Pierwotny projekt pojawił się w 2014 roku i został opracowany przez Iddo Bentova, Charlesa Lee, Alexa Mizrahiego i Meni Rosenfelda. Idea polega na tym, aby nie opierać się wyłącznie na jednej grupie. Mining najpierw dostarcza wyniku trudnego do sfałszowania. Ten wynik losowo wybiera następnie, którzy stakerzy mogą wziąć udział.
Miner najpierw znajduje nagłówek bloku. To niewielki fragment informacji, który między innymi odwołuje się do poprzedniego bloku. Można go traktować jako początkowy dowód dla nowego bloku. Na podstawie tego nagłówka system wybiera posiadaczy monet, którzy mają podpisać blok.
Warto wiedzieć: Proof of Activity często skraca się do PoA, ale ten skrót oznacza też Proof of Authority. To zupełnie inny mechanizm konsensusu, w którym wcześniej znane podmioty walidują bloki.
Najważniejsze informacje
- Proof of Activity łączy proof of work z proof of stake.
- Minerzy rozpoczynają produkcję bloku mocą obliczeniową.
- Następnie wybierani są posiadacze monet, którzy podpisują blok.
- W pierwotnym projekcie wybór stakerów zależy od znalezionego nagłówka bloku.
- Proof of Activity to coś innego niż Proof of Authority, mimo tego samego skrótu PoA.
Jak działa proof of activity?
W pierwotnej propozycji Proof of Activity zaczyna się od mining. Minerzy próbują za pomocą proof of work znaleźć poprawny, niemal pusty nagłówek bloku. W tym celu muszą obliczyć bardzo wiele hashy, aż jeden z nich spełni wymagania trudności sieci.
Następnie następuje faza stakingu. Znaleziony nagłówek wskazuje za pomocą metody zwanej follow-the-satoshi kilku pseudolosowo wybranych stakeholderów. Pseudolosowo oznacza tutaj, że wynik wygląda na losowy, ale podlega stałym zasadom, które każdy może sprawdzić.
Szansa na wybór zależy od liczby monet posiadanych przez daną osobę. Kto ma więcej monet, ten ma więc większą szansę na wybór. Pierwsi wybrani stakeholderzy podpisują nagłówek. Ostatni wybrany uczestnik zbiera transakcje, tworzy pełny blok i wysyła go do sieci.
Ten pełny blok w pierwotnej propozycji nazywa się wrapped block. To w praktyce pusty nagłówek minera, uzupełniony o transakcje i wymagane podpisy stakerów.
Przykład: Załóżmy, że miner znajduje poprawny nagłówek, a protokół wybiera czterech stakeholderów. Trzech z nich podpisuje nagłówek. Czwarty dodaje transakcje, umieszcza wszystko w pełnym bloku i również go podpisuje. Dopiero wtedy blok może zostać wysłany.
Węzły następnie sprawdzają, czy wszystko jest zgodne z zasadami. Przy wyborze między różnymi wersjami blockchaina pierwotny projekt wybiera łańcuch z największą łączną trudnością PoW, podobnie jak Bitcoin.
Czy wybrani stakeholderzy są offline? W takim przypadku nagłówek może nie zostać ukończony. Inni minerzy mogą wtedy znaleźć nowe nagłówki, przez co system wybierze innych stakeholderów. To, ile dokładnie podpisów jest potrzebnych i jak dzielone są nagrody, zależy od konkretnego protokołu.
Jaką rolę pełnią mining i staking w Proof of Activity?
Mining i staking mają w Proof of Activity osobne zadania. Mining odpowiada za fazę PoW: minerzy używają mocy obliczeniowej, aby znaleźć poprawny nagłówek lub blok-kandydata. Staking odpowiada potem za fazę PoS: wybrani posiadacze monet sprawdzają i podpisują wynik.
Dzięki temu projekt wykorzystuje dwa rodzaje zasobów ekonomicznych do zabezpieczenia sieci:
- Hashrate: łączna moc obliczeniowa wykorzystywana przez minerów.
- Stake: monety, które decydują o tym, jak duża jest szansa na wybór.
Stoi za tym dość logiczne założenie. Ktoś, kto kontroluje wyłącznie dużą ilość sprzętu do miningu, nie może w tym modelu samodzielnie zakończyć każdego bloku. Potrzebny jest także udział wybranych stakerów. Z drugiej strony stakerzy nie mogą rozpocząć nowego bloku bez fazy mining.
Dokładne zasady bardzo różnią się jednak w zależności od blockchaina. Decred jest znanym przykładem hybrydowego systemu PoW/PoS, który czerpie inspirację z Proof of Activity, ale technicznie nie działa dokładnie tak jak pierwotna propozycja.
W Decred minerzy PoW tworzą bloki. Następnie pięć losowo wybranych staking tickets głosuje on-chain nad tymi blokami. Potrzebne są co najmniej trzy głosy. Na taki ticket trzeba tymczasowo zablokować DCR. Jeśli ticket skutecznie zagłosuje, właściciel otrzymuje z powrotem zablokowane DCR oraz nagrodę PoS. Jeśli ticket nie będzie dostępny w momencie wywołania, traci głos i nagrodę.
Staking nie oznacza więc automatycznie, że każdy holder zawsze waliduje. Trzeba zostać wybranym, a w niektórych projektach także być online we właściwym momencie.
Czym różni się proof of activity od proof of work?
Największa różnica polega na tym, że czysty proof of work opiera się wyłącznie na mocy obliczeniowej, natomiast Proof of Activity po mining wymaga także udziału wybranych stakerów, aby zakończyć blok.
W czystym PoW minerzy konkurują ze sobą o znalezienie nowego bloku. Miner z poprawnym wynikiem może dodać blok. W pierwotnym projekcie Proof of Activity mining nadal wykonuje tę pierwszą część pracy, ale potem dochodzi dodatkowa warstwa kontroli ze strony posiadaczy monet.
Proof of Activity nie zastępuje więc miningu. Minerzy nadal muszą używać sprzętu i obliczać hashe. Koszty energii i sprzętu związane z PoW nie znikają.
Założenie jest jednak takie, że atakujący musi brać pod uwagę nie tylko hashrate, ale też stake wybranych uczestników. To, ile dodatkowej ochrony rzeczywiście to daje, zależy od podziału hashrate i monet, od tego, ilu stakerów jest online, oraz od zasad używanych przez protokół.
Pierwotny projekt miał na celu to, aby zabezpieczenie PoW mogło być potencjalnie mniej rozbudowane niż w całkowicie PoW-owym systemie. Dzięki temu zużycie energii mogłoby być niższe. Nie jest to jednak automatyczny efekt: hybrydowy model nadal zależy od miningu i może zużywać dużo zasobów.
Czym różni się proof of activity od proof of stake?
W czystym proof of stake walidatorzy odpowiadają za produkcję bloków na podstawie stake, natomiast Proof of Activity najpierw potrzebuje minera, który rozpocznie proces.
W systemie PoS walidatorzy blokują monety jako zabezpieczenie i są wybierani zgodnie z zasadami danej sieci do tworzenia lub sprawdzania bloków. Dla każdego bloku nie jest potrzebna faza mining PoW.
W Proof of Activity działa to odwrotnie, w dwóch krokach. Najpierw miner za pomocą mocy obliczeniowej znajduje poprawny nagłówek. Ten nagłówek następnie określa, którzy stakeholderzy podpisują i kończą blok. Proof of Activity łączy więc koszty miningu z udziałem opartym na stake.
Proof of stake nie jest zresztą jednym stałym schematem. Ethereum używa na przykład Gasper. Walidatorzy blokują tam ETH, głosują nad blokami i mogą stracić część swojego stake przy określonych złośliwych działaniach. Nazywa się to slashing.
Decred również nie jest czystym blockchainem PoS. Tam minerzy tworzą bloki, a wybrane tickets głosują nad nimi. Właśnie dlatego Decred lepiej postrzegać jako hybrydowy projekt PoW/PoS.
Jakie są zalety proof of activity?
Jedną z zalet Proof of Activity jest to, że kontrola nad produkcją bloków może być rozdzielona między minerów i stakeholderów. Sieć nie opiera się więc wyłącznie na podmiotach z dużą mocą obliczeniową ani tylko na dużych stakerach.
W pierwotnym projekcie ktoś, kto chce stworzyć alternatywny łańcuch, nie musi tylko umieć minować. Taka osoba musi też mieć wystarczający wpływ na wybrany stake albo skłonić wybranych uczestników do współpracy. Przy założeniach tego projektu może to sprawić, że atak będzie droższy i trudniejszy.
Faza stake może też zachęcać posiadaczy monet do utrzymywania dostępnych węzłów online. Minerzy zwykle ponoszą koszty sprzętu i energii. Stakerzy według pierwotnego modelu mają niższe koszty operacyjne, więc relacja między bezpieczeństwem a nagrodami może być korzystniejsza.
Hybrydowy system może też łączyć dodatkowe funkcje ze stakingiem. Pokazuje to Decred: wybrane tickets nie tylko walidują bloki tworzone przez minerów, ale mogą też głosować nad wcześniej ustalonymi zmianami zasad konsensusu.
W Decred głosy ticketów mogą ponadto wpływać na nagrodę minerów. Jeśli większość wybranych ticketów odrzuci poprzedni blok, miner może stracić za niego nagrodę. Dzięki temu stakerzy w tym protokole mają sposób na ograniczanie problematycznego zachowania minerów, takiego jak kopanie pustych bloków.
Są to jednak cechy konkretnego projektu lub protokołu. Sam label Proof of Activity nie mówi automatycznie, ile energii zużywa blockchain ani jak trudny jest dokładnie atak.
Jakie są ograniczenia i ryzyka proof of activity?
Proof of Activity nie usuwa całkowicie wad miningu. Ponieważ faza PoW nadal istnieje, pozostają koszty energii, koszty sprzętu i presja na większych minerów, którzy mogą pozwolić sobie na więcej zasobów.
Problemem pozostaje też koncentracja stake. W pierwotnym projekcie follow-the-satoshi uczestnicy z większą liczbą monet mają częściej szansę zostać wybrani jako podpisujący. Dzięki temu mogą częściej otrzymywać nagrody i zyskiwać większy wpływ.
Drugim praktycznym ryzykiem jest dostępność. Jeśli wybrany staker jest offline, nie może podpisać. W pierwotnym projekcie nagłówek może wtedy czasem nie zostać ukończony. W Decred brak dostępności ticketu w momencie wywołania oznacza utracony głos bez nagrody. To, czy blockchain przez to zwolni, zależy od wymaganej liczby głosów i zasad awaryjnych.
Zasady są też bardziej złożone niż w przypadku jednego, prostego mechanizmu konsensusu. Mamy mining, wybór stake, podpisy, nagrody i reguły dla różnych wersji blockchaina. Wymaga to starannie napisanego kodu, audytów i jasnych ustaleń w ramach protokołu.
W Decred użytkownicy mogą delegować tickets do Voting Service Providers, czyli VSP. Taka usługa może w teorii głosować inaczej niż chciałby właściciel ticketu. Byłoby to widoczne i użytkownicy mogliby przejść do innej usługi, ale nadal pozostaje to ryzykiem związanym z delegacją i centralizacją.
Krótko mówiąc: hybrydowy model może dodać dodatkowe bariery dla atakujących, ale zachowuje też ryzyka zarówno miningu, jak i stakingu.
Gdzie stosuje się proof of activity?
Decred to działający blockchain z hybrydowym modelem PoW/PoS, który czerpie inspirację z Proof of Activity oraz wcześniejszego projektu o nazwie MC2. Nie realizuje dokładnie pierwotnego protokołu Proof of Activity, ale dobrze pokazuje, jak mining i staking mogą współpracować w jednym systemie.
Od bloku 4 096, wydobytego 21 lutego 2016 roku, każdy blok Decred przetwarza głosy co najmniej trzech ticketów. Głosy te zatwierdzają zawartość poprzedniego bloku. Minerzy tworzą więc bloki, ale do ich walidacji potrzebują udziału właścicieli ticketów.
Różnica względem pierwotnej propozycji dotyczy przede wszystkim selekcji. Decred działa na puli wcześniej zakupionych ticketów, które najpierw muszą dojrzeć. Pierwotny projekt wybiera stakeholderów przez follow-the-satoshi na podstawie nagłówka, który właśnie znalazł miner.
Poza Decred czasem wymienia się też Espers jako zastosowanie Proof of Activity. Aktualny sposób działania i dokładne dopasowanie do pierwotnego projektu nie są jednak jasne. Dlatego nie można powiedzieć, że Proof of Activity jest dziś używany na szeroką skalę.
Podsumowanie
Proof of Activity to hybrydowy sposób organizacji konsensusu w krypto. Minerzy rozpoczynają produkcję bloków za pomocą proof of work, a następnie wybrani stakerzy pomagają sprawdzić i zakończyć blok.
Może to bardziej rozdzielić władzę nad blockchainem niż w przypadku samego miningu albo samego stakingu. Jednocześnie system nadal zależy od sprzętu do miningu, dostępnych stakerów i starannie dobranych zasad. Decred pokazuje, jak takie hybrydowe podejście może działać w praktyce, choć technicznie różni się od pierwotnej propozycji Proof of Activity.
Dla Ciebie najważniejsze jest to: Proof of Activity nie jest standardowym modelem, który spotyka się wszędzie, lecz interesującym projektem, w którym łączą się dwa znane sposoby osiągania konsensusu.