Następna era w skalowaniu Stacks

Skale Poland
7 min readOct 30, 2021

--

Co nas może czekać w następnych miesiącach jeśli chodzi o kierunki rozwoju skalowania się Stacks?

Skalowanie się Stacks

Wbrew temu, co przedstawia nam otaczający krypto marketing, łańcuchy bloków w rzeczywistości nie skalują się. Zawsze będzie kompromis między szybkością a decentralizacją, i wybrane podejście wiąże się z własnym zestawem problemów jak i możliwości. Wszelkie protokoły, których wysyp obecnie obserwujemy, oferują różne kompromisy i to samo dotyczy Stacks.

W przypadku blockchaina Stacks podjęto bardzo konkretne decyzje mające na celu zapewnienie bezpieczeństwa i decentralizacji, co wymagało kompromisu w zakresie szybkości i pojemności. Nie będziemy wchodzić w szczegóły tych decyzji w tym poście, więc gorąco polecam zajrzeć na post autorstwa Muneeba Ali, założyciela Stacks: Framework for Stacks Scalability .

Co więc mamy zrobić w sytuacji gdzie w ciągu ostatnich kilku tygodni sieć Stacks była dość często przeciążona? Czy utknęliśmy w impasie między powolnym LUB bezpiecznym rozwiązaniem? Czy na zawsze będziesz już sfrustrowany próbując stworzyć najnowszy NFT?!

Nie! Dobrą wiadomością jest to, że chociaż poszczególne łańcuchy bloków nie mogą być skalowane, sieci z pewnością mogą być skalowalne. Co więcej, możemy nawet pozwolić programistom na dokonywanie własnych kompromisów w zakresie szybkości i bezpieczeństwa, bez dyktowania jednego zestawu opcji dla całej sieci. Co więcej, w ekosystemie Stacks trwa już wiele wysiłków, aby zapewnić programistom narzędzia do podejmowania własnych decyzji, przy jednoczesnym korzystaniu z funkcji Stacks i bezpieczeństwa rozliczeń zapewnianych przez sieć Bitcoin.

Założeniem, o którym należy pamiętać podczas czytania poniższych konspektów, jest to, że to, co jest idealne dla jednej aplikacji, może być straszne dla innej. Na przykład podejście odpowiednie dla DEX może nie być wykonalne dla rynku NFT lub mieć mało sensu. Opisane poniżej rozwiązania skalowania umożliwiają modularyzację, zapewniają zatem szerszy wahlarz wyborów.

Rozwiązania dostępne szybko

Obecna sieć działa ze “sztucznie” zaniżoną przepustowością ze względu na wysokie koszty, co oznacza, że ​​optymalizacja funkcji kosztów natychmiast dałaby obecnym budowniczym więcej swobody i zmniejszyła zatory na sieci. Chociaż nie jest to trwałe rozwiązanie, usunięcie tych sztucznych ograniczeń wydajności, to zmiany, które mogą pomóc budowniczym zdecydowanie, i to już w ciągu kilku tygodni lub miesięcy rozwinąć skrzydła.

Wczesne badania przeprowadzone przez programistów w Hiro sugerują, że budowniczowie mogą wykorzystać bardziej zoptymalizowane funkcje kosztów, aby uzyskać 10–17-krotne wzrosty wydajności w przypadku kontraktów takich jak BNS. Wąskim gardłem było również wdrożenie MARF, a te same badania wskazują również na potencjał 20–40x ulepszeń jeśli chodzi o szybkość.

Uwaga na temat mikrobloków: są one już aktywne w sieci i włączane przez niektórych górników, ale NIE są rozwiązaniem do skalowania, po prostu umożliwiają szybsze potwierdzanie transakcji . W społeczności pojawiło się trochę zamieszania na ten temat, jeśli chcesz dowiedzieć się więcej o mikroblokach, przeczytaj ten post od Hiro.

Dowiedz się więcej o opcjach związanych z funkcją kosztów

Następna Era Skalowania Stacks

To ekscytujące, że osiągnęliśmy punkt, w którym należy już zająć się dalszym skalowaniem. Nikt nie spodziewał się tak szybkiego osiągnięcia pełnych bloków w Stacks i nie powinniśmy zapominać o świętowaniu tego faktu. Nawet jeśli przeciążenie sieci może być frustrujące, jest to zasługa wszystkich aplikacji, NFT i platform tworzonych przez twórców Stacks. Ale nie możemy stać bezczynnie i jedynie cieszyć się z tego powodu, musimy wyznaczyć drogę, aby ci twórcy mogli odnieść kolejne sukcesy bez ryzyka negatywnego wpływu na wrażenia użytkownika.

Poniżej przedstawię moje aktualne zrozumienie różnych opcji skalowania na wysokim poziomie. Aby uzyskać szczegółowe informacje, zerknij na zalinkowane materiały na Github lub Forum, gdzie możesz zagłębić się w rozmowę i dać swoją opinię.

⛓️ Łańcuchy aplikacji (App Chains)

Jak wspomniano wcześniej, łańcuchy bloków nie mogą być skalowane, ale seria łańcuchów bloków może. Wyobraź sobie przyszłość, w której sieć Stacks nie jest jednym łańcuchem, ale jeden podstawowy łańcuch (Stacks) służy jako coś w rodzaju zaplecza dla wielu łańcuchów na górze. Wszystkie te łańcuchy są zakotwiczone z powrotem do Stacks, a zatem do Bitcoina, ale mogą mieć wszystko, od własnych rozmiarów bloków, przez górników aż po mechnizmy zachęt.

Jude Nelson opisuje to tak:

Algorytm konsensusu PoX w Stacks umożliwia wykorzystanie mocy obliczeniowej Bitcoina do bezpiecznego hostowania struktury łańcucha. Dzięki kilku modyfikacjom pozwala również instancji łańcucha bloków Stacks na użycie innej instancji łańcucha bloków Stacks do hostowania swojej struktury łańcucha! PoX : wiele łańcuchów bloków L1 może działać w różnym stopniu separacji między sobą a Bitcoinem, ale Bitcoin będzie zaangażowanyw struktury chainów dla wszystkich z tych łańcuchów.

Podejście Appchain sprawia, że ​​Stacks jest złożonym łańcuchem bloków . Możesz zwiększyć pojemność łańcucha bloków Stacks, dodając więcej łańcuchów aplikacji. Tworzenie kolejnego łańcucha aplikacji to tylko kwestia wdrożenia specjalnie przygotowanej inteligentnej umowy, która może przechowywać odpowiedni stan. Podobnie jak w przypadku Stacks i Bitcoin, każdy blok łańcucha aplikacji jest haszowany do pojedynczej transakcji w łańcuchu na hoscie, więc dla węzłów łańcuchów (hosta), eksploracja łańcucha aplikacji wygląda jak wykonanie konkretnego wywołania kontraktu.

Powodem dlaczego to się skaluje jest to, że łańcuch host nie musi znać ani troszczyć się o stan swoich klientów (podobnie jak Bitcoin nie zna Stacks). Jedynie osoby, które chcą korzystać z Twoich inteligentnych kontraktów, muszą prowadzić węzły dla łańcucha aplikacji; wszyscy inni mogą to całkowicie zignorować.

I najlepsza wiadomość: łańcuchy aplikacji są już testowane!

Dowiedz się więcej o łańcuchach aplikacji i kiedy możesz z nich korzystać.

Podsieci (Subnets)

Długoterminowym rozwiązaniem (3–6 miesięcy) mogą być podsieci, pomysł omówiony w tym poście przez założyciela Stacks, Muneeba Ali.

Podsieci można traktować jako rozszerzenie głównego łańcucha Stacks. Podsieci mogą uzyskać niższy wynik po stronie decentralizacji, ale gdy uzyskasz niższy wynik w zakresie decentralizacji, możesz uzyskać bardzo wysoki wynik jeśli chodzi o szybkość transakcji, jednocześnie przy niskich kosztach. A jeśli połączysz się z głównym łańcuchem, to otrzymujesz to, co najlepsze z obu światów.

Ogólny model polega na skalowaniu się warstwowo wokół Bitcoina. Stacks można traktować jako warstwę smart-kontraktów dla Bitcoina, ale Stacks może też mieć podsieci, które wprowadzają inne podejścia w zakresie decentralizacji/przepustowości niż główny łańcuch Stacks.

Jude Nelson rozwija swoją interpretację podsieci i sposób ich działania w artykule tutaj .

Podsieć Stacks (subnet) kształtuje się jako system, który na wysokim poziomie zapewnia wiele podobnych funkcji do sidechains i drivechains . Posiada następujące właściwości:

  • Węzły o dużej mocy: żywotność systemu jest napędzana przez zestaw uczestników sieci, którzy są wybierani przez stackerów. Węzły te mogą mieć łącza o dużej przepustowości i dużą moc obliczeniową (np. węzły datacenter), w przeciwieństwie do głównego łańcucha Stacks, który musi pozostać otwarty na kopanie z normalnych laptopów.
  • Natychmiastowa finalność : gdy transakcja zostanie wysłana i uruchomiona w podsieci, pozostaje tam na zawsze. Główny łańcuch Stacks może omijać awarie i forki. Podsieci nie muszą ale mogą optymalizować swoją prędkość, nie zezwalając na forki.
  • Routing z głównym łańcuchem : Assety w podsieci pochodzą z łańcucha Stacks (użytkownicy mogą wysłać transakcję do podsieci, aby przenieść do niej zasoby). Użytkownicy mogą następnie wchodzić w interakcje z aplikacjami i umowami wdrożonymi w podsieci z dużą szybkością i niskimi opłatami za gaz, np. DEX, i ostatecznie wycofać swoje zasoby z powrotem do głównego łańcucha.

Nie są to jednak ani drivechainy, ani sidechainy, ponieważ działają w zupełnie innym modelu zachęt, który opiszę poniżej. W rzeczywistości nie są nawet blockchainami.

Podejrzewam, że zamiast tego będą wyglądać raczej jak „super kanał Lightning”, inspirowany protokołem Lightning Bitcoina:

  1. Grupa użytkowników blokuje swoje assety w Stacks, aby zmaterializować je w podsieci.
  2. Węzły podsieci zaczynają przekazywać i przetwarzać transakcje poza łańcuchem między tymi użytkownikami.
  3. Ostatecznie podsieć kończy działanie; w tym momencie ostateczny stan podsieci jest aplikowany do stanu kont w łańcuchu użytkowników jako jedno duże przejście między stanami z podsieci do sieci.

Przeczytaj komentarze z forum i Github, aby dowiedzieć się więcej o podsieciach.

Kanały Stanów (State Channels)

Można również zbadać podejścia oparte na kanałach stanów, jak Lightning w Bitcoinie lub bardziej uogólnione podejścia zabezpieczające przed oszustwami, takie jak Arbitrum. Podejścia te wykorzystują weryfikowalne dowody warstwy 1, aby zmaterializować operacje warstwy 2 bez drugiej warstwy “górników”. Te jako skalowalne rozwiązanie dla Stacks wymagają dalszych badań . Kluczową sprawą jest to, że Clarity jest językiem ogólnego przeznaczenia; W Clarity można wdrożyć dowolne rozwiązanie skalowalności (roll-upy, fraud proofs). Innymi słowy, wszelkie postępy w zakresie skalowalności w branży krypto można teraz wprowadzić do ekosystemu Bitcoin. Stacks skaluje się wokół Bitcoina warstwami, traktując BTC jako zdecentralizowaną warstwę pieniądza i rozliczeń.

Podsumowanie

Jak zawsze, zmiany tego rodzaju w protokole Stacks wymagają SIP, wkładu społeczności i górników celem przyjęcia i wdrożenia tych zmian, w niektórych z tych sytuacji, za pośrednictwem hard forka. Jesteśmy wdzięczni wszystkim programistom zespołeczności, którzy ciężko pracują, aby sprostać temu ekscytującemu zadaniu i nie możemy się doczekać, aby ich praca nadal rozwijała się za pośrednictwem Github, SIP i dyskusji na forum. Z naszej strony dołożymy wszelkich starań, aby być na bieżąco z tymi wydarzeniami i informować o nich wszystkich.

Jeśli jesteś zainteresowany wskoczeniem do takich zadań lub masz inne pomysły na skalowanie, dołącz do odpowiedniej dyskusji na Github.

Mitchell Cuevas (autor tego artykulu) kieruje działaniami partnerskimi i rozwojowymi w Stacks Foundation. Ostatnią dekadę spędził pracując w dynamicznie rozwijających się startupach napędzanych przez społeczność.

***

Czujesz się techniczny? Przejdź bezpośrednio do Github i forum:
Łańcuchy aplikacji
Podsieci
Poprawki krótkoterminowe

***

Uwaga: ten post jest interpretacją artykułu Mitchell Cuevas (Stacks Foundation) i informacji zebranych z publicznych spotkań związanych z blockchain, postów na forum i Github. Nie gwarantuje to, że którekolwiek z opisanych rozwiązań zostanie zbudowane lub rozegrane w opisany sposób. Autor żaden sposób nie ma również na celu zobowiązania się do jakichkolwiek terminów w imieniu programistów podejmujących takie wyzwania — jego celem jest po prostu przedstawienie informacji, aby zachęcić do szerszego zrozumienia i zaangażowania społeczności.

--

--

Skale Poland
Skale Poland

Written by Skale Poland

Modularny Blockchain, kompatybilny z Ethereum, bez opłat za gaz (ZERO opłat). Obecnie na SKALE jest zbudowanych 20 różnych łańcuchów. Witajcie w #SKALEverse!

No responses yet