Streszczenie
Istnieje ograniczenie liczby transakcji, które blockchain może przetworzyć na sekundę. Na przykład sieć Bitcoin może obsłużyć około siedmiu transakcji na sekundę. Po powszechnym przyjęciu technologii blockchain możliwości i prędkości przetwarzania danych ulegną znacznej poprawie, a wzrost liczby użytkowników nie spowolni sieci ani nie zwiększy kosztów. Jednak podstawowe zasady projektowania wielu zdecentralizowanych sieci skupiają się na poprawie skalowalności, często kosztem decentralizacji lub bezpieczeństwa. Jest to tak zwany „trylemat Blockchain”. Deweloperzy eksperymentują z różnymi mechanizmami konsensusu, a także rozwiązaniami w zakresie skalowalności, takimi jak sharding, sidechains i kanały stanu, w nadziei na rozwiązanie tego problemu.
Wstęp
Krótko mówiąc, blockchain to rozproszona cyfrowa baza danych. Fragmenty danych są zorganizowane w porządku chronologicznym. Bloki są łączone za pomocą dowodów kryptograficznych i zabezpieczane. Technologia ta, wdrożona w różnych branżach, już zmienia sposób, w jaki pracujemy i żyjemy.
Pomysł jest taki, że wraz z pojawieniem się bezpiecznych, zdecentralizowanych łańcuchów bloków ludzie będą mogli utrzymać działanie świata bez polegania na sieciach i rynkach stron trzecich. Jednak eksperci na ogół uważają, że jeśli technologia ta ma zostać spopularyzowana na dużą skalę, należy najpierw rozwiązać podstawowy problem, a mianowicie szeroko dyskutowany problem „trójskładnikowego paradoksu łańcucha bloków”.
Termin został spopularyzowany przez współzałożyciela Ethereum, Vitalika Buterina. Aby zrozumieć tę koncepcję, trzeba najpierw poznać trzy główne elementy blockchainu: decentralizację, bezpieczeństwo i skalowalność. Koncepcja „Blockchain Trilemma” odnosi się do trudności blockchaina w osiągnięciu optymalnego poziomu tych trzech atrybutów jednocześnie. Wzrost jednej cechy często prowadzi do zmniejszenia innej cechy.
W tym artykule przeanalizujemy trzy główne elementy trylematu i wyjaśnimy je szczegółowo, jeden po drugim. Dogłębna dyskusja na temat każdego elementu i tego, jak łączy się on ze sobą, pomoże pogłębić nasze zrozumienie tego, jak i dlaczego istnieje trylemat blockchain. W tym artykule omówiono także kilka rozwiązań sugerowanych przez programistów.
Co to jest decentralizacja?
Bitcoin, podobnie jak inne podobne sieci blockchain, jest z założenia zdecentralizowany. Ogólną architekturą tego typu sieci nie zarządza pojedyncza osoba ani pojedyncza organizacja, ale jest ona zdecentralizowana. Poziom sieciowy jest otwarty dla wszystkich uczestników. W rezultacie kontrola jest całkowicie zdecentralizowana, a nie w rękach jednego podmiotu. Każdy ma dostęp do tych samych danych. Jeśli ktoś spróbuje oszukać system, manipulując zapisami według własnej woli, inni uczestnicy mogą odrzucić błędne dane.
Ta operacja jest dość techniczna. Weźmy jako przykład sieć Bitcoin, która nie wymaga kontroli stron trzecich. Porównujemy to do polegania systemu finansowego na bankach. Banki wzmacniają zaufanie pomiędzy stronami transakcji i dbają o prawidłowe prowadzenie wszelkich zapisów. Jednak łańcuch bloków Bitcoin udostępnia dane wszystkim w sieci, aby zapewnić ich weryfikację przed dodaniem do cyfrowej bazy danych. W rezultacie powstał system, który nie wymaga interwencji osób trzecich.
Decentralizacja zapewnia możliwość tzw. Web3. Nasz obecny Internet jest na etapie Web2. Wszystkie strony internetowe i aplikacje w Web2 są kontrolowane przez duże firmy, ale treść tworzą użytkownicy. Web3 to kolejny trend rozwojowy. W Internecie Web3 ludzie kontrolują swoje dane i życie online za pomocą zdecentralizowanej technologii blockchain.
Należy jednak zauważyć, że sposób działania tych rozproszonych systemów wymaga zgody dużej liczby uczestników na ważność wszystkich danych, co wymaga udostępniania i przetwarzania informacji, co skutkuje dłuższym czasem realizacji transakcji. Dlatego blockchain musi być skalowalny, czyli móc przetwarzać więcej danych z większą szybkością. Będziemy to kontynuować, omawiając skalowalność.
Ponadto, aby osiągnąć decentralizację, należy najpierw zapewnić bezpieczeństwo bazowego łańcucha bloków. Jeśli blockchain nie będzie bezpieczny, przestępcy będą mieli możliwość manipulowania danymi. Prowadzi to do drugiej części trylematu: bezpieczeństwa.
Czym jest bezpieczeństwo blockchain?
Bez względu na to, jak zdecentralizowany jest łańcuch bloków, nie pomoże, jeśli brakuje mu bezpieczeństwa. Solidna sieć blockchain musi być odporna na ataki złośliwych podmiotów. Scentralizowane systemy są zamknięte, zapewniając tym samym bezpieczeństwo. Administrator może zapewnić, że dane nie zostaną naruszone. Ale jak osiągnąć bezpieczeństwo w zdecentralizowanym systemie, w którym każdy może uczestniczyć?
To złożony temat. Wróćmy do przykładu Bitcoina i jego zdecentralizowanego bezpieczeństwa blockchain. Blockchain Bitcoin wykorzystuje kombinację kryptografii i mechanizmu konsensusu sieciowego zwanego Proof of Work (PoW). Z kryptograficznego punktu widzenia każdy blok ma podpis cyfrowy, czyli „hasz”. Każda modyfikacja powoduje zmianę hasha bloku, dzięki czemu każdy blok danych jest połączony w sposób niemożliwy do manipulacji. Każda próba zmiany danych jest szybko rozpoznawana przez resztę sieci.
Swoją rolę odgrywa także mechanizm konsensusu proof-of-work, skutecznie zapewniający bezpieczeństwo księgi kryptowalut. Zrozumienie Proof-of-Work samo w sobie jest wielką sprawą, ale na potrzeby tego artykułu pamiętajmy, że członkowie sieci mogą jedynie zatwierdzać nowe transakcje i dodawać je do księgi poprzez czynność „wydobywania”. Wiąże się to z wykorzystaniem mocy obliczeniowej do rozwiązywania trudnych problemów matematycznych. Proces obliczeniowy wymaga od tych komputerów wykonania dużej liczby funkcji mieszających. Chociaż mechanizm proof-of-work jest bezpieczny, jest stosunkowo powolny, co stwarza problemy ze skalowalnością.
Należy również pamiętać, że im więcej uczestników (węzłów) w sieci, tym sieć jest bezpieczniejsza. Im większa liczba uczestników, tym trudniej złym aktorom przejąć kontrolę nad systemem. Wiąże się to z tak zwanym „atakiem 51%”. Ogólne znaczenie tej koncepcji jest takie, że jeśli pojedynczy podmiot (lub grupa przestępców) kontroluje ponad 50% współczynnika mieszania całej sieci blockchain, może arbitralnie obalić konsensus i manipulować danymi w łańcuchu, np. jako żetony podwójnego wydawania.
Krótko mówiąc, bezpieczeństwo ma fundamentalne znaczenie dla sukcesu blockchainu. Bez bezpieczeństwa i atakujących, którzy przejmą kontrolę według własnego uznania, blockchain jest bezwartościowy.
Czym jest skalowalność?
Skalowalność odnosi się do celu, jakim jest zbudowanie łańcucha bloków w celu zwiększenia prędkości transakcji na sekundę. Jeśli technologia blockchain ma służyć szerszemu społeczeństwu lub miliardom użytkowników, jej ekspansja jest koniecznością. Jest to jednak coś, z czym wiele łańcuchów bloków wciąż ma problemy.
Powodem jest to, że decentralizacja i bezpieczeństwo to podstawowe kwestie blockchain i dlatego zawsze traktowane są priorytetowo. Decentralizacja jest podstawą filozofii i celów blockchain. Większość znanych łańcuchów bloków trzyma się tego rdzenia. Jak wspomniano powyżej, bezpieczeństwo jest podstawowym wymogiem sukcesu i wartości blockchain.
Jednak nadanie priorytetu decentralizacji i bezpieczeństwu sprawia, że skalowalność staje się wyzwaniem. Liczba transakcji, które może przetworzyć pojedyncza sieć, jest poważnie ograniczona. Scentralizowane systemy płatności, takie jak Visa, twierdzą, że są w stanie przetworzyć 24 000 transakcji na sekundę, ponieważ sieć jest zamknięta i nie mają na nią wpływu węzły publiczne ani konsensus. Porównajmy różne dobrze znane blockchainy.
Według Bloomberga w 2022 r.: „Od września Bitcoin miał trudności z przetwarzaniem więcej niż 7 transakcji na sekundę, podczas gdy druga najpopularniejsza sieć Ethereum była ograniczona do około 15 transakcji na sekundę. W porównaniu z tradycyjnymi platformami handlowymi jest to po prostu takie wolne ten wątpi w życie.”
Jak wspomniano wcześniej, prędkości transakcji w tych łańcuchach bloków są ograniczone ze względu na sposób, w jaki uczestnicy zdecentralizowanej sieci muszą przetwarzać informacje, a także charakter samego mechanizmu konsensusu w ramach dowodu pracy. Jeśli coraz więcej osób zacznie korzystać w społeczeństwie z technologii blockchain, możliwości przetwarzania transakcji w sieci zostaną ograniczone, co doprowadzi do przeciążenia sieci.
Dlaczego istnieje trójskładnikowy paradoks blockchaina?
Najbardziej oczywistym i podstawowym rozwiązaniem powyższego problemu jest rozbudowa sieci i zwiększenie prędkości poprzez zmniejszenie liczby uczestników potwierdzających i dodających dane sieciowe. Jednakże takie postępowanie ogranicza decentralizację i oddaje kontrolę w ręce kilku uczestników. Mniej uczestników oznacza zwiększone ryzyko ataku, co może również prowadzić do osłabienia bezpieczeństwa.
W ten sposób powstaje trylemat: w podstawowym projekcie zasady działania blockchainu dwa niezbędne atrybuty decentralizacji i bezpieczeństwa są ze sobą ściśle powiązane, co utrudnia osiągnięcie skalowalności. Cała trójka znajduje się w fazie przypływów i odpływów. Jak możemy zwiększyć skalowalność bez narażania na szwank decentralizacji i bezpieczeństwa lub obu tych elementów?
Rozwiązanie trylematu Blockchain
Nie ma jednego uniwersalnego rozwiązania trylematu. Biorąc pod uwagę wagę rozwiązania tego problemu, społeczność zaproponowała wiele różnych rozwiązań, które przyniosły obiecujące rezultaty. Nakreślmy najważniejsze trendy, aby każdy miał pojęcie o najnowszych osiągnięciach w tej dziedzinie.
1. Fragmentowanie
W ten sposób łańcuch bloków lub inny typ bazy danych jest dzielony na mniejsze części łańcucha bloków w celu zarządzania określonymi segmentami danych. Taka konfiguracja odciąża pojedynczy łańcuch obsługujący wszystkie transakcje i interakcje sieciowe. Każda partycja łańcucha bloków nazywana jest „fragmentem” i ma swój własny, specyficzny rejestr. Te fragmenty mogą następnie samodzielnie przetwarzać transakcje, ale łańcuch nawigacyjny lub łańcuch główny zarządza interakcjami między fragmentami. Jest to zmiana w głównej sieci blockchain, więc sharding staje się ulepszeniem skalowalności dla sieci warstwy 1.
2. Różne mechanizmy konsensusu
Jednym z powodów istnienia paradoksu trójskładnikowego w sieci Bitcoin jest sposób, w jaki dowód pracy działa w celu zapewnienia bezpieczeństwa. Aby zapewnić bezpieczeństwo systemu, niezbędni są górnicy, algorytmy kryptowalut i ogromna zdecentralizowana moc obliczeniowa, ale prowadzą one również do spowolnienia systemu. Znalezienie innych sposobów zapewnienia konsensusu jest również sposobem na rozwiązanie trylematu. Jest to jeden z powodów, dla których Ethereum przeszło z Proof-of-Work na Proof-of-Stake (PoS).
W blockchainie typu proof-of-stake uczestnicy muszą postawić (zablokować) swoje tokeny, aby wziąć udział w weryfikacji transakcji, ale nie są wymagane wysoce wyspecjalizowane maszyny wydobywcze. Łatwiej i wygodniej jest dodać do sieci więcej walidatorów. Mechanizmy konsensusu typu „proof-of-stake” to tylko jeden z wielu sposobów rozwiązania problemu skalowalności.
3. Rozwiązanie warstwy 2
Sharding i różne mechanizmy konsensusu to tak zwane rozwiązania warstwy 1, których celem jest zmiana podstawowego projektu podstawowej sieci. Jednak inni programiści szukają rozwiązań w oparciu o istniejące struktury sieciowe, próbując rozwiązać problem trylematowy. Innymi słowy, wierzą, że rozwiązanie leży w sieci warstwy 2, zwanej także „warstwą 2”. Odpowiednie przykłady obejmują łańcuchy boczne i kanały stanu.
Sidechainy to zasadniczo niezależne łańcuchy bloków połączone z łańcuchem głównym. Dzięki tej konfiguracji aktywa mogą swobodnie przepływać między dwoma łańcuchami. Co ważne, sidechains mogą działać na różnych zasadach, aby osiągnąć przyspieszenie i skalowalność. Podobnie kanały stanowe to kolejny sposób na odciążenie warstwy 1 poprzez usunięcie transakcji z głównego łańcucha. Zamiast korzystać z oddzielnego łańcucha, kanały stanowe korzystają z inteligentnych kontraktów, które pozwalają użytkownikom na interakcję między sobą bez publikowania transakcji na blockchainie. Blockchain musi jedynie zarejestrować początek i koniec kanału.
Podsumować
Trylemat blockchain utrudnia wykorzystanie potencjału technologii blockchain w zmienianiu świata. Jeśli sieć typu blockchain może obsłużyć jedynie niewielką liczbę transakcji na sekundę, aby zachować zdecentralizowaną i bezpieczną, trudno będzie osiągnąć masowe przyjęcie. Jednak sądząc po najnowszych rozwiązaniach zaproponowanych przez programistów w celu rozwiązania tego problemu, sieci blockchain mogą mieć nadzieję na osiągnięcie w przyszłości skoku w zakresie możliwości przetwarzania danych, jeśli będą nadal rozwijać obecny postęp technologiczny.
