Indeks:

  • Wprowadzić

  • Trzy trudne problemy przy rozbudowie Blockchain

  • Jakie są rozwiązania skalowania poza łańcuchem?

  • Wprowadzenie do łańcuchów bocznych

    • Co to jest Sidechain?

    • Jak działa sidechain?

    • Dlaczego stosuje się łańcuchy boczne?

  • Wprowadzenie do kanałów płatności

    • Co to jest kanał płatności?

    • Jak działają kanały płatności?

    • Kierowanie płatności

  • Streszczenie


Wprowadzić

Skalowalność to zdolność systemu do rozbudowy w celu zaspokojenia rosnących potrzeb transakcyjnych. W przypadku komputerów można zwiększyć wydajność, modernizując sprzęt, aby szybciej wykonywać określone zadania. Kiedy mówimy o skalowalności w blockchainach, mówimy o zwiększeniu możliwości przetwarzania wielu transakcji jednocześnie.

Protokoły takie jak Bitcoin mają wiele mocnych stron, ale skalowalność nie jest jedną z nich. Gdyby Bitcoin był centralnie zarządzaną bazą danych, łatwo byłoby zwiększyć prędkość i przepustowość sieci. Jednak propozycja wartości Bitcoina (opór przed cenzurą) wymaga, aby wielu uczestników zsynchronizowało kopię łańcucha bloków.


Trzy trudne problemy przy rozbudowie Blockchain

Obsługa węzła Bitcoin jest stosunkowo tania i poradzą sobie z tym nawet proste urządzenia. Ponieważ jednak tysiące węzłów muszą się nawzajem aktualizować, istnieją pewne ograniczenia dotyczące ich wydajności. 

Sieć ma ograniczoną zdolność do obsługi wolumenu transakcji, aby nie dopuścić do rozrostu bazy danych do nieporęcznych rozmiarów. Jeśli transakcje są zbyt duże i zbyt szybkie, węzły nie będą w stanie nadążyć. Co więcej, jeśli bloki są zbyt duże, nie można ich szybko przekazać w sieci.

W rezultacie wpadamy na coś w rodzaju wąskiego gardła. Blockchain można traktować jako usługę kolejową odjeżdżającą o zaplanowanych godzinach. Każdy wagon ma ograniczoną liczbę miejsc i aby otrzymać bilet, pasażerowie muszą licytować i zapewnić sobie miejsce. Jeśli wszyscy spróbują wsiąść do pociągu o tej samej porze, cena biletu będzie wysoka. Podobnie sieć przeciążona oczekującymi transakcjami będzie wymagać od użytkowników uiszczania wyższych opłat za przetworzenie transakcji.

Jednym z rozwiązań jest powiększenie wagonów. Oznacza to więcej miejsc, większą przepustowość i tańsze bilety. Nie ma jednak gwarancji, że miejsca nie będą zajęte tak jak poprzednio. Nie można trwale rozbudowywać samochodów, ani bloków ani limitów paliwa nie można zwiększać w nieskończoność. Po drugie, utrzymanie pojedynczych węzłów w sieci będzie droższe, ponieważ do utrzymania synchronizacji będą potrzebować droższego sprzętu.

Twórca Ethereum, Vitalik Buterin, ukuł trylemat dotyczący skalowalności, aby opisać wyzwanie stojące przed blockchainami. Stawia hipotezę, że protokoły zawsze muszą dokonywać kompromisów między skalowalnością, bezpieczeństwem i decentralizacją. Zawsze są ze sobą sprzeczne – za bardzo skup się na dwóch atrybutach, a trzeci zostanie osłabiony.

Z tego powodu wiele osób postrzega skalowalność jako coś, co należy osiągnąć poza łańcuchem, natomiast bezpieczeństwo i decentralizację należy maksymalizować w samym łańcuchu bloków.


Jakie są rozwiązania skalowania poza łańcuchem?

Skalowanie poza łańcuchem opisuje podejścia, które umożliwiają przeprowadzanie transakcji bez rozdęcia łańcucha bloków. Protokoły on-chain umożliwiają użytkownikom wysyłanie i odbieranie środków bez pojawiania się transakcji w głównym łańcuchu. Przyglądamy się dwóm najbardziej znaczącym rozwiązaniom na tym froncie: sidechainom i kanałom płatności.


Wprowadzenie do łańcuchów bocznych

Co to jest Sidechain?

Każdy sidechain jest oddzielnym łańcuchem bloków. Nie jest to jednak platforma niezależna, gdyż jest w jakiś sposób powiązana z głównym łańcuchem. Łańcuch główny i łańcuch boczny są interoperacyjne, co oznacza, że ​​treść może swobodnie przepływać z jednego łańcucha bloków do drugiego.

Istnieje kilka sposobów zapewnienia możliwości transferu środków tam i z powrotem. W niektórych przypadkach aktywa są przenoszone z głównego łańcucha poprzez deponowanie pod specjalnym adresem. W rzeczywistości nie są one wysyłane – zamiast tego są blokowane na ten adres, a na sidechainie uwalniana jest odpowiednia ilość. Prostszym sposobem (choć jest to opcja scentralizowana) jest zdeponowanie środków u depozytariusza, który wymieni depozyt na środki w sidechainie.


Jak działa sidechain?

Załóżmy, że Alicja ma pięć bitcoinów. Chce je wymienić na pięć równoważnych jednostek w sidechainie Bitcoina – nazwijmy je sidecoinami. Omawiany łańcuch boczny wykorzystuje kołek dwukierunkowy, co oznacza, że ​​użytkownicy mogą przenosić swoje zasoby z łańcucha głównego do łańcucha bocznego i odwrotnie. 

Pamiętaj, że sidechain to odrębny blockchain. Będzie więc miał także bloki, węzły i mechanizmy uwierzytelniania. Aby zdobyć sidecoiny, Alicja wysyła pięć bitcoinów na inny adres. Osoba je otrzymująca doda następnie te 5 sidecoinów do swojego adresu po otrzymaniu bitcoinów. Dodatkowo może mieć jakąś konfigurację zwiększającą niezawodność – oprogramowanie automatycznie dodaje sidecoiny po wykryciu transakcji płatniczej.


Mở rộng Sidechain


Alicja zamieniła teraz swoje monety na sidecoiny, ale zawsze może odwrócić ten proces, aby odzyskać swoje bitcoiny. Teraz, gdy dołączyła do sidechaina, może swobodnie przeprowadzać transakcje na tym oddzielnym blockchainie. Może wysyłać sidecoiny lub otrzymywać je od innych, tak jak robi to w głównym łańcuchu.

Na przykład mogłaby zapłacić Bobowi sidecoina za kurtkę Binance. Kiedy chce odzyskać swoje Bitcoiny, może wysłać cztery pozostałe sidecoiny na specjalny adres. Po potwierdzeniu transakcji cztery bitcoiny zostają odblokowane i przesłane na kontrolowany przez nią adres w głównym łańcuchu.


Dlaczego stosuje się łańcuchy boczne?

Można się zastanawiać, jaki jest tego cel. Dlaczego Alice nie używa blockchainu Bitcoin dla wygody?

Odpowiedź jest taka, że ​​łańcuchy boczne mogą robić rzeczy, których nie może zrobić łańcuch bloków Bitcoin. Blockchain to starannie zaprojektowany system wymiany. Chociaż Bitcoin jest najbardziej zdecentralizowaną i bezpieczną kryptowalutą, nie jest najlepszym blockchainem pod względem przepustowości. Chociaż transakcje Bitcoinem są szybsze niż metody konwencjonalne, nadal są stosunkowo powolne w porównaniu z innymi systemami blockchain. Bloki są wydobywane co dziesięć minut, a opłaty mogą znacznie wzrosnąć, gdy sieć jest przeciążona.

Trzeba przyznać, że małe, codzienne płatności prawdopodobnie nie wymagają takiego poziomu bezpieczeństwa. Jeśli Alicja będzie musiała zapłacić za kawę, nie będzie mogła czekać na potwierdzenie transakcji. Będzie musiała poczekać w kolejce, a zanim jej napój będzie zimny, będzie już zimny.

Sidechains nie podlegają tym samym zasadom. Tak naprawdę nie muszą nawet korzystać z mechanizmu konsensusu Proof of Work, aby działać. Możesz skorzystać z dowolnego mechanizmu konsensusu, zaufać pojedynczemu walidatorowi lub dowolnej liczbie walidatorów. Możesz dodawać ulepszenia, które nie istnieją w głównym łańcuchu, tworząc większe bloki i przyspieszając wykonanie.

Co ciekawe, nawet jeśli sidechain ma krytyczne błędy, nadal nie mają one wpływu na poniższy łańcuch. Dzięki temu można je wykorzystać jako platformę do testowania i wdrażania funkcji, które nie wymagają konsensusu większości sieci.

Dopóki użytkownicy są zadowoleni z kompromisu, łańcuchy boczne są skutecznym sposobem skalowania łańcucha bloków. Węzły łańcucha głównego nie muszą przechowywać każdej transakcji z łańcucha bocznego. Alicja może dołączyć do sidechain za pomocą jednej transakcji Bitcoin, dokonać setek transakcji sidecoin, a następnie opuścić sidechain. W tym procesie w przypadku łańcucha bloków Bitcoin Alicja musi dokonać jedynie dwóch transakcji – jednej na wejście i drugiej na wyjście.

Plazma Ethereum działa podobnie, ale z pewnymi istotnymi różnicami. Dowiedz się więcej: Co to jest plazma Ethereum?


Wprowadzenie do kanałów płatności

Co to jest kanał płatności?

Kanały płatnicze działają jako kanały boczne, pomagając blockchainowi zwiększyć skalowalność – podobnie do sidechainów, ale zasadniczo są bardzo różne. Podobnie jak łańcuchy boczne, kanały płatności wypychają transakcje z głównego łańcucha, aby zapobiec rozdęciu łańcucha bloków. Jednak w przeciwieństwie do sidechainów nie wymagają one do działania osobnego blockchainu.

Kanał płatności wykorzystujący inteligentne kontrakty, aby umożliwić użytkownikom przeprowadzanie transakcji bez publikowania ich w łańcuchu bloków. Odbywa się to za pomocą wymuszanej programowo umowy pomiędzy dwoma uczestnikami.


Jak działają kanały płatności?

W popularnych modelach, takich jak Lightning Network, dwie strony najpierw wpłacają środki na wspólny adres. Jest to adres wielopodpisowy, wymagający dwóch podpisów do wydania środków. Jeśli więc Alicja i Bob utworzą taki adres, środki będą mogły zostać przelane jedynie za zgodą obu stron.

Załóżmy, że każda osoba wysyła 10 BTC na adres, a na tym adresie znajduje się obecnie 20 BTC. Łatwo byłoby im prowadzić bilans, który wyraźnie stwierdza, że ​​Alicja i Bob mają po 10 BTC. Gdyby Alicja chciała dać Bobowi monetę, mogłaby ją zaktualizować, tak aby rejestrowała, że ​​Alicja miała 9 BTC, a Bob miał 11 BTC. Nie będą musieli publikować w łańcuchu bloków, nawet jeśli będą nadal aktualizować te salda. 


Các kênh thanh toán hoạt động như thế nào


Jednak w odpowiednim momencie, powiedzmy, gdy Alicja ma 5 BTC, a Bob ma 15 BTC. Mogą stworzyć transakcję, która wyśle ​​te salda na adresy należące do stron, podpisze ją i zapisze w łańcuchu bloków.

Wcześniej Alicja i Bob mogli zarejestrować w swoim bilansie dziesięć, sto lub tysiąc transakcji. Jednak w przypadku blockchain wykonują tylko dwie operacje w łańcuchu: jedną dla początkowej transakcji depozytowej i jedną w celu realokacji salda po zakończeniu wszystkich transakcji. Oprócz tych dwóch transakcji wszystkie pozostałe transakcje są bezpłatne i niemal natychmiastowe, ponieważ są wykonywane poza łańcuchem. Górnicy nie płacą żadnych opłat i nie trzeba dokonywać potwierdzeń blokowych.

Oczywiście omówiony powyżej przykład wymaga współpracy obu stron, co nie jest sytuacją idealną, jeśli są to osoby nieznajome. Można jednak zastosować specjalne mechanizmy, aby ukarać wszelkie próby oszustwa, dzięki czemu strony mogą bezpiecznie wchodzić w interakcje bez zaufania. 


Kierowanie płatności

Oczywiście kanały płatności są wygodnym narzędziem, gdy obie strony mają duże wolumeny transakcji. Ponadto mają inne zalety. Sieć kanałów można podzielić na części, co oznacza, że ​​Alicja może płacić podmiotowi, z którym nie ma bezpośrednich połączeń. Jeśli Bob ma otwarty kanał z Carol, Alicja może jej zapłacić, o ile są wystarczające środki. Ona popchnie monety w stronę kanału Boba, a Bob z kolei przekaże je Carol. Jeśli Carol jest połączona z innym uczestnikiem, Danem, można zrobić to samo. 

Taka sieć ewoluuje w kierunku topologii rozproszonej, w której ludzie łączą się z wieloma równorzędnymi urządzeniami. Często do miejsca docelowego prowadzi wiele tras, a użytkownik wybiera najbardziej efektywną trasę. 


Streszczenie

Omówiliśmy dwa podejścia zwiększające skalowalność blockchainu, pozwalające na transakcje bez obciążania głównego blockchaina. Zarówno technologia sidechain, jak i kanały płatności nie są jeszcze w pełni dojrzałe, ale są coraz częściej wybierane przez użytkowników, którzy chcą przezwyciężyć wady transakcji warstwy podstawowej.

W przyszłości, gdy do sieci dołączy więcej użytkowników, ważne będzie utrzymanie decentralizacji. Można to osiągnąć jedynie poprzez stworzenie ograniczeń wzrostu blockchainu, tak aby nowe węzły mogły łatwo przyłączać się. Zwolennicy rozwiązań skalowania poza łańcuchem uważają, że z czasem główny łańcuch będzie wykorzystywany wyłącznie do rozliczania transakcji o dużej wartości lub do blokowania/wyłączania łańcuchów bocznych i płatności w kanałach otwierania/zamykania.