Od momentu powstania Bitcoin, technologia blockchain całkowicie przeprojektowała sposób, w jaki postrzegamy wartość i konceptualizujemy pieniądze jako całość. Przechwytując wyobraźnię wielu i wzbudzając wysoki poziom zainteresowania w różnych branżach, blockchain stał się następnie jednym z najbardziej ekscytujących postępów technologicznych XXI wieku, a także niezwykle poszukiwaną infrastrukturą.
Ten sentyment jest przede wszystkim podsycany przez wrodzoną chęć skonstruowania i uczestniczenia w rewolucji, która jest tak wielka, jak tworzenie internetu w latach 80. i 90. XX wieku. Podczas gdy Internet zapoczątkował królestwo interkomunikacji online, blockchain jest pionierem nowych form tworzenia bogactwa poprzez sieci danych i zasobów cyfrowych.
Sieci te są własnym, rygorystycznie zdecentralizowanym ekosystemem technicznym zaprojektowanym w celu świadczenia usług księgowych i inteligentnych kontraktów dla aplikacji, znanych również jako dApps. Ethereum, druga najcenniejsza kryptowaluta, została stworzona, aby ułatwić tworzenie tych aplikacji i ostatecznie zapewnić użytkownikom większą kontrolę nad ich finansami i danymi online.
Ideą Ethereum jest stworzenie czegoś w rodzaju „komputera światowego”, za pomocą którego dApps mogą uruchamiać, rozwijać i rozszerzać swoje przypadki użycia, a ostatecznie rzucić wyzwanie dużym firmom i platformom, takim jak Amazon czy Twitter. W ten sposób Ethereum służyłoby jako zdecentralizowany „komputer świata”, otwarty dla wszystkich i którego nie można manipulować ani wyłączyć.
Jeśli ma to zostać osiągnięte, Ethereum będzie musiało być w stanie przechowywać i przechowywać ogromne ilości danych w swoim systemie, czego obecnie nie posiada. Jednak Ethereum może rozwiązać swój problem ze skalowalnością, wdrażając metodę o nazwie sharding, aktualizację, która rzeczywiście ma zostać uruchomiona Ethereum 2.0.
Co to jest fragmentacja?
W informatyce sharding to technika używana do skalowania aplikacji, aby mogły obsługiwać więcej danych. Proces polega na podzieleniu dużych tabel danych na mniejsze porcje, zwane fragmentami, które są rozłożone na wielu serwerach. Każdy fragment zawiera własne dane, dzięki czemu jest wyróżniający się i niezależny w porównaniu z innymi fragmentami.
Sharding jest szczególnie korzystny dla sieci blockchain, ponieważ pozwala im zmniejszyć opóźnienia i przeciążenie danych poprzez podział sieci na mniejsze partycje i umożliwia przetwarzanie większej liczby transakcji na sekundę. W szczególności sharding jest konieczny, jeśli zestaw danych jest zbyt duży, aby można go było przechowywać w jednej bazie danych, a biorąc pod uwagę liczne projekty i programistów budujących w jego sieci, tak właśnie jest w przypadku Ethereum.
W rzeczywistości, według analityki danych, jest ich ponad 3,000 zdecentralizowanych aplikacji (dApps) działa na blockchainie Ethereum, więc skalowalność poprzez sharding jest absolutnym wymogiem dla Ethereum, aby utrzymać swój wiodący status w ekosystemie i zapewnić ogólną wydajność swojej sieci.
Jak to działa
Aby w pełni zrozumieć, jak działa sharding w blockchain, niezwykle ważne jest przejrzenie funkcji realizowanych przez węzły i zrozumienie, w jaki sposób dane są przechowywane i przetwarzane.
Węzły są kluczowym elementem infrastruktury blockchain, ponieważ w rzeczywistości bez nich dane blockchain nie byłyby dostępne. Wszystkie węzły są ze sobą połączone i stale wymieniają najnowsze dane blockchain, dzięki czemu wszystkie węzły mogą być na bieżąco. Zasadniczo węzły stanowią podstawową warstwę łańcucha bloków, ponieważ umożliwiają przechowywanie, przechowywanie i rozpowszechnianie danych w całej infrastrukturze.
W zdecentralizowanych sieciach każdy węzeł musi mieć możliwość przechowywania krytycznych informacji, takich jak historia transakcji i salda kont. Rozkładając dane i transakcje na wiele węzłów, blockchain może zapewnić własne bezpieczeństwo, jednak ten model nie jest najskuteczniejszy pod względem skalowalności. Podczas gdy jego system rozproszonej księgi zapewnia blockchain z funkcjami decentralizacji i bezpieczeństwa, sieć, która musi przetwarzać duże ilości transakcji i przechowywać duże ilości danych, może zostać przytłoczona, zapchana i doświadczać opóźnień lub spowolnienia.
Na przykład Ethereum może wykonać od 10 do 20 transakcji na sekundę, ale w rzeczywistości nie jest to tak wydajne jak na blockchain tej wielkości, a przyczyną jego powolnej szybkości jest protokół konsensusu Proof of Work (PoW) nieodłączny od jego struktury. Dlatego z tego powodu blockchain Ethereum pilnie potrzebuje skalowalności.
Jednak dzięki shardingowi sieć blockchain może rozłożyć swoje obciążenie w poziomie, dzięki czemu każdy węzeł nie musi obsługiwać ani przetwarzać wszystkich swoich transakcji, co pozwala na bardziej pogrupowany i wydajny projekt.
Podział poziomy
Dzielenie na fragmenty jest osiągane poprzez partycjonowanie poziome bazy danych lub sieci na różne wiersze zwane fragmentami. Ta architektura pozioma tworzy bardziej dynamiczny ekosystem, ponieważ umożliwia fragmentom wykonywanie wyspecjalizowanych działań na podstawie ich cech. Na przykład fragment może być odpowiedzialny za przechowywanie historii transakcji i stanu określonego adresu lub będzie mógł współpracować z innymi fragmentami w celu przetwarzania transakcji dla wspomnianego zasobu cyfrowego.
Aby lepiej zrozumieć, jak działa partycjonowanie poziome, ilustruje to poniższy model.
Model pokazuje dużą bazę danych składającą się z 6 wierszy. Tabela wstępnie podzielona na fragmenty jest następnie dzielona na 3 mniejsze, poziome fragmenty, aby ułatwić zarządzanie dużą tabelą danych. Partycjonowanie poziome przekształca jedynie tabelę w mniejszą, bardziej wydajną wersję samej siebie, zachowując jej oryginalne funkcje. Tę samą koncepcję można również zastosować do infrastruktur blockchain, gdzie stan łańcucha można podzielić na mniejsze, łatwiejsze w zarządzaniu fragmenty, znane również jako odłamki.
Skalowanie w poziomie i w pionie
Jeśli chodzi o temat skalowalności, infrastruktury blockchain mają kilka opcji: rozwiązania warstwy 2, skalowanie pionowe i partycjonowanie poziome.
Layer-2 to rozwiązania skalowalności poza łańcuchem, zbudowane na szczycie łańcucha bloków. Ideą Layer-2 jest zasadniczo ominięcie podstawowej warstwy bazowej i umieszczenie na niej dodatkowej architektury. Ta dodatkowa warstwa zajmuje się złożonymi obliczeniami i stara się złagodzić różne wąskie gardła w architekturze warstwy podstawowej. Plasma i Raiden są najczęstszymi przykładami skalowalności warstwy 2 i być może najbardziej godnym uwagi projektem wykorzystującym warstwę 2 jest Polygon, dawniej Matic.
Potem przychodzi skalowanie w pionie. Skalowanie pionowe pociąga za sobą rozbudowę sieci poprzez dodanie większej mocy i pamięci do podstawowej jednostki przetwarzania systemu i jest realizowane poprzez poprawę wydajności każdej pojedynczej transakcji. W tym celu skalowanie pionowe zasadniczo zwiększa moc obliczeniową istniejącej maszyny wirtualnej, aby zwiększyć jej możliwości przetwarzania.
Rozwiązania skalowania pionowego są raczej ograniczone pod względem skuteczności, ale są o wiele łatwiejsze do wdrożenia w przeciwieństwie do skal poziomych. W rzeczywistości, jeśli na przykład występuje problem z lokalną pamięcią maszyny wirtualnej niewystarczającą do przetworzenia przychodzącego obciążenia transakcji, rozwiązanie skalowania pionowego może potencjalnie temu zaradzić. W tym scenariuszu skala pionowa dodałaby więcej pamięci do infrastruktury maszyny wirtualnej, w konsekwencji zmniejszając jej przeciążenie przetwarzania i zwiększając jej przepustowość transakcyjną.
Jeśli jednak obciążenie transakcyjne przychodzące przekracza pojemność sprzętową maszyny wirtualnej, ponieważ nie może jej fizycznie przetworzyć, wymagane jest rozwiązanie skalowania poziomego.
Jak omówiono powyżej, skalowanie poziome lub fragmentowanie pomaga poprawić ogólną przepustowość infrastruktur blockchain poprzez dodanie większej liczby klastrów lub pojedynczych maszyn wirtualnych do istniejącej warstwy podstawowej. Chociaż jest to ostatecznie wydajny system do skalowania, sharding rzeczywiście wiąże się z jego złożonością, ponieważ jego wdrożenie trwa dłużej i jest w pełni operacyjne.
Co więcej, jeśli chodzi o aktywne wdrażanie rozwiązań skalowalności w infrastrukturach blockchain, istnieje kilka pytań, na które należy odpowiedzieć z czysto technicznego i fundamentalnego punktu widzenia.
Sharding dla większej decentralizacji
Zdecydowanie istnieje argument dotyczący korelacji między shardingiem a decentralizacją w blockchain. W rzeczywistości, wprowadzając koncepcję skalowalności do kontekstu technologii blockchain, należy zauważyć, że ponieważ systemy te działają już jako sieci rozproszone, z natury trudno jest zwiększyć ich ogólną przepustowość poprzez dodanie do nich elementów sprzętowych, takich jak węzły, górnicy lub walidatorzy.
Jest to dodatkowo podkreślone przez fakt, że programiści blockchain dążą do zachowania ogólnej niezmienności łańcucha warstwy podstawowej i są zdeterminowani, aby nie ingerować w jego podstawową architekturę.
To z kolei daje pewne korzyści rozwiązaniom skalującym, ponieważ pozwala im wykorzystać istniejące zabezpieczenia i niezawodność łańcucha warstwy podstawowej w celu zwiększenia jego potencjalnej przepustowości transakcyjnej bez naruszania jego podstawowej infrastruktury. Błyskawica sieci jest tego bardzo dobrym przykładem, ponieważ wykorzystuje swoją technologię do wykorzystania bezpieczeństwa Bitcoin w celu zwiększenia ogólnej zdolności transakcyjnej systemu.
Ponadto, ponieważ sharding dzieli duże porcje danych na mniejsze, wydajniejsze, poziome partycje, w rzeczywistości pozwala to na stworzenie bardziej zdecentralizowanego ekosystemu jako całości. W rzeczywistości, gdyby cała struktura danych sieci blockchain znajdowała się w jednym superwęźle i tylko kilka osób mogłoby do niej uruchomić i uzyskać do niej dostęp, po pierwsze ułatwiłoby to atakującym manipulowanie i wykorzystywanie tej struktury, a po drugie odebrałoby to pozbawione zaufania, zdecentralizowane aspiracje pochodzące z ekosystemów blockchain.
Tak więc skalowalność i sharding w szczególności mogą być postrzegane jako integralne elementy ogólnego rozwoju sieci blockchain, a także ostateczne katalizatory zdecentralizowanej „raison d'être” blockchain.
Sharding z ETH 2.0
Według eksploratora bloków Etherscan, pełne węzły Ethereum zajmują już co najmniej 5 terabajtów przestrzeni, czyli 10 razy więcej niż może pomieścić przeciętny komputer. Co więcej, węzły Ethereum będą coraz większe i trudniejsze w obsłudze wraz z rozwojem platformy i wzrostem bazy użytkowników.
Jasne jest zatem, że Ethereum wymaga natychmiastowej skalowalności, a sharding jest w rzeczywistości rozwiązaniem tego problemu. Omówmy teraz, jak będzie działać sharding z Ethereum 2.0.
Podziel węzły i podbij
Wraz z Casper i Ethereum WebAssembly (ewasm), sharding jest jedną z głównych cech długo oczekiwanej aktualizacji Ethereum 2.0. Obecnie w sieci Ethereum każdy węzeł musi zweryfikować każdą transakcję, co z natury zapewnia żywotność jego sieci. Dzieje się tak, że nawet gdyby 80% węzłów Ethereum padło jednocześnie, sieć nadal działałaby.
Ten obecny model niekoniecznie spowalnia Ethereum, ale jest rzeczywiście problematyczny, ponieważ nie w pełni optymalizuje zasoby sieciowe ETH. Na przykład załóżmy, że w sieci Ethereum są trzy oddzielne węzły weryfikujące transakcję, a te węzły są zdefiniowane jako węzeł X, węzeł Y i węzeł Z. Obecnie, w celu weryfikacji transakcji, zdefiniowanej jako dane T, każdy węzeł będzie muszą zweryfikować cały zestaw danych T, aby to zostało potwierdzone.
Zapewnia to ogólne bezpieczeństwo sieci, ale tworzy wąskie gardło, przez które musi przejść każda transakcja. W rzeczywistości sieć jest zmuszona czekać, aż każdy węzeł zweryfikuje każdą transakcję, co oczywiście nie jest najbardziej idealnym ani wydajnym scenariuszem. Jednak w przypadku Ethereum 2.0 i jego propozycji shardingu zestaw danych T zostałby podzielony na przykład na T1, T2 i T3, a węzły X, Y i Z musiałyby przetworzyć tylko jeden z mniejszych fragmentów danych, aby zweryfikuj całość zbioru danych T.
„Chcemy być w stanie przetwarzać ponad 10,000 XNUMX transakcji na sekundę bez zmuszania każdego węzła do bycia superkomputerem lub zmuszania każdego węzła do przechowywania terabajta danych stanu, a to wymaga kompleksowego rozwiązania, w którym obciążenia związane z przechowywaniem stanu, przetwarzaniem transakcji i nawet pobieranie transakcji i ponowne nadawanie są rozłożone na węzły”. Często zadawane pytania dotyczące fragmentowania – Wiki o Ethereum
Dzieląc dane na mniejsze, indywidualne podzbiory, Ethereum może osiągnąć większą przepustowość transakcyjną i stworzyć szybsze, bardziej zrównoważone środowisko do realizacji przyszłych celów i dalszego rozwoju jako ekosystem.
Mechanika shardingu
Ethereum 2.0 będzie dążyć do maksymalizacji wydajności swojej sieci, dokonując przejścia z warstwy podstawowej z Proof of Work (PoW) na Proof of Stake (PoS). Algorytm konsensusu Proof of Work (PoW) opiera się na koncepcji górnika, aby zapewnić bezpieczeństwo i synchronizację sieci, a do działania wymaga dużej mocy obliczeniowej. Z drugiej strony, Proof of Stake zastępuje zużycie energii zobowiązaniem finansowym.
W tym przypadku protokół Proof of Stake ETH 2.0, zwany Casper, nie będzie już wymagał górników, ale wdroży walidatory, które umieszczając co najmniej 32 ETH w puli stakowania, będą w stanie sprawdzać transakcje i tworzyć nowe bloki. Casper zostanie dostarczony przez Beacon Chain, który będzie łańcuchem systemowym Ethereum 2.0 i pozwoli odłamkom komunikować się ze sobą.
Oczywiście stanowi to dość postęp w infrastrukturze i dlatego użytkownicy powinni spodziewać się ogólnie nowej, bardziej zoptymalizowanej formy Ethereum. Po pierwsze, ETH 2.0 utworzy konta użytkowników specyficzne dla określonego fragmentu i podzieli transakcje na „pakiety transakcji”, przypisując każdy pakiet do konkretnego fragmentu. Pakiety te będą dalej podzielone na nagłówki i treści grup transakcji, przy czym każdy składnik będzie określał specyficzne cechy fragmentu.
Jak pokazano na powyższym obrazku, każdy nagłówek grupy transakcji ma odrębną lewą i prawą część. W lewej części nagłówka prezentowane są następujące elementy:
- Identyfikator fragmentu: Aby zidentyfikować fragment, do którego należy grupa transakcji.
- Katalog główny stanu wstępnego: stan katalogu głównego tego konkretnego fragmentu przed umieszczeniem w nim grupy transakcji.
- Katalog główny po stanie: stan katalogu głównego fragmentu po umieszczeniu w nim grupy transakcji.
- Receipt Root: Potwierdzenie, że grupa transakcji weszła do katalogu głównego fragmentu.
Z kolei prawa część nagłówka pokazuje grupę losowo wybranych walidatorów, którzy weryfikują transakcje wewnątrz samego fragmentu. Te pakiety transakcyjne muszą ponadto przejść proces podwójnej weryfikacji, aby mogły zostać dołączone do głównego łańcucha. Pierwszy proces weryfikacji obejmuje walidatory, które są losowo przydzielane do fragmentu, aby głosować nad ważnością każdego pakietu transakcji. Jeśli walidatorzy zagłosują tak, osobna komisja w łańcuchu Beacon musi zweryfikować ten głos za pomocą inteligentnej umowy menedżera shardingu. Jeśli drugi głos będzie również pozytywny, pakiet transakcji zostanie dołączony do głównego łańcucha i stanie się częścią księgi publicznej, ustanawiając niezmienne powiązanie z grupą transakcji na tym fragmencie.
Komunikacja międzyodłamkowa
Infrastruktura ETH 2.0 umożliwi odłamkom skuteczną komunikację w celu stworzenia prawdziwie interoperacyjnego i wzajemnie korzystnego ekosystemu. Vitalik Buterin, wizjoner i założyciel Ethereum, najlepiej opisał koncepcję komunikacji cross-shard na DevCon 2018 w Pradze, mówiąc:
Wyobraź sobie, że Ethereum zostało podzielone na tysiące wysp. Każda wyspa może robić swoje. Każda z wysp ma swoje unikalne cechy i każdy należący do tej wyspy, czyli konta, może wchodzić ze sobą w interakcje ORAZ mogą swobodnie rozkoszować się wszystkimi jej cechami. Jeśli chcą skontaktować się z innymi wyspami, będą musieli użyć jakiegoś protokołu. – Vitalik Buterin Devcon 2018 – LinkedIn
Mając na uwadze analogię z wyspą odłamków Buterina, jasne jest, że jeśli te odłamki chcą skutecznie komunikować się ze sobą, będą wymagały określonego protokołu między odłamkami. Wybranym protokołem komunikacji wewnętrznej ETH 2.0 jest tak zwany „paradygmat odbioru”. Jak poprzednio pokazano na powyższym obrazku, główny składnik odbioru jest składnikiem nagłówka grupy transakcji i służy do potwierdzania, że grupa transakcji została wprowadzona do katalogu głównego fragmentu w drzewie Merkle.
Każda transakcja w grupie generuje paragon w określonym shardu, do którego należy. Beacon Chain, łańcuch systemowy Ethereum 2.0, będzie następnie wykorzystywać swoją rozproszoną pamięć współdzieloną do przechowywania w nim wszystkich tych pokwitowań transakcji, stąd termin „paradygmat odbioru”. Dzieje się tak, aby inne odłamki mogły przeglądać i wchodzić w interakcje z rachunkami w łańcuchu Beacon, ale ze względu na niezmienny charakter łańcucha bloków nie będą mogły manipulować samymi dowodami transakcji.
Jest to ważna funkcja, ponieważ pozwoli odłamkom dokładnie wiedzieć, kiedy należy się ze sobą komunikować i robić to tylko wtedy, gdy jest to konieczne. Zasadniczo ten specyficzny dla ETH 2.0 projekt umożliwia odłamkom weryfikację i czerpanie korzyści z wzajemnej aktywności, przy jednoczesnym zachowaniu ostateczności i celu każdego pojedynczego odłamka.
Złożoności operacyjne i opóźnienia między odłamkami
Dwa z najbardziej palących problemów, jeśli chodzi o komunikację cross-shard ETH 2.0, dotyczą złożoności operacyjnej i opóźnień. Jednak Vitalik Buterin ogłosił dwie propozycje, aby temu zaradzić i zapewnić rozwój w pełni podzielonego Ethereum.
Propozycje te:
- Przenieś kilka obowiązków i zadań z poszczególnych fragmentów do łańcucha sygnałów nawigacyjnych.
- Upewnij się, że każdy fragment ma swój własny stan i wykonanie.
- Zmniejsz złożoność struktury fragmentu i zachowaj różne funkcje sieciowe.
- Daj fragmentom wystarczającą funkcjonalność do obsługi inteligentnego wykonywania kontraktów w różnych grupach transakcji.
- Wprowadź 3 nowe typy transakcji: nowy skrypt wykonania, nowy walidator i wypłata. Nowy skrypt wykonania utworzy skrypt wykonania, który może przechowywać ETH, nowy walidator może dodać nowe walidatory do systemu, a wycofanie może usunąć walidatory z łańcucha Beacon.
Ponadto innym problemem, który ETH 2.0 stara się rozwiązać, jest opóźnienie sieci w komunikacji między fragmentami. Jeśli na przykład użytkownik chce wysłać token z fragmentu X do fragmentu Y, transakcja na fragmentu X niszczy tam token, ale zapisuje rekord wysłanej wartości, adres i fragment docelowy, w tym przypadku fragment Y.
Po pewnym opóźnieniu każdy fragment dowiaduje się o stanie głównym innych fragmentów, co pozwala im zweryfikować transakcję i potwierdzić, że adres fragmentu Y jest prawidłowy. Odłamek X wygeneruje następnie pokwitowanie transakcji, które zostanie odzyskane przez Odłamek Y, i pozwoli na zniszczenie wartości z Odłamka X i przeniesienie do Odłamka Y.
Jak można sobie wyobrazić, proces ten powoduje sporo opóźnień i całkowicie odbiega od celów skalowalności ETH 2.0. Dlatego Ethereum zaproponowało rozwiązanie tego problemu zwane Fast Cross-Shard Transfers Via Optimistic Receipt Roots. Choć tytuł może wprowadzać w błąd, w rzeczywistości jest to dość prosty system, który wiąże się z przechowywaniem stanów warunkowych i optymizmem co do ważności przesłanej transakcji.
Zasadniczo oznacza to, że jeśli Bob ma 50 tokenów na Odłamku B, a Alicja wyśle do Boba 20 tokenów z Odłamka A, ale Odłamek B nie zna jeszcze stanu Odłamka A i dlatego nie może w pełni zweryfikować transferu, stan Boba konto (Odłamek B) tymczasowo pokaże 70 tokenów, jeśli transfer z Alicji jest prawdziwy lub 50 tokenów, jeśli nie jest.
Dzieje się tak, ponieważ walidatorzy, którzy uwierzytelniają transakcję z Fragmentu A do Fragmentu B, mogą być optymistycznie pewni ostateczności transferu i faktu, że konto Boba ostatecznie rozwiąże się z 70 tokenami, gdy transakcja od Alicji zostanie zweryfikowana. W ten sposób walidatory mogą działać tak, jakby Bob miał już 70 tokenów.
Po zweryfikowaniu transakcji z Fragmentu A do Fragmentu B staje się ona trwała lub po prostu zostaje cofnięta, jeśli nie była ważna. Ten system Fast Cross-Shard Transfer znacznie zmniejsza wąskie gardła spowodowane opóźnieniami sieci i, jeśli zostanie pomyślnie wdrożony, pozwoli Ethereum 2.0 na przyspieszenie jego przepustowości i ogólną poprawę skalowalności.
Pomijając Ethereum 2.0, omówmy teraz krótko, w jaki sposób sharding jest wdrażany w innych projektach, a dokładniej w Zilliqa, BLISKO i Polkadot.
Sharding z Zilliqa
Innym projektem przekazującym ciekawe propozycje wartości i realizującym również sharding jest Zilliqa. Założona w 2017 r. firma Zilliqa jest łańcuchem bloków do zastosowań wymagających dużej mocy obliczeniowej dla przedsiębiorstw i wschodzących technologii, którego kluczowymi funkcjami są sharding i równoległe przetwarzanie transakcyjne.
Podczas gdy jej sieć działa na algorytmach Proof of Work (PoW), które wymagają dużej mocy obliczeniowej, Zilliqa jest zaprojektowana do skalowania na żądanie poprzez dołączanie dodatkowych węzłów i górników ZIL, co pozwala na dodanie większej liczby fragmentów do sieci.
ZIL jest natywnym tokenem Zilliqa i zgodnie z jego modelem shardingu, gdyby Zilliqa miała mieć 20,000 25 węzłów, jej sieć mogłaby zostać podzielona na 800 podsieci po XNUMX węzłów każda, które mogłyby przetwarzać dane równolegle i jednocześnie. Architektura Zilliqa jest skomplikowana, ponieważ wykorzystuje dwa łańcuchy bloków, również równolegle. Projekt wykorzystuje bloki transakcyjne, zwane TX-Blocks, do przechowywania transakcji wysyłanych przez użytkowników sieci, a bloki usług katalogowych (DS-Blocks) do przechowywania danych na temat górników sieciowych, które zabezpieczają i wspierają infrastrukturę Zilliqa.
Sharding blockchain Zilliqa to dwojaki proces. Po pierwsze, wybiera węzły Komitetu usług katalogowych, które inicjują proces fragmentowania i przypisują węzły do każdego fragmentu. Po drugie, gdy transakcje zostaną zweryfikowane we fragmencie, mogą zostać zweryfikowane przez całą sieć i wejść w stan globalny, który dołącza każdą transakcję w każdym fragmencie do jednego, weryfikowalnego źródła prawdy w blockchainie Zilliqa.
Zasadniczo transakcja podzielona na fragmenty w sieci Zilliqa obejmuje użytkownika uruchamiającego transakcję, która jest następnie przesyłana do fragmentu, który weryfikuje transakcję i porównuje ją z innymi transakcjami w celu utworzenia „mikrobloku” transakcji. Następnie, fragment osiąga konsensus co do ważności mikrobloku, który jest następnie przypisywany do Komitetu Usług Katalogowych, który łączy mikrobloki z „blokiem końcowym”. Następnie Komitet DS osiąga ostateczny konsensus w sprawie tego bloku przed przyłączeniem go do łańcucha bloków.
Sharding z NEAR
Projekt, który implementuje raczej alternatywną formę shardingu, to nic innego jak NEAR Protocol. Wprowadzony na rynek w 2020 r., NEAR jest zarządzaną przez społeczność platformą typu Sharded Blockchain typu Proof of Stake (PoS), której podstawą jest interoperacyjność i skalowalność.
NEAR wykorzystuje swoją technologię Nightshade, aby osiągnąć ogromne możliwości przepustowości, dzięki czemu walidatorzy przetwarzają transakcje równolegle, aby poprawić ogólne możliwości przenoszenia transakcji w blockchain. Chociaż model shardingu oparty na łańcuchach shardów i łańcuchu beaconów jest w rzeczywistości potężny, przedstawia jednak pewne złożoności infrastrukturalne ze względu na fakt, że zarówno łańcuchy shardów, jak i łańcuch beaconów są w istocie oddzielnymi jednostkami w tym samym ekosystemie blockchain.
Protokół NEAR rozwiązuje tę kwestię i wprowadza atrakcyjny projekt shardingu, modelując swoją infrastrukturę jako pojedynczy łańcuch bloków, w którym każdy blok logicznie zawiera wszystkie transakcje dla wszystkich shardów i zmienia cały stan shardów. Dzięki Nightshade, NEAR może zachować swój etos osobliwości łańcucha bloków, dzieląc transakcje każdego bloku na fizyczne porcje, najlepiej z jednym fragmentem na fragment, i agregując je w jeden blok.
Sharding z Polkadot
Polkadot wykorzystuje model shardingu, który całkowicie różni się od mechanizmu shardingu opartego na Ethereum i wykorzystuje jego funkcje kompozycyjności między łańcuchami, aby aktywować sharding przez parachains. Natywny projekt Polkadot to sieć wielołańcuchowa, która zapewnia niezawodność, bezpieczeństwo i skalowalność warstwy 0 dla wszystkich łańcuchów bloków warstwy 1 zbudowanych na jej architekturze.
Te warstwy 1 reprezentują sieć parałańcuchów, przy czym parałańcuchy są różnymi łańcuchami bloków działającymi równolegle w ekosystemie Polkadot, zarówno w sieciach Polkadot, jak i Kusama.
Parachains są połączone i zabezpieczone przez łańcuch przekaźników Polkadot i mogą czerpać korzyści z bezpieczeństwa, skalowalności i interoperacyjności zapewnianych przez Polkadot. Sieć parachain można rzeczywiście uznać za zaawansowany paradygmat shardingu, który implementuje cechy głównego łańcucha Polkadot i działa w sposób równoległy, podobny do sharda.
Projekty Parachain, takie jak Clover, na przykład, mogą zapewniać transakcje bezgazowe i wprowadzać nowe warstwy skalowalności i interoperacyjności do nieshardowanych infrastruktur warstwy 1. Dzieje się tak, ponieważ Polkadot, jako wielołańcuchowa sieć zbudowana na parałańcuchach, jest w stanie przetwarzać wiele równoległych transakcji na kilku łańcuchach jednocześnie, ostatecznie ucieleśniając koncepcję cross-chain sharding.
Wnioski
Sharding jest podstawą skalowalności w zdecentralizowanych sieciach i oferuje wiele ekscytujących możliwości dla tych projektów, które chcą go wdrożyć lub przynajmniej eksperymentować z jego koncepcją.
Obecnie problem jest definiowany przez fakt, że sieci blockchain rosną i rozszerzają się w tempie wykładniczym ze względu na ich popularność, przypadek użycia i ostatecznie popyt. To z kolei powoduje szereg wąskich gardeł, złożoności i nieefektywności sieci, co jest wyrazem ich pilnej potrzeby odpowiedniego rozwiązania skalowania.
Ethereum 2.0 ma wprowadzić swoje możliwości shardingu w niedalekiej przyszłości i jest to jedno z najbardziej oczekiwanych wydarzeń w historii blockchainu ETH. Oczekiwania pozostają niewiarygodnie wysokie, ponieważ rzeczywiście, jeśli sharding ETH 2.0 się powiedzie, zagwarantuje długoterminową skalowalność sieci Ethereum i będzie towarzyszyć projektowi w jego dążeniu do stania się zdecentralizowanym, otwartym dla wszystkich, niemożliwym do zamknięcia światem komputer'.
Zastrzeżenie: są to opinie autora i nie powinny być traktowane jako porady inwestycyjne. Czytelnicy powinni przeprowadzić własne badania.
Źródło: https://www.coinbureau.com/technology/what-is-sharding-complete-beginners-guide/
- 000
- 2020
- 9
- bezwzględny
- dostęp
- Konto
- Dodatkowy
- Rada
- algorytm
- Algorytmy
- Wszystkie kategorie
- Wszystkie operacje
- Pozwalać
- Amazonka
- analityka
- ogłosił
- aplikacje
- architektura
- kapitał
- łańcuch nawigacyjny
- BEST
- Bitcoin
- blockchain
- blockchain technologia
- ciało
- pobudzanie
- budować
- Budowanie
- biznes
- Buterin
- Pojemność
- noszenie
- Etui
- powodowany
- wyzwanie
- CoinBiuro
- Coindesk
- wspólny
- Komunikacja
- składnik
- Computer Science
- Zgoda
- konsumpcja
- kontynuować
- umowa
- Tworzenie
- Łańcuch krzyżowy
- kryptowaluta
- Aktualny
- DApps
- dane
- Analityka danych
- Baza danych
- sprawa
- czynienia
- Promocje
- decentralizacja
- opóźnienie
- opóźnienia
- Kreowanie
- Wnętrze
- zniszczony
- programowanie
- rozwijać
- deweloperzy
- oprogramowania
- cyfrowy
- Zasób cyfrowy
- Rozproszona księga
- Ekosystem
- Ekosystemy
- Efektywne
- efektywność
- energia
- Enterprise
- Środowisko
- ETH.
- Et 2.0
- ethereum
- Ethereum 2.0
- Ethereum blockchain
- Gaz Ethereum
- sieć ethereum
- Etos
- wydarzenia
- egzekucja
- Rozszerzać
- rozszerzenie
- ekspansja
- eksperyment
- Wykorzystać
- Moda
- FAST
- Cecha
- Korzyści
- Opłaty
- Finanse
- budżetowy
- i terminów, a
- Nasz formularz
- założyciel
- Framework
- pełny
- przyszłość
- GAS
- opłaty za gaz
- Globalne
- dobry
- Zarządzanie
- Rosnąć
- Rozwój
- poprowadzi
- sprzęt komputerowy
- Wysoki
- historia
- przytrzymaj
- W jaki sposób
- HTTPS
- olbrzymi
- pomysł
- zidentyfikować
- obraz
- Zwiększać
- przemysłowa
- Informacja
- Infrastruktura
- integralny
- odsetki
- Internet
- Interoperacyjność
- inwestycja
- problemy
- IT
- Klawisz
- duży
- firmy
- prowadzący
- Księga główna
- Dźwignia
- błyskawica
- Błyskawica sieci
- Ograniczony
- załadować
- miejscowy
- długo
- maszyny
- poważny
- Dokonywanie
- Górniczy
- model
- pieniądze
- Blisko
- sieć
- sieci
- węzły
- Oferty
- Online
- koncepcja
- Opinie
- Opcje
- zamówienie
- Inne
- paradygmat
- Plazma
- Platforma
- Platformy
- Polkadot
- basen
- PoS
- PoW
- power
- teraźniejszość
- projekt
- projektowanie
- dowód
- wniosek
- publiczny
- poszukiwanie
- czytelnicy
- Rzeczywistość
- zmniejszyć
- Badania naukowe
- Zasoby
- przeglądu
- run
- bieganie
- "bezpiecznym"
- Skalowalność
- Skala
- skalowaniem
- nauka
- bezpieczeństwo
- widzi
- wybrany
- sentyment
- Serie
- Usługi
- zestaw
- sharding
- shared
- osobliwość
- Rozmiar
- mądry
- inteligentna umowa
- So
- Rozwiązania
- ROZWIĄZANIA
- Typ przestrzeni
- prędkość
- dzielić
- rozpiętość
- stawka
- Staking
- Stan
- Zjednoczone
- Rynek
- pobyt
- przechowywanie
- sklep
- składane
- udany
- Superkomputer
- wsparcie
- zrównoważone
- system
- systemy
- tech
- Techniczny
- Technologia
- czas
- żeton
- Żetony
- Top
- transakcja
- transakcje
- i twitterze
- us
- Użytkownicy
- wartość
- Weryfikacja
- Zobacz i wysłuchaj
- Wirtualny
- Maszyna wirtualna
- vitalik
- vitalik buterin
- Głosować
- czekać
- Bogactwo
- Co to jest
- KIM
- w ciągu
- Praca
- działa
- X
- Zilliqa