Streszczenie

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ę. Aby technologia blockchain mogła zostać przyjęta na całym świecie, musiałaby być w stanie obsłużyć znacznie więcej danych i z większą szybkością, aby więcej osób mogło korzystać z sieci, nie stając się zbyt powolną ani kosztowną w użyciu. 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, którzy chcą rozwiązać ten problem, wypróbowują różne mechanizmy konsensusu i rozwiązania skalowalności, takie 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 chronione przez dowody kryptograficzne. 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 umożliwiają świat, w którym funkcjonowanie sieci i rynków nie jest zależne od stron trzecich. Eksperci jednak ogólnie zgadzają się, że jeśli technologia ta ma być szerzej stosowana, należy najpierw rozwiązać jeden zasadniczy problem: „trylemat blockchain”.

Współzałożyciel Ethereum, Vitalik Buterin, był tym, który spopularyzował to określenie. Aby to zrozumieć, trzeba wiedzieć, że w blockchainie pożądane są trzy elementy: decentralizacja, bezpieczeństwo i skalowalność. Trilemat blockchain polega na tym, że blockchainom trudno jest osiągnąć optymalny poziom wszystkich trzech właściwości jednocześnie. Zwykle, jeśli zwiększysz optymalizację jednego elementu, inny zostanie osłabiony.

W tym artykule przeanalizujemy trzy elementy trylematu i szczegółowo wyjaśnimy, czym jest każdy z nich. Szczegółowa analiza każdego z nich i tego, jak do siebie pasują, pozwala nam lepiej zrozumieć, w jaki sposób i dlaczego istnieje trylemat blockchain. W tym artykule przedstawimy także niektóre rozwiązania sugerowane przez programistów.

Co to jest decentralizacja?

Bitcoin i inne podobne sieci blockchain mają zdecentralizowaną konstrukcję. Cała struktura jest zorganizowana w taki sposób, że nie ma jednej osoby ani organizacji odpowiedzialnej za całość, lecz jest ona zdecentralizowana. Warstwa sieciowa jest otwarta dla każdego, kto chce w niej uczestniczyć. W rezultacie kontrola jest całkowicie rozproszona, a nie przypada na pojedynczy podmiot. Każdy ma dostęp do tych samych danych. Jeśli ktoś spróbuje oszukać system zmieniając zapisy na swoją korzyść, reszta uczestników odrzuci błędne dane.

Może to być dość techniczne, ale spójrzmy na sieć Bitcoin jako przykład. Nie ma osób trzecich sprawujących kontrolę. Porównaj to z zapotrzebowaniem tradycyjnego systemu finansowego na banki. Banki wzmacniają zaufanie między osobami dokonującymi transakcji i dbają o prawidłowe prowadzenie wszystkich rejestrów. Sieć Bitcoin udostępnia jednak wszystkie dane wszystkim członkom sieci, dzięki czemu można je zweryfikować i potwierdzić przed dodaniem do cyfrowej bazy danych. Rezultatem jest system, który może istnieć bez konieczności udziału 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 wziąć pod uwagę fakt, że ze względu na sposób działania tych rozproszonych systemów i konieczność zaangażowania dużej liczby uczestników w celu uzgodnienia ważności wszelkich danych, czas realizacji transakcji może być długi ze względu na sposób ich udostępniania i przetwarzania. Z tego powodu łańcuchy bloków muszą być skalowalne, co oznacza, że ​​muszą być w stanie obsłużyć więcej danych z większą szybkością. Powrócimy do tego punktu, gdy będziemy mówić o skalowalności.

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

Czym jest bezpieczeństwo blockchain?

Jeśli łańcuch bloków nie jest zabezpieczony, nie ma znaczenia, jak bardzo jest zdecentralizowany. Dobra sieć blockchain musi być odporna na ataki złośliwych podmiotów. Systemy scentralizowane opierają swoje bezpieczeństwo na tym, że system jest zamknięty. Ktokolwiek sprawuje kontrolę, może zapewnić, że dane będą wolne od zakłóceń. Ale jak to osiągnąć w zdecentralizowanym systemie, w którym każdy może uczestniczyć?

Jest to skomplikowany temat, ale ponownie możemy wziąć Bitcoin jako przykład bezpieczeństwa zdecentralizowanego blockchainu. Blockchain Bitcoin wykorzystuje kombinację kryptografii i mechanizmu konsensusu sieciowego zwanego Proof of Work (PoW). Z punktu widzenia kryptografii każdy blok ma jakiś rodzaj podpisu cyfrowego lub skrótu i ​​jest połączony w taki sposób, że nie można go zmanipulować, ponieważ jakakolwiek zmiana spowodowałaby 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 chronić księgę kryptowalut. Zrozumienie konsensusu Proof of Work wymagałoby całego osobnego artykułu, ale dla naszych celów należy pamiętać, że członkowie sieci mogą jedynie weryfikować nowe transakcje i dodawać je do księgi głównej poprzez czynność zwaną wydobywaniem. Wiąże się to z wykorzystaniem mocy obliczeniowej do rozwiązywania zagadek matematycznych. Część procesu wymaga od tych komputerów wykonywania różnych funkcji mieszania. Ma to wpływ na kwestię skalowalności, ponieważ mechanizm PoW jest bezpieczny, ale stosunkowo powolny.

Uważa się również, że im więcej uczestników (węzłów) znajduje się w sieci, tym będzie ona bezpieczniejsza. Im większa liczba stron, tym trudniej będzie złośliwemu aktorowi przejąć kontrolę nad systemem. Odnosi się to do tak zwanego ataku 51%. Podsumowując, jeśli pojedynczy podmiot (lub grupa złośliwych aktorów) zdoła kontrolować ponad 50% całkowitego współczynnika mieszania sieci w łańcuchu bloków, może na przykład unieważnić konsensus i zmienić dane łańcucha dla własnej korzyści , żetony podwójnych wydatków.

Mówiąc najprościej, bezpieczeństwo jest podstawowym wymogiem udanego łańcucha bloków, ponieważ bez niego napastnicy mogą kontrolować łańcuch i uczynić 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ę. Musi być skalowalna, jeśli technologia blockchain ma dotrzeć do szerszego społeczeństwa i być może miliardów użytkowników. Jednak to właśnie tutaj zmaga się większość łańcuchów bloków.

Dzieje się tak, ponieważ decentralizacja i bezpieczeństwo są tak fundamentalne dla blockchain, że są to czynniki, które należy wziąć pod uwagę w pierwszej kolejności. Decentralizacja ma kluczowe znaczenie dla filozofii i celów technologii blockchain, która stanowi serce najbardziej rozpoznawalnych blockchainów. Bezpieczeństwo, jak już widzieliśmy, jest głównym wymogiem, aby blockchain 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ć bardzo ograniczona. Scentralizowany system płatności, taki jak Visa, twierdzi, że może przetwarzać do 24 000 transakcji na sekundę. Ponieważ sieć jest zamknięta i nie trzeba się martwić o takie kwestie, jak węzły publiczne i konsensus, staje się to możliwe. Porównaj to z niektórymi z najbardziej rozpoznawalnych łańcuchów bloków.

Według Bloomberga w 2022 r.: „Od września tego roku Bitcoin mógł obsłużyć nie więcej niż siedem transakcji na sekundę, a Ethereum, druga najpopularniejsza sieć, była ograniczona do około 15 na sekundę – czyli przez całe życie w porównaniu z konwencjonalnymi giełdami”.

Jak już wspomnieliśmy, prędkości transakcji tych blockchainów są ograniczone ze względu na sposób, w jaki informacje muszą być przetwarzane przez różnych uczestników, w zależności od zdecentralizowanej sieci i charakteru samego mechanizmu konsensusu PoW. Jeśli coraz więcej ludzi w społeczeństwie zacznie korzystać z technologii blockchain, sieci utkną w martwym punkcie ze względu na ograniczoną liczbę transakcji, które mogą obsłużyć.

Dlaczego istnieje trylemat blockchain

Najbardziej oczywistym i podstawowym rozwiązaniem tego problemu jest zmniejszenie liczby uczestników, którzy przekazują i dodają dane do sieci w celu skalowania i zwiększania prędkości. Takie działanie osłabiłoby jednak decentralizację, ponieważ kontrola zostałaby przekazana niewielkiej liczbie uczestników. Podobnie miałoby to negatywny wpływ na bezpieczeństwo, ponieważ mniejsza liczba uczestników oznacza większe ryzyko ataku.

Oto trylemat: ze względu na związek pomiędzy wysoce pożądanymi właściwościami decentralizacji i bezpieczeństwa, podstawowy projekt działania blockchainu utrudnia jego skalowanie. Jeśli zwiększysz jeden, drugi osłabnie. Jak zapewnić skalowalność bez szkody dla decentralizacji i bezpieczeństwa?

Jak rozwiązać trylemat blockchain

Nie ma złotego rozwiązania tego trylematu. Biorąc jednak pod uwagę wagę rozwiązania tego problemu, w społeczności opracowano wiele różnych podejść, które przyniosły interesujące rezultaty. Przyjrzyjmy się podsumowaniu niektórych najpopularniejszych osiągnięć, aby lepiej zrozumieć, co dzieje się w kosmosie:

1. Fragmentacja lub „sharding”

Jest to metoda rozdzielania ł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 uniemożliwia pojedynczemu łańcuchowi obsługę wszystkich transakcji i interakcji w sieci. Każdy podzielony łańcuch bloków nazywany jest odłamkiem i ma własną księgę. Te fragmenty mogą przetwarzać własne transakcje, ale interakcjami między fragmentami zarządza sygnał nawigacyjny lub główny łańcuch bloków. To sprawia, że ​​sharding jest ulepszeniem skalowalności sieci warstwy 1, ponieważ stanowi zmianę w głównej sieci blockchain.

2. Inny mechanizm konsensusu

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

W blockchainach PoS uczestnicy zaangażowani w walidację transakcji muszą postawić swoje tokeny. Nie są potrzebne żadne wysokospecjalistyczne maszyny górnicze. Dodanie większej liczby walidatorów do sieci jest prostsze i bardziej dostępne. PoS to tylko jeden z wielu mechanizmów konsensusu, których celem jest skalowalność.

3. Rozwiązania warstwy 2

Zarówno sharding, jak i różne mechanizmy konsensusu to tak zwane rozwiązania warstwy 1, których celem jest zmiana podstawowego projektu podstawowej sieci. Ale inni programiści, którzy chcą rozwiązać ten trylemat, pracowali nad rozwiązaniami, które opierają się na już istniejącej strukturze sieci. Innymi słowy, uważają, że rozwiązanie leży w drugiej warstwie, czyli warstwie 2. Przykładami są łańcuchy boczne i kanały stanu.

Sidechain to w zasadzie oddzielny łańcuch bloków, który łączy się z łańcuchem głównym. Jest skonfigurowany w taki sposób, aby aktywa mogły swobodnie przepływać pomiędzy obydwoma łańcuchami bloków. Należy zauważyć, że łańcuch boczny może działać na różnych zasadach, co pozwala na większą prędkość i skalowalność. Podobnie kanały stanowe to kolejny sposób na wyprowadzenie transakcji z głównego łańcucha i zmniejszenie presji na warstwę 1. Kanał stanowy wykorzystuje inteligentną umowę zamiast oddzielnego łańcucha, aby umożliwić użytkownikom interakcję ze sobą bez publikowania swoich transakcji w łańcuchu bloków. Blockchain rejestruje tylko początek i koniec kanału.

Wnioski

Trilemat blockchain stoi na przeszkodzie, aby blockchain osiągnął 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, masowe przyjęcie będzie trudne do osiągnięcia. Jednak rozwiązania, których programiści poszukiwali i proponowali dla tego problemu, sugerują, że postęp technologiczny osiągnięty już przez blockchain będzie kontynuowany, a sieci te z pewnością będą w przyszłości w stanie obsłużyć znacznie więcej danych.