TL;DR

Blockchainy mogą obsłużyć tylko ograniczoną liczbę transakcji na sekundę. Na przykład sieć Bitcoin może przetwarzać około siedmiu transakcji na sekundę. Jeśli technologia blockchain ma zostać przyjęta na całym świecie, powinna być w stanie obsłużyć znacznie więcej danych i przy większych prędkościach, tak aby więcej osób mogło korzystać z sieci, nie powodując, że korzystanie z niej stanie się zbyt wolne lub kosztowne. Jednak podstawowa konstrukcja wielu zdecentralizowanych sieci oznacza, że ​​rosnąca skalowalność zwykle osłabia decentralizację lub bezpieczeństwo. Jest to tak zwany trylemat blockchain. Programiści chcący rozwiązać ten problem eksperymentują z różnymi mechanizmami konsensusu i rozwiązaniami w zakresie skalowalności, takimi jak sharding, sidechains i kanały stanu.

Wstęp

Mówiąc najprościej, blockchain to rozproszona cyfrowa baza danych. Bloki danych są zorganizowane w porządku chronologicznym. Bloki są ze sobą powiązane i zabezpieczone dowodami kryptograficznymi. Wdrożenie tej technologii w różnych branżach już zmienia sposób, w jaki pracujemy i żyjemy.

Pomysł jest taki, że zdecentralizowane i bezpieczne łańcuchy bloków pozwalają na świat, w którym nie musimy polegać na stronach trzecich, aby sieci lub rynki mogły funkcjonować. Jednak eksperci ogólnie zgadzają się, że jeśli ta technologia ma zostać szerzej zastosowana, istnieje podstawowy problem, który wymaga rozwiązania. Problem, o którym mowa, znany jest jako „trylemat Blockchain”.

Termin ten spopularyzował współzałożyciel Ethereum Vitalik Buterin. Aby to miało sens, trzeba mieć świadomość trzech różnych elementów, które są pożądane w blockchainie: decentralizacji, bezpieczeństwa i skalowalności. Trilemat blockchain odnosi się do poglądu, że łańcuchom bloków trudno jest osiągnąć optymalny poziom wszystkich trzech właściwości jednocześnie. Zwiększanie jednego zwykle prowadzi do osłabienia drugiego.

W tym artykule przeanalizujemy wszystkie trzy elementy trylematu i wyjaśnimy bardziej szczegółowo, czym jest każdy z nich. Bardziej szczegółowe omówienie każdego z nich oraz tego, jak do siebie pasują, zaowocuje lepszym zrozumieniem, w jaki sposób i dlaczego istnieje trylemat blockchain. W tym artykule omówiono także niektóre rozwiązania zaproponowane przez programistów.

Co to jest decentralizacja?

Bitcoin i podobne sieci blockchain są z założenia zdecentralizowane. Cała struktura jest taka, że ​​nie ma jednej osoby ani organizacji odpowiedzialnej. Raczej jest zdecentralizowany. Warstwa sieciowa jest otwarta dla każdego, kto chce w niej uczestniczyć. W rezultacie kontrola jest w pełni rozproszona, a nie sprawowana przez jeden podmiot. Każdy ma dostęp do tych samych danych. Jeżeli ktoś spróbuje oszukać system zmieniając zapisy na swoją korzyść, wówczas pozostali uczestnicy odrzucą błędne dane.

Może to być dość techniczne, ale jako przykład weźmy sieć Bitcoin. Żadna osoba trzecia nie sprawuje kontroli. Porównaj to z potrzebą banków w systemie finansowym. Banki egzekwują zaufanie między osobami dokonującymi transakcji i dbają o prawidłowe prowadzenie wszystkich rejestrów. Blockchain Bitcoina udostępnia jednak wszystkie te dane wszystkim w sieci, dzięki czemu można je sprawdzić i potwierdzić przed dodaniem do cyfrowej bazy danych. Rezultatem jest system, który może istnieć bez potrzeby korzystania z pomocy osób trzecich.

Decentralizacja oferuje możliwość tak zwanego Web3. W tej chwili mamy Web2 — dzisiejszy internet. Jest pełen witryn i aplikacji kontrolowanych przez firmy, ale zawierających treści tworzone przez użytkowników. Web3 to kolejny krok. Internet, w którym zdecentralizowana technologia blockchain pozwala ludziom kontrolować własne dane i życie online.

Należy jednak zauważyć, że ze względu na sposób działania tych rozproszonych systemów – z koniecznością uzgodnienia przez szerokie grono uczestników co do ważności wszelkich danych – czas transakcji może być długi ze względu na sposób, w jaki informacje muszą być udostępniane i obrobiony. Dlatego łańcuchy bloków muszą być skalowalne, to znaczy być w stanie obsłużyć więcej danych z większą szybkością. Wrócimy do tego punktu, omawiając skalowalność.

Ponadto zdecentralizowany sen jest spełniony tylko wtedy, gdy leżące u jego podstaw łańcuchy bloków są bezpieczne. Jeśli blockchain nie jest bezpieczny, zły aktor może przejąć kontrolę i zmienić dane na swoją korzyść. Prowadzi to do drugiej części trylematu: bezpieczeństwa.

Czym jest bezpieczeństwo blockchain?

Nie ma znaczenia, jak zdecentralizowany jest łańcuch bloków, jeśli brakuje mu bezpieczeństwa. Dobra sieć blockchain powinna być odporna na ataki ze strony złośliwych podmiotów. Systemy scentralizowane czerpią swoje bezpieczeństwo z faktu, że system jest zamknięty. Ktokolwiek sprawuje kontrolę, może zagwarantować, że dane są wolne od zakłóceń. Ale jak to osiągnąć w zdecentralizowanym systemie, w którym każdy może wziąć udział?

To skomplikowany temat, ale możemy wrócić do Bitcoina jako przykładu zdecentralizowanego bezpieczeństwa blockchain. Blockchain Bitcoin wykorzystuje kombinację kryptografii i mechanizmu konsensusu sieciowego zwanego Proof of Work (PoW). Jeśli chodzi o kryptografię, każdy blok ma rodzaj podpisu cyfrowego (lub skrótu). Każdy blok danych jest połączony w sposób niemożliwy do manipulacji, ponieważ wszelkie zmiany spowodowałyby zmianę skrótu bloku. Każda próba zmiany danych zostanie szybko zidentyfikowana przez resztę sieci.

Mechanizm konsensusu PoW to kolejna część układanki. Pomaga zabezpieczyć księgę kryptowaluty. Zrozumienie Proof of Work to osobny artykuł, ale dla naszych celów zauważmy, że członkowie sieci mogą jedynie weryfikować nowe transakcje i dodawać je do księgi głównej poprzez czynność zwaną eksploracją. Wiąże się to z wykorzystaniem mocy obliczeniowej do rozwiązania zagadki matematycznej. Część tego procesu wymaga od tych komputerów wykonywania licznych funkcji mieszania. Ma to wpływ na kwestię skalowalności, ponieważ mechanizm PoW jest bezpieczny, ale stosunkowo powolny.

Należy również pamiętać, że im więcej uczestników (węzłów) znajduje się w sieci, tym jest ona bezpieczniejsza. Im większa liczba stron, tym trudniej jest przejąć kontrolę nad systemem jednemu złemu aktorowi. Odnosi się to do tak zwanego ataku 51%. Podsumowując: jeśli pojedynczy podmiot (lub grupa złych aktorów) może kontrolować ponad 50% całkowitego współczynnika mieszania sieci łańcucha bloków, wówczas będzie w stanie obejść konsensus i zmienić dane łańcucha z korzyścią dla siebie, na przykład podwójnie wydatkami żetony.

Krótko mówiąc, bezpieczeństwo jest podstawowym wymogiem powodzenia łańcucha bloków, ponieważ bez niego napastnicy mogą przejąć kontrolę nad łańcuchem, czyniąc go bezużytecznym.

Czym jest skalowalność?

Skalowalność odnosi się do celu, jakim jest zbudowanie łańcucha bloków, który może obsługiwać coraz więcej transakcji na sekundę. Jeśli technologia blockchain ma służyć szerszemu społeczeństwu i prawdopodobnie miliardom użytkowników, wymagana jest skala. Jednak w tym przypadku wiele łańcuchów bloków wciąż ma problemy.

Dzieje się tak dlatego, że decentralizacja i bezpieczeństwo są tak fundamentalne dla blockchain, że skupiają się na nich w pierwszej kolejności. Decentralizacja jest tak kluczowa dla etosu i celów blockchain, że leży w samym sercu najbardziej rozpoznawalnych blockchainów. Bezpieczeństwo, jak już wspomnieliśmy, jest podstawowym wymogiem, aby łańcuch bloków był skuteczny i użyteczny.

Jednak w przypadku priorytetowego traktowania decentralizacji i bezpieczeństwa skalowalność staje się wyzwaniem. Liczba transakcji, które sieć może obsłużyć, może być poważnie ograniczona. Scentralizowany system płatności, taki jak Visa, twierdzi, że jest w stanie obsłużyć 24 000 transakcji na sekundę. Dzieje się tak dlatego, że sieć jest zamknięta i wolna od czynników takich jak węzły publiczne i konsensus. Porównaj to z niektórymi z najbardziej znanych łańcuchów bloków.

Według Bloomberga w 2022 r.: „Od września Bitcoin nie był w stanie obsłużyć więcej niż siedmiu transakcji na sekundę, a Ethereum, druga pod względem popularności sieć, była ograniczona do około 15 na sekundę – czyli przez cały okres życia w porównaniu z konwencjonalnymi giełdami”.

Jak wspomniano, prędkości transakcji typu blockchain są ograniczone ze względu na sposób, w jaki informacje muszą być przetwarzane przez różnych uczestników tworzących zdecentralizowaną sieć, oraz charakter samego mechanizmu konsensusu PoW. Jeśli coraz więcej osób w społeczeństwie zacznie korzystać z technologii blockchain, sieci zaczną się zacinać ze względu na ograniczoną liczbę transakcji, które mogą obsłużyć.

Dlaczego istnieje trylemat blockchain

Najbardziej oczywistym i podstawowym rozwiązaniem zarysowanego powyżej problemu jest zmniejszenie liczby uczestników potwierdzających i dodających do sieci dane w zamian za większą skalę i szybkość. Prowadziłoby to jednak do osłabienia decentralizacji i przekazania kontroli mniejszej liczbie uczestników. Prowadziłoby to również do osłabienia bezpieczeństwa, ponieważ mniejsza liczba graczy oznacza większe ryzyko ataków.

Oto więc trylemat: biorąc pod uwagę związek między pożądanymi właściwościami decentralizacji i bezpieczeństwa, podstawowy projekt działania blockchainu utrudnia jego skalowanie. Zwiększ jeden, a osłabisz drugi. Jak zwiększyć skalowalność bez szkody dla decentralizacji i bezpieczeństwa lub obu tych elementów?

Rozwiązanie trylematu blockchain

Nie ma jednego złotego rozwiązania tego trylematu. Biorąc jednak pod uwagę wagę rozwiązania tego problemu, w społeczności zastosowano wiele różnych podejść, które przyniosły interesujące rezultaty. Przyjrzyjmy się przeglądowi najpopularniejszych rozwiązań, aby pomóc Ci zrozumieć, co dzieje się w przestrzeni kosmicznej:

1. Fragmentowanie

Jest to metoda dzielenia łańcuchów bloków (lub innych typów baz danych) na mniejsze, podzielone łańcuchy bloków, które zarządzają określonymi segmentami danych. Taka konfiguracja odciąża pojedynczy łańcuch zajmujący się wszystkimi transakcjami i interakcjami w sieci. Każdy podzielony łańcuch bloków nazywany jest odłamkiem i ma swoją specyficzną księgę. Te fragmenty mogą następnie przetwarzać własne transakcje, ale łańcuch bloków sygnalizacyjnych lub łańcuch główny zarządza interakcjami między fragmentami. To sprawia, że ​​sharding jest ulepszeniem skalowalności sieci warstwy 1, ponieważ jest to zmiana w głównej sieci łańcucha bloków.

2. Inny mechanizm konsensusu

Jednym z powodów istnienia trylematu w sieci Bitcoin jest sposób, w jaki PoW działa w celu zapewnienia bezpieczeństwa. Zapotrzebowanie na górników, algorytmy kryptograficzne i ogromne ilości zdecentralizowanej mocy obliczeniowej prowadzi do powstania bezpiecznego systemu, ale powolnego. Znalezienie innego sposobu na zapewnienie konsensusu jest jednym ze sposobów rozwiązania trylematu. To był jeden z powodów przejścia Ethereum z PoW na Proof of Stake (PoS).

W blockchainach PoS uczestnicy zaangażowani w walidację transakcji muszą postawić (zablokować) swoje tokeny. Nie ma potrzeby stosowania wysokospecjalistycznych maszyn górniczych. Dodanie większej liczby walidatorów do sieci jest prostsze i bardziej dostępne. PoS to tylko jedno z wielu różnych podejść do mechanizmów konsensusu z myślą o skalowalności.

3. Rozwiązania warstwy 2

Zarówno sharding, jak i różne mechanizmy konsensusu są tak zwanymi rozwiązaniami warstwy 1. Chcą zmienić podstawowy projekt podstawowej sieci. Jednak inni programiści chcący rozwiązać ten trylemat pracowali nad rozwiązaniami, które opierają się na istniejącej strukturze sieci. Innymi słowy, uważają, że odpowiedź leży w drugiej warstwie, czyli warstwie 2. Przykładami tego są łańcuchy boczne i kanały stanu.

Sidechain to w zasadzie oddzielny łańcuch bloków połączony z łańcuchem głównym. Jest skonfigurowany w taki sposób, aby aktywa mogły swobodnie przepływać między nimi. Co ważne, sidechain może działać na innych zasadach, co pozwala na większą prędkość i skalę. Podobnie kanały stanowe to kolejny sposób na odłączenie transakcji od głównego łańcucha i złagodzenie presji na warstwę 1. Kanał stanowy wykorzystuje inteligentny kontrakt zamiast oddzielnego łańcucha, aby umożliwić użytkownikom interakcję między sobą bez publikowania swoich transakcji w łańcuchu bloków . Blockchain rejestruje tylko początek i koniec kanału.

Zamykanie myśli

Trylemat skalowalności stoi na przeszkodzie, aby blockchain wykorzystał swój potencjał jako technologii zmieniającej świat. Jeśli sieci blockchain będą w stanie obsłużyć jedynie niewielką liczbę transakcji na sekundę w celu utrzymania decentralizacji i bezpieczeństwa, trudno będzie osiągnąć masowe przyjęcie. Jednak rozwiązania proponowane obecnie przez programistów starających się rozwiązać ten problem sugerują, że postęp technologiczny dokonany już przez blockchain będzie kontynuowany, a sieci te mogą w przyszłości być w stanie obsłużyć znacznie więcej danych.