. . .

Czy Solana rozwiązała już problemy ze stabilnością?

Rafał avatar
Rafał   2023-11-18 07:09

W 2022 roku Solana doświadczała częstych przestojów. Wielokrotnie zdarzały się kilkugodzinne przerwy w działaniu sieci powodowane różnymi problemami, a styczeń 2022 przejdzie do historii SOL jako jeden z najgorszych miesięcy jeśli chodzi o stabilność Jednak dziś bliżej nam już do 2024 roku niż do 2022. Co się działo z Solana i czy rozwiązała już problemy ze stabilnością? 

Problemy Solana ze stabilnością

W dzisiejszym artykule pochylimy się nieco na projektem, który miał ogromne problemy w przeszłości i to nie tylko powiązane ze stabilnością. Wystarczy wspomnieć zaangażowanie (i inwestycje) w ekosystem SOL przez FTX, który… wiemy gdzie dziś jest. Do tego dochodzą początkowe kontrowersje dotyczące podaży w obiegu i dystrybucji SOL, wiele zamkniętych źródłowo projektów, czy wzbudzający mieszane uczucia poziom decentralizacji sieci.

Solana właściwie została już przez wielu skreślona przez kombinację wszystkich wątpliwości i problemów, jakich doświadczała, na czele z opisywaną dziś stabilnością. Czy słusznie? To się okaże. Dziś sprawdzimy, czy Solana nadal ma tak duże kłopoty i co zrobiono, żeby je wyeliminować i przywrócić wiarę użytkowników, że będzie to stabilnie działający projekt.

Artykuł nie stanowi porady inwestycyjnej. Oryginalnie opublikowany 1.08.2023 r.

Solana i jej (nie)stabilność

W związku z wydarzeniami, jakie miały miejsce w 2022 roku, Solana była nazywana SlowLana, czy też StopLana. Choć są to zabawne i pasujące do tamtejszej sytuacji określenia, czy dziś również można ponabijać się z SOL, czy może najgorsze już za nami? Zacznijmy od poznania krótkiej historii problemów.

Wszystko zaczęło się już 9 miesięcy po starcie sieci. W grudniu 2020 roku Solana doświadczyła pierwszego incydentu, przez który nie działała przez 6 godzin.

Niemal rok później zaczęły się jednak prawdziwe kłopoty. We wrześniu 2021 roku doświadczyliśmy pierwszego tak dużego przestoju spowodowanego tzw. “atakiem DDOS”.

Atak DDOS polega na wysyłaniu wielu żądań do serwera w celu przeciążenia go. W przypadku kryptowalut, zwłaszcza Solana, przybrało to formę wysyłki ogromnej ilości transakcji. Naprawdę ogromnej. 

Zgodnie z raportami ilość wysyłanych transakcji do walidatorów dochodziła w tamtym momencie do 400 tysięcy na sekundę. Choć Solana jest szybka i (wliczając transakcje walidatorów) obsługuje spory tps, a potencjalnie może przetwarzać nawet 50 tysięcy transakcji na sekundę, nie była w stanie wytrzymać aż takiego napływu.

Solana TPSNapływ transakcji na sekundę w dniu problemów. źródło: jumpcrypto.com/writing/reflections-on-the-sept-14-solana-outage

17 godzin później Solana ruszyła, tylko po to, by w przyszłości znów się zatrzymywać…

Styczeń 2022 roku był zwiastunem tego co nadchodzi. W tym miesiącu Solana miała serię problemów technicznych, skutkujących przestojami.

Solana przestojeźródło: status.solana.com/uptime

Przestoje (oraz duże spowolnienia w działaniu) w 2022 roku były różnej długości i powodowane przez różne problemy. Nie tylko “ataki” DDOS, ale też błędy w oprogramowaniu, czy aktualizacjach, które skutkowały uniemożliwieniem osiągnięcia konsensusu. O kilku jeszcze wspomnę.

Z incydentami radzono sobie zazwyczaj dość szybko, ale dlaczego w ogóle występowały?

Dlaczego Solana się zatrzymuje?

Najpierw sprawdźmy co w ogóle oznacza “zatrzymanie się”. Jest to przerwa sieci w budowie lub potwierdzaniu nowych bloków. Skutkuje to tym, że użytkownicy nie mogą wysyłać transakcji, a nawet jeśli mogą, nie są one potwierdzane. 

Powody przestoju mogą być różne, ale samo zatrzymanie sieci jest… zgodne z zasadami działania Solana (i wielu innych blockchainów). W momencie problemów, gdy sieć nie jest w stanie osiągnąć konsensusu przez wymagane 66%+ stake, nowe bloki nie są potwierdzane. Zatrzymanie może być przypadkowe lub wymuszone przez walidatorów.

Co ciekawe przestój nie zawsze oznacza całkowite zatrzymanie się. Sieć może nadal działać i komunikować się, po prostu nie jest w stanie zgodzić się co do poprawnego forku (np. 2 łańcuchy powstały w oparciu o blok X i żaden nie jest tym "dobrym").

Skoro już się zatrzymujemy, to jak później wystartować? Walidatorzy wprowadzają odpowiednie aktualizacje oprogramowania i startują od ostatniego poprawnego bloku, np. X. 80% stawki musi zgodzić się na te zasady i powrócić on-line, aby sieć znów ruszyła. 

Tyle teorii. Przejdźmy do głównego pytania tej sekcji. Dlaczego Solana się zatrzymuje, a Ethereum, Bitcoin, czy inne projekty nie? 

Bitcoin i Ethereum też kiedyś zanotowały przestój i miały własne problemy, ale od lat działają bez przerw. Dziś nie o tym.

Problemy ze stabilnością Solana wynikają głównie - jak łatwo się domyślić - z jej budowy i wielu mechanizmów, które odróżniają ją od innych projektów. Z jednej strony sprawiają one, że Solana jest wyjątkowa, bardzo szybka i tania z perspektywy użytkowników, a z drugiej powodowały szereg problemów.

Solana

Oprócz błędów występujących np. podczas wprowadzania aktualizacji lub takich, które zachodzą w szczególnych okolicznościach i mogą powodować przestoje (jak np. błąd z czerwca 2022 roku) Solana ma (miała? o tym za chwilę) dwie największe wady, które są jednocześnie największymi zaletami SOL. Jest tania i szybka.  

Transakcje na Solana kosztują średnio $0.00025, przez co nie posiada ona niejako naturalnej ochrony przed spamem, który wielokrotnie powodował przestoje sieci (wspomniane już ataki DDOS). 

Jeśli ktoś chciałby zalać transakcjami Ethereum, to w związku z ich kosztem musiałby być miliarderem skorym do utraty swojego majątku… Podobnie sprawa wygląda w kryptowalutach, które nie są tak drogie jak ETH. Nawet kilka centów, to wystarczająca opłata, aby zniechęcić do zalewania sieci operacjami.

Jednak ułamki centa, jakie w opłatach pobiera Solana, to właściwie zachęta do spamu. Niekoniecznie musi to być złośliwe zachowanie mające na celu zaszkodzenie sieci. Może to być po prostu chęć zarobku.

W kwietniu 2022 roku, Solana zanotowała kolejny przestój z cyklu DDOS, tym razem związany ze startem projektu NFT.

Użytkownicy (poprzez boty) byli tak zainteresowani wybiciem NFT, że niektórzy walidatorzy otrzymywali nawet 6 milionów transakcji na sekundę!

To poskutkowało przeciążeniem sieci i jej zatrzymaniem.

Dlaczego jest to w ogóle możliwe? 

Solana nie działa jak “typowy blockchain”. Transakcje nie są tu przetwarzane tak, jak chociażby w Ethereum, czyli nie są najpierw wysyłane do mempool, z którego następnie muszą zostać pobrane i dodane do bloku. Dlaczego? Ponieważ Solana… nie ma mempool. Transakcje są wysyłane bezpośrednio do walidatora lidera, który jest znany z wyprzedzeniem, właśnie po to, aby szybciej je przetwarzać.

Wraz z niskimi kosztami wykonania operacji sprawia to, że walidator mógł otrzymywać nawet 6 milionów transakcji na sekundę co znacznie przeciążyło fizyczne możliwości jego sprzętu.

Teoretycznie nie miał to być złowrogi atak DDOS, a po prostu polowanie na NFT, gdzie każdy chciał kupić jako pierwszy, ale praktycznie… tym był. I się powiódł.

Oczywiście sprawa wygląda podobnie nie tylko w kwestii wybijania potencjalnie wysoko cenionego NFT, ale także w przypadku polowania na MEV, czyli arbitrażu, czy likwidacji pożyczek w DeFi.

Taka sytuacja miała miejsce w styczniu 2022 roku.

Więcej o MEV:

MEV

Podsumowując. Solana miała tak duże problemy, ponieważ jest inaczej zaprojektowana niż pozostałe popularne sieci krypto, aby być szybsza, a opłaty są tak niskie, że boty zasilone kilkoma dolarami mogą wysyłać setki tysięcy transakcji zapychając sieć i powodując problemy u walidatorów. 

Jak Solana radzi sobie z problemami?

Wygląda na to, że dziś jest znacznie lepiej. Może dlatego, że podczas bessy nie miał kto zapchać sieci, a może dlatego, że aktualizacje sprawdzają się. 

Kluczowe dla przyszłości Solana miały być 3 zmiany. Wszystkie zostały wprowadzone w 2022 roku. Tak, niektóre już ponad rok temu! Oto one.

Zmiana opłat transakcyjnych

Przed wprowadzeniem tej zmiany zasypanie sieci transakcjami było jedyną opcją priorytetyzowania naszej transakcji.

Po wprowadzeniu “rynku opłat” użytkownicy mogą, podobnie jak w innych sieciach, zaoferować dodatkową opłatę, aby ich transakcja została przetworzona szybciej. Teoretycznie może to być niezbyt dobra zmiana z perspektywy doświadczeń użytkowników. Jednak, jako że Solana nie działa jak inne sieci, występuje tu nie globalny rynek opłat (jak np. w Ethereum), ale lokalny rynek opłat.

Solana opłaty transakcyjneźródło: blog.labeleven.dev/why-solana

Najprościej mówiąc, jeśli boty rywalizują o likwidację czyjejś pożyczki na X, wzrost opłat, które są w stanie zaoferować nie ma wpływu na zakup NFT na rynku Y. Są to oddzielne operacje związane z zapisem danych różnych kont. 

Solana może przetwarzać transakcję równolegle (dzięki Sealevel), ponieważ każda instrukcja musi określać, do którego konta odczytuje i zapisuje dane.

Jeśli ja zapisuje dane do smart kontraktu giełdy, a ty do smart kontraktu NFT, to nasze operacje mogą zostać wykonane równolegle, gdyż ze sobą nie kolidują. 

To, wraz z wprowadzeniem dodatkowych opłat zachęcających walidatora do przetworzenia naszej transakcji wcześniej, tworzy lokalne rynki, gdzie cena za operacje rośnie tylko dla konkretnych operacji na Solana, nie dla całej sieci. 

Stake-weighted QoS 

Przepustowość sieci walidatora lidera jest ograniczona, o czym wielokrotnie się przekonaliśmy. Aby skutecznie z niej korzystać, potrzebne jest ograniczenie tego kto i ile transakcji może wysyłać. 

Solana jako sieć Proof of Stake naturalne przyjęła model, w którym każdy węzeł może przesyłać ilość danych adekwatną do jego stake. Np. węzeł z udziałem 1% będzie miał prawo do przesyłania 1% pakietów.

Taki system sprawia, że węzły, które nie stakują są zachęcane do wysyłania transakcji najpierw do walidatorów, zamiast bezpośrednio do lidera, ponieważ w momencie przeciążenia, transakcje wysyłane przez nich mogą być ignorowane, gdyż mają 0% udziału w POS.

QUIC

Pod koniec października 2022 roku wraz z aktualizacją 1.13.4 Solana wprowadziła ostatnią z kluczowych zmian - QUIC. 

Solana do tego momentu stosowała protokół User Datagram Protocol (UDP) do przesyłania transakcji między węzłami w sieci. Miał swoje zalety, takie jak kochana przez SOL szybkość, natomiast jego wady powodowały problemy ze stabilnością walidatorów.

Największą wadą tego protokołu jest to, że węzły poprzez UDP nie tworzyły wspólnego połączenia poprzez “uścisk dłoni” jak ma to miejsce np. w TCP, które jednak nie nadaje się dla Solana z innych względów.

Poprzez brak ustanowienia połączenia, walidator nie jest w stanie kontrolować napływu danych i nie może ich spowolnić gdy sieć jest przeciążona. 

QUIC jest protokołem opracowanym przez Google, który łączy szybką asynchroniczną komunikację jak w UDP z kontrolą przepływu danych TCP.

Jeśli tego nie rozumiesz, to nie przejmuj się. Żaden normalny użytkownik jak ja, czy ty, nie musi tego rozumieć. Ważne jest to, że QUIC poprawia stabilność sieci i w przypadku spamu, pomaga kontrolować napływ danych do lidera.

Praktycznie oznacza to, że jeśli jakiś węzeł wysyła za dużo danych, można go ograniczyć/zablokować.

I jak po zmianach?

Wszystkie te 3 aktualizacje weszły w życie już niemal rok temu, ostatnia pod koniec października. 

Od ich wprowadzenia Solana… znów się zatrzymała w lutym br. 

Nie jest to najlepsza informacja, ale pozytywne jest to, że miało to miejsce tylko raz i z powodu, który nie ma związku ze wspomnianymi aktualizacjami i wcześniejszymi problemami z przeciążeniem transakcjami.

Szczegółowe wyjaśnienie tego co się stało znajdziecie tutaj. Cała sprawa miała związek z błędną logiką deduplikacji… były to problemy techniczne. 

To czy wielokrotne problemy techniczne zatrzymujące łańcuch, jakich doświadcza Solana, są lepsze niż DDOS pozostawiam już waszej ocenie.

Co jednak warto podkreślić, pierwsza poważna próba przeciążeniowa została przez Solana zaliczona. Wybicie NFT MadLads obyło się bez problemów. 

Co dalej z Solana?

Dalej nie jest idealnie, ale zdecydowanie lepiej. Od wejścia w życie zmian w działaniu Solana sieć ani raz nie padła przez przeciążenie jej transakcjami, a to już niemal rok. 

Mimo wielu problemów, które przełożyły się na przekreślenie tego projektu przez wielu użytkowników, Solana nadal radzi sobie bardzo dobrze w porównaniu do innych sieci i znajduje się w czołówce niemal wszystkich metryk. 

Top 3 w obrocie NFT według danych The Block i CryptoSlam i top 4 w Ilości programistów według Electric Capital czy jedna z najwyższych wartości ilość transakcji (użytkowników, nie głosowań walidatorów) dziennie.

Jedynie gdzie wiedzie się nieco gorzej to DeFi. Solana wypadła z top 10 i według DeFiLlama zajmuje 11 miejsce.

Jeśli na dobre wyeliminowano początkowe błędy w projekcie sieci Solana, która nie zdała egzaminu w momencie próby, SOL znów może namieszać, ponieważ wbrew wielu opiniom nie ma tylko wad.

Problemy poniekąd pomogły Solana w rozwoju, a ich rozwiązanie może przyczynić się do powrotu SOL do czołówki zainteresowania użytkowników, programistów i inwestorów na rynku. 

Oczywiście nie jest to absolutnie żadna porada. DYOR.

 

Popularne