SwapSpace – Międzyłańcuchowe wymiany kryptowalut

Problem skalowalności blockchaina wyjaśniony

Academy Author

,

,7 min

Tworząc technologię blockchain, deweloperzy liczyli na prywatność i anonimowość cyfrowych pieniędzy. Cel ten osiągnięto, wprowadzając zasadę systemu peer-to-peer — każdy użytkownik jest równy, a nie istnieje system zarządzania ani organ kontroli pieniędzy taki jak banki.

Obecnie kryptowaluty jako technologia stoją przed kolejnym zadaniem — osiągnięciem wysokiej szybkości operacji, porównywalnej z Visa i MasterCard. Problem skalowalności pozostaje jedną z głównych przeszkód we masowej implementacji technologii blockchain. Coraz więcej zespołów projektów blockchain poszukuje rozwiązań, które mogłyby poprawić wydajność ich sieci. Wielu twierdzi, że już rozwiązało lub niemal rozwiązało ten problem, jednak takie deklaracje należy przyjmować sceptycznie.

Główny cel

Dziesięć lat temu Bitcoin nie był popularny wśród użytkowników. Z czasem jednak wzrost liczby użytkowników w systemie stworzył problemy z mocą obliczeniową technologii. Korzystanie z kryptowaluty stało się trudniejsze z powodu długich kolejek spowodowanych ograniczeniami liczby płatności przetwarzanych na sekundę. W ten sposób problem skalowalności się pogłębił.

Deweloperzy zaczęli aktywnie szukać optymalnych mechanizmów stabilizacji działania. Od tego czasu monety były regularnie aktualizowane lub dzielone w przypadku braku kompromisów. Przejdźmy jednak krok po kroku przez te kwestie.

Problem skalowalności: istota zadania

Wszystkie transakcje Bitcoin są tworzone w blokach, które otrzymują dane transakcyjne. Jeden blok mieści 1 MB informacji, a szybkość przetwarzania wynosi średnio cztery płatności na sekundę. Z drugiej strony moc obliczeniowa górników odpowiada za przemieszczanie środków i stabilność operacji. Jest to potrzebne do obliczania algorytmów przy tworzeniu monet i zapisów zaszyfrowanych transakcji. Za każdą transakcję górnicy walut cyfrowych otrzymują prowizję.

Zwiększenie liczby transakcji obniża również szybkość każdej z nich. Dzięki temu blockchain nie musi radzić sobie z dużym napływem. Wszystkie transfery kryptowalut są umieszczane w długiej kolejce. Tylko wysoka opłata transakcyjna pozwala uzyskać priorytet w kolejce. Zjawisko to wpływa na płynność (skoki ceny) monety — kupującemu łatwiej jest użyć gotówki lub karty bankowej, nawet kosztem anonimowości i prywatności.

Użytkownicy w takich przypadkach tracą zainteresowanie i zaufanie do waluty, a za nimi podążają górnicy. W rezultacie inwestorzy dostrzegają ryzyko inwestycji i wycofują aktywa z najwyższej wartości i popularności, a traderzy grają na ruchach cenowych.

Jak przejawia się problem skalowalności

Wraz z popularyzacją Bitcoina problem skalowalności kryptowaluty ujawnił się z powodu przeciążenia sieci. Dlatego korzystanie z monety stało się trudniejsze — w maju 2017 roku kolejki transakcji sięgały nawet pięciu dni. Pojawiło się więc pytanie o równowagę między szybkością a bezpieczeństwem transakcji.

Można przeanalizować problem na praktycznym przykładzie. Załóżmy, że trzeba przetransportować 500 ton ładunku pociągiem z wagonami o ładowności jednej tony, z wcześniejszą kontrolą bezpieczeństwa i załadunkiem trwającym 2 godziny na jednostkę. Jednak koszt usług transportowych wpływa na pozycję towarów w kolejności malejącej. W rezultacie odbiorcy z najniższą opłatą za dostawę otrzymują finalny produkt dopiero po co najmniej dwóch tygodniach. Tak samo z Bitcoinem — nie da się wykonywać płatności tak szybko jak kartą bankową.

Na podstawie tego, co napisano, można wyróżnić definicję problemu skalowalności — ograniczenie liczby przetwarzanych transakcji w określonym czasie. Możliwość wyboru płatnej prowizji może jednak podnieść priorytet operacji w kolejce blockchain, ale nie rozwiązuje problemu.

Pierwsze, co przychodzi na myśl, to zwiększenie rozmiaru bloku i liczby płatności przetwarzanych bez dodatkowych środków. Niestety takie podejście obniży bezpieczeństwo, ponieważ dozowane przetwarzanie informacji pozwala uniknąć wysokiego ryzyka ataków DDoS (celowe przeciążenie sieci w celach oszukańczych). Rozmiar jest przewidziany dla starannej weryfikacji danych. Mimo to konieczna jest szczegółowa analiza możliwych rozwiązań tej sytuacji.

Jak rozwiązać problem skalowalności

Deweloperzy, aktywiści i naukowcy zaczęli szukać sposobów rozwiązania problemu skalowalności Bitcoina. Punktem kulminacyjnym i najbardziej charakterystycznym była opisana sytuacja w 2017 roku z długimi kolejkami. Wtedy właśnie temat był szeroko omawiany w kryptowalutowej społeczności. Wyróżniono trzy koncepcje naprawy tej wady blockchaina:

  • zwiększenie rozmiaru bloku, tym samym obniżenie opłaty za płatności i zwiększenie liczby transakcji przetwarzanych na sekundę (TPS). Są dwa minusy — rozwiązanie prowadzi do centralizacji monety i ryzyka udanych prób ataków DDoS;
  • segmentowane przetwarzanie informacji lub sharding. Część informacji jest wyświetlana poza komórkami. W ten sposób blockchain dzieli się na dwa lub więcej segmentów odpowiedzialnych za różne grupy transakcji. Istnieje również ryzyko ataków hakerskich, ponieważ do przetwarzania shardów potrzeba mniejszej mocy górniczej. Ze względu na podział na kilka części kontrole bezpieczeństwa wymagają lekkich algorytmów. W ten sposób oszuści mogą dodawać fałszywe transakcje do sieci, czego przykładem jest atak 51 %;
  • grupa rozwiązań L2 problemu skalowalności. Podejście to jest frameworkiem, programem działającym na szczycie blockchaina, który odciąża istniejącą sieć. Takie koncepcje różnią się od on-chain (decyzji wewnątrz systemu monety) obecnością pośrednika.

Pierwsza metoda wymaga podziału sieci i stworzenia nowej monety. Dochodzi więc do utraty wsparcia dla kompatybilności wstecznej z oryginałem. Oznacza to, że waluty w takim przypadku przestają być jednorodne. W środowisku kryptograficznym zjawisko to nazywa się hardforkiem. Tą drogą poszedł Bitcoin Cash. W wyniku podziału w sierpniu 2017 roku nastąpiło oddzielenie od pierwszej kryptowaluty, wraz ze zwiększeniem rozmiaru bloku do 8 MB.

Drugie rozwiązanie polega na tworzeniu oddzielnych podsieci bloku z przeniesieniem części informacji poza jego granice. W tym przypadku dochodzi do softforka — zmiany protokołu oprogramowania bez dzielenia monety. To podobne do wydania łatki do gry komputerowej z dodatkami. Przykładem jest aktualizacja Segregated Witness. Rozmiar bloku wzrósł do 2 MB, przy czym część informacji była przechowywana poza głównym łańcuchem transakcji.

Rozwiązanie ma wady — każdy shard będzie narażony na niebezpieczeństwo cyberataku. Na każdy taki segment zużywana jest mniejsza moc niż na jednostkę.

Rozwiązania drugiego poziomu

Architektura wczesnych blockchainów, przede wszystkim Bitcoin i Ethereum, nie była projektowana z myślą o dużej liczbie transakcji i użytkowników, a zatem ich przepustowość jest niska. Na przykład w Bitcoinie wynosi ona 5-7 transakcji na sekundę (TPS), a w Ethereum około 15 TPS.

Skalowalność można zwiększyć, zmieniając kod protokołu blockchaina za pomocą funkcji takich jak sharding. Zajmuje to jednak dużo czasu i może trwać latami. Ponadto takie ulepszenia zmieniają fundamenty architektury, więc społeczność projektu nie zawsze zgadza się na ich wdrożenie.

Rozwiązania L2 pozwalają przynajmniej częściowo rozwiązać problem niskiej przepustowości i wysokich opłat za transfery bez wpływu na kod głównego blockchaina. Ich główną zaletą jest możliwość przenoszenia aktywów między adresami „pierwszego poziomu” przy jednoczesnym korzystaniu z „drugiego poziomu”, którym może być osobny protokół off-chain albo osobny blockchain.

Jakie rozwiązania Layer 2 istnieją dla Bitcoina?

Głównym projektem L2 dla pierwszej kryptowaluty jest Lightning Network (LN). Działa on w oparciu o protokół wykorzystujący smart kontrakty i tak zwane kanały stanu. Lightning Network został uruchomiony już w 2015 roku i od tego czasu aktywnie się rozwija. Do końca maja 2022 roku łączna pojemność kanałów LN osiągnęła 3 900 BTC.

Główną funkcją LN jest możliwość bezpośredniej wymiany przez posiadaczy bitcoinów bez zapisywania informacji w jego rejestrze. W tym celu należy otworzyć specjalny kanał za pomocą pojedynczej transakcji on-chain i umieścić w nim bitcoiny.

Po aktywacji kanał płatniczy pozwala wykonywać transfery off-chain, czyli poza główną siecią, znacznie szybciej i przy niższych opłatach. W przeciwieństwie do transakcji on-chain, transakcje w kanałach Lightning Network są widoczne tylko dla ich użytkowników. W głównym blockchainie zapisywane są jedynie stany początkowe i końcowe transakcji.

Takie podejście znacząco zmniejsza obciążenie głównej sieci Bitcoina: Lightning Network jest w stanie przetwarzać tysiące operacji na sekundę, zapewniając jednocześnie wysoki poziom bezpieczeństwa systemu.

Jakie rozwiązania Layer 2 istnieją dla Ethereum?

Mimo niskiej szybkości ekosystem Ethereum jest najbardziej pożądany dla zdecentralizowanych aplikacji. Działa na nim wiele popularnych projektów z obszaru zdecentralizowanych finansów (DeFi) oraz niewymienialnych tokenów (NFT). Dlatego problem skalowalności jest szczególnie dotkliwy dla Ethereum.

Obecnie równolegle rozwijanych jest kilka dużych rozwiązań L2:

  • Polygon (MATIC);
  • Arbitrum;
  • Optimism.

Główną technologią ich działania są Rollupy, które mają dwie główne odmiany:

  • Optimistic Rollups. W tym rozwiązaniu transakcje są wykonywane w sieci L2, a następnie w dużych grupach łączone w kompaktowy blok, który jest uwzględniany przez walidatorów w głównej sieci Ethereum. Optimistic Rollups są używane w Arbitrum i Optimism.
  • ZK-Rollups. Transakcje w sieci drugiego poziomu są również łączone w pakiety i wysyłane do sieci Ethereum, ale ich potwierdzenie odbywa się za pomocą specjalnych weryfikatorów, czyli kryptograficznych dowodów poprawności operacji. Polygon jest oparty na ZK-Rollups. Tę technologię skalowania Ethereum rozważa główny współzałożyciel platformy, Vitalik Buterin.

Niezależnie od rozwiązania L2, Ethereum jako „pierwsza warstwa” przejmuje funkcję weryfikacji transakcji i tworzenia bloków, rejestru, w którym zapisywane są stany końcowe, oraz mechanizmu konsensusu. Dzięki temu projekt nie musi tworzyć własnej infrastruktury.

Istnieją również inne projekty Layer 2. Na przykład w lipcu 2022 roku startup Matter Labs ogłosił uruchomienie zkSync 2.0. Miesiąc później własny protokół, napisany w języku Cairo, uruchomił projekt StarkWare.

Podsumujmy

Łatwo zauważyć, że w protokole Bitcoin zasoby sieci są wykorzystywane nieefektywnie. Każdy węzeł przetwarza i przekazuje dane o nowym bloku tylko przez niewielką część czasu. Przepustowość sieci jest w pełni wykorzystywana tylko przez kilka sekund. Przez resztę czasu węzeł ten wysyła niepotwierdzone transakcje i dane pomocnicze. Ta obserwacja zainspirowała badaczy do znalezienia bardziej wydajnych schematów protokołów, które mogłyby znacząco zwiększyć przepustowość systemu bez kompromisów w zakresie bezpieczeństwa sieci i decentralizacji.

Obecnie społeczność krypto nie doszła do jednego rozwiązania. Spory wciąż się pojawiają, powstają nowe monety i wydawane są aktualizacje protokołów. Skuteczne rozwiązania już opracowano, ale nadal istnieje ryzyko czynnika ludzkiego. Problem zostanie zamknięty przez rozwój sztucznej inteligencji jako pośrednika transakcji.

Udostępnij:

Powiązane artykuły

Ciekawi Cię więcej?

Dołącz do naszego newslettera — bądź na bieżąco, bądź pełen energii.