Jak skalować Ethereum dApps

W grudniu 2017r, CryptoKitties, gra online zbudowana na blockchainie Ethereum stała się wirusowa i spowodowała duże zatorów w sieci blockchain Ethereum. W ten sposób skupiono się z powrotem na skalowalności technologii blockchain, aw szczególności na Ethereum DApps (aplikacje rozproszone). Obserwatorzy branży i entuzjaści technologii blockchain zastanawiali się, jak sieci blockchain poradzą sobie z aplikacjami biznesowymi czasu rzeczywistego używanymi przez miliony, jeśli gra online może tak wyraźnie zagracać sieć? Jak więc skalować dapps Ethereum? Większość sieci blockchain w ogóle, w tym blockchain Ethereum, boryka się z problemami skalowalności, opóźnieniami transakcji i wysokimi opłatami transakcyjnymi. Ethereum DApps są zbudowane na protokole blockchain Ethereum, a sieć wykorzystuje algorytm konsensusu „dowód pracy” (POW), co wymaga weryfikacji transakcji przez większość uczestniczących węzłów, co powoduje problemy ze skalowalnością. Ograniczenia wielkości bloku i wysoce konkurencyjne wydobywanie POW powodują opóźnione włączanie transakcji do następnego bloku, a użytkownicy muszą płacić coraz większą kwotę opłat górnikom, aby ich transakcje zostały uwzględnione w kolejnym bloku. Społeczności programistów Blockchain, w tym programiści Ethereum, eksperymentują z kilkoma rozwiązaniami, aby rozwiązać te problemy.

DAppChain jako rozwiązanie skalujące dla Ethereum DApps:

Wśród kilku rozwiązań eksplorowanych przez programistów Ethereum w celu skalowania Ethereum DApps, jednym z najważniejszych są łańcuchy boczne dla DApps, zwane również powszechnie „DAppChains”. Koncepcja opiera się na podstawowym założeniu, że nie wszystkie Ethereum DApps wymagają tego samego poziomu bezpieczeństwa, np. DApp używany do przesyłania tysięcy Ether (ETH) będzie wymagał pełnych funkcji bezpieczeństwa, w pełni zdecentralizowanego łańcucha blokowego z ofertami algorytmu konsensusu POW, ale DApp do mikroblogowania nie przyciągnie hakerów, a zatem może obyć się z mniejszym bezpieczeństwem. zabezpieczenia można przenieść do „łańcuchów bocznych”, które mogą mieć własne, dostosowane zestawy reguł, a te łańcuchy boczne można wykorzystać do odciążenia obliczeń z łańcucha głównego. Artykuł opublikowany w 2014 roku przez Adama Back i jego zespół, zatytułowany „Enabling Blockchain innovations with Pegged Sidechains”, pierwszy opracowane o koncepcji łańcuchów bocznych. Opisuje mechanizm zwany „dwukierunkowymi ustalonymi łańcuchami bocznymi”, w którym użytkownik może udowodnić, że zablokował kilka posiadanych wcześniej tokenów kryptograficznych, i na tej podstawie może przenieść inne tokeny do łańcucha bocznego. Łańcuchy nie mogą poprawić skalowalności bez ograniczeń, ponieważ koncepcja polega na zwiększeniu rozmiaru bloku, a tym samym włączeniu większej liczby transakcji w jednym bloku. Na razie poprawia to skalowanie, ale nie jest to zautomatyzowane rozwiązanie w zakresie skalowalności. Jednak łańcuchy boczne pozwalają programistom Ethereum na przeprowadzanie większej liczby eksperymentów. Na przykład łańcuch sidechain może definiować własne reguły, zoptymalizowane dla DApps wymagającego bardzo dużej prędkości, podczas gdy DApps wymagające bardzo wysokiego bezpieczeństwa nadal będzie korzystać z w pełni zdecentralizowanego bezpieczeństwa głównego łańcucha. może handlować bezpieczeństwem i decentralizacją w celu zwiększenia przepustowości. Np. DAppChain może zdecydować się na wdrożenie algorytmu konsensusu „delegowany dowód stawki” (DPoS) w łańcuchu bocznym, w którym określone węzły przejmują odpowiedzialność za walidację transakcji. Węzły te stawiają swoje tokeny kryptograficzne w celu weryfikacji transakcji i nazywane są „stakerami”. Im więcej tokenów obstawia węzeł i im dłuższy jest czas jego trwania, tym większe jest prawdopodobieństwo, że ten węzeł zostanie wybrany do walidacji transakcji. Zwiększa to skalowalność i szybkość transakcji w tym DAppChain, ponieważ algorytm POW nie jest używany i wszystkie węzły nie są zaangażowane w proces walidacji transakcji. Twórca DApp musi przeprowadzić modelowanie zagrożenia DApp i wybrać niestandardową regułę – ustawić lub uzgodnić algorytm dla jej DAppChain. Prawdopodobieństwo, że osoba atakująca spróbuje zhakować łańcuch sidechain obsługujący DApp o niskiej wartości ekonomicznej, jest mniejsze, dlatego odpowiedni może być zrelaksowany model zabezpieczeń zapewniający wysoką przepustowość transakcji. Jeśli jednak złośliwy węzeł gromadzi zbyt dużą moc obliczeniową w DAppChain i zaczyna go kontrolować, społeczność zawsze ma wybór hard forka. Jeśli zmiana zaproponowana przez złośliwy węzeł nie uzyska konsensusu społeczności, społeczność może w ten sposób przyjąć stan łańcucha bocznego przed sporem i kontynuować pracę nad tym.Loom Network tworzy pakiet programistyczny (SDK), który pozwoli programistom na zbudowanie ich DAppChain, który będzie używał Ethereum jako warstwy bazowej. Łańcuchy DAppChains zbudowane przy użyciu Loom SDK będą wykorzystywać technologię Plazmy, umożliwiając transfer zasobów tam iz powrotem z Ethereum. Plazma to skalowalna infrastruktura, która umożliwia odciążenie głównej sieci Ethereum. Obsługuje inteligentne kontrakty, tak jak robi to Ethereum, jednak transmituje tylko zakończone transakcje do publicznego łańcucha blokowego Ethereum. Oszczędza znaczną ilość mocy obliczeniowej i pozwala na większą prędkość transakcji, przynosząc korzyści DApps.

Inne rozważane rozwiązania do skalowania Ethereum DApps:

Społeczności programistów Ethereum pracują również nad innymi rozwiązaniami do skalowania Ethereum DApps, na przykład :(1) „Raiden Network”, jak Lightning Network for Bitcoin, zapewnia pozałańcuchowa sieć transferowa dla tokenów kryptograficznych zbudowana w oparciu o standardy Ethereum ERC20. Obecnie jest w fazie rozwoju i będzie korzystać z technologii kanału płatności, która umożliwia przenoszenie tokenów w łańcuchu poza łańcuchem. Transakcje będą bezpieczne, szybkie i tańsze. (2) Długoterminowy plan rozwoju Ethereum przewiduje przejście na algorytm dowodu stawki (PoS), który umożliwi również implementację shardingu. Pierwotnie jest to koncepcja zarządzania bazą danych, w której fragmentowanie odnosi się do partycjonowania bazy danych na wiele instancji serwera, co poprawia wydajność. W przypadku blockchain będzie to oznaczać, że poziome części blockchain będą przechowywane w oddzielnych grupach węzłów, zamiast wszystkich węzłów utrzymujących całą historię transakcji łańcucha blokowego. Zwiększa to jednak skalowalność, ponieważ żaden węzeł nie obsługuje całej rozproszonej bazy danych, algorytm konsensusu POW obejmujący wszystkie węzły w walidacji transakcji nie może działać i trzeba użyć algorytmu PoS. Daj nam znać w sekcji komentarzy poniżej.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map