Przewodnik dla początkujących po kosmosie: ekosystem Blockchain oparty na Tendermint

Kosmos

Kosmos to nadchodząca modułowa platforma i platforma blockchain oparta na Tendermint, zaprojektowana jako ekosystem dla łańcuchów bloków specyficznych dla aplikacji do podłączenia.

Cosmos został zaprojektowany wokół koncepcji standaryzacji komunikacji między różnymi łańcuchami bloków, które są częścią jego szerszego ekosystemu, w celu ułatwienia interoperacyjności.

Projekt jest niewątpliwie ambitny, a mainnet ma zostać wydany gdzieś w 2019 roku. Tendermint jest wyjątkowy, ponieważ działa jako wielołańcuchowa platforma dla innych blockchainów, a jednocześnie wykorzystuje własny konsensus – Proof-of-Stake (PoS) – oparty na rdzeniu Tendermint.

Kosmos

Skalowalność i interoperacyjność to dwa z najbardziej znaczących osiągnięć w większej sferze kryptowalut, a Cosmos dotyczy obu.

Jednak uruchomienie innowacyjnej, gotowej do produkcji sieci PoS z kilkoma wyrafinowanymi niuansami jest wyjątkowo trudne, zwłaszcza biorąc pod uwagę, że sieci konsensusu PoS na dużą skalę nie są jeszcze praktycznie udowodnione, że są zrównoważone.

Tło na kosmos

Rozwój Kosmos jest obsługiwany przez szwajcarski Fundacja Interchain, a Cosmos to ich pierwszy projekt. Wielu programistów pracujących nad Cosmosem pochodzi z firmy stojącej za bazowym silnikiem blockchain Tendermint, All in Bits.

W szczególności Jae Kwon – który początkowo proponowane Tendermint w 2014 roku – jest jednym z wiodących deweloperów i członkiem zarządu Fundacji Interchain.

Kosmos uniesiony szorstko 16,8 miliona dolarów w ICO, które zakończyło się w kwietniu 2017 r. Od tego czasu projekt przeszedł metodyczny proces rozwoju. Plik Gra o stawki (GoS) testnet ma zostać wkrótce uruchomiony, po czym nastąpi audyt niedawno wydanego SDK i ewentualne uruchomienie sieci głównej. Więcej szczegółów na ich temat mapa drogowa.

Szczegóły techniczne

Cosmos to modularna struktura dla równoległych łańcuchów bloków do podłączenia do głównego koncentratora zwanego Cosmos Hub. Cosmos Hub jest pierwszym blockchainem w sieci i funkcjonuje jako medium łączące między różnymi strefami w systemie.

Strefy składają się zarówno z prywatnych, jak i publicznych łańcuchów bloków, które są ze sobą połączone za pośrednictwem protokołu Inter-Blockchain Communication (IBC).

Źródło zdjęcia – blog Cosmos

Cosmos jest zbudowany na silniku Tendermint, który składa się z dwóch głównych części:

  1. Tendermint Core – BFT Proof-of-Stake Consensus Engine
  2. Application BlockChain Interface (ABCI) – replikacja BFT dapps w wielu językach programowania.

Rdzeń Tendermint stanowi podstawę konsensusu Cosmos Hub, a następnie szerszej sieci do zarządzania znormalizowaną wymianą tokenów między strefami. Należy zauważyć, że łańcuchy bloków podłączone do Cosmosu zachowują suwerenność konsensusu i nie tracą jej na rzecz większego konsensusu Cosmos PoS.

Co to jest Tendermint

Przeczytaj: Co to jest Tendermint?

ABCI jest niezależny od języka i umożliwia programistom tworzenie części aplikacyjnej ich łańcucha blokowego w dowolnym języku i będzie działać w oparciu o silnik konsensusu Tendermint.

ABCI jest istotną granicą między silnikiem konsensusu Tendermint a zestawem Cosmos SDK do tworzenia aplikacji. SDK to warstwowa struktura zbudowana na niskim poziomie istnienia ABCI, aby umożliwić programistom tworzenie zaawansowanych aplikacji bez konieczności poruszania się po logicznej złożoności środowiska niskiego poziomu.

Cosmos definiuje trzy koncepcyjne warstwy łańcucha bloków jako:

  1. Sieć – propagacja transakcji (tj. Protokół plotek)
  2. Konsensus – umowa węzła walidatora dotycząca transakcji
  3. Aplikacja – Aktualizacja stanu transakcji i przetwarzanie transakcji

Tendermint łączy warstwę sieciową i warstwy konsensusu, aby umożliwić programistom znacznie łatwiejsze tworzenie łańcuchów bloków i uruchamianie aplikacji przy użyciu generalnie zasilanego silnika. Jest to jedna z podstawowych koncepcji Cosmos, która pozwala mu działać jako środowisko dla równoległych łańcuchów bloków do podłączenia. Programiści muszą tylko skupić się na warstwie aplikacji.

Plik ABCI jest interfejsem między pakietowym rdzeniem Tendermint (warstwa sieciowa i konsensusowa) a warstwą aplikacji. Co ważne, ABCI używa protokołu gniazda, aby umożliwić silnikowi konsensusu zarządzanie stanem aplikacji działającej w innym procesie konsensusu. Zgodnie z dokumentacją Cosmos:

„Cosmos może więc obsługiwać szeroką gamę walut i języków skryptowych, takich jak te, które można znaleźć w Bitcoin, Ethereum, ZeroCash, CryptoNote i nie tylko”.

Podstawowy rdzeń Tendermint jest bardzo elastyczny i kompatybilny zarówno z publicznymi, jak i prywatnymi łańcuchami bloków. Ponadto programiści mogą cieszyć się niemal natychmiastową ostatecznością i wysoką wydajnością Tendermint, który został zaprojektowany z myślą o skalowaniu.

IBC to ustandaryzowany protokół komunikacyjny w całej sieci. Standaryzacja jest potężna i pozwala na współdziałanie i zwiększoną skalowalność (tj. Protokoły internetowe). IBC to zestaw semantyki do przesyłania wiadomości między łańcuchami bloków z niezależnymi algorytmami konsensusu. Według repozytorium Cosmos SDK Github:

„Podstawowy protokół IBC jest niezależny od ładunku. Oprócz IBC, programiści mogą zaimplementować semantykę konkretnej aplikacji, umożliwiając użytkownikom przenoszenie cennych aktywów między różnymi łańcuchami bloków przy jednoczesnym zachowaniu gwarancji kontraktowych danego zasobu – takich jak rzadkość i zamienność na walutę lub globalna wyjątkowość cyfrowego kotka -kot.”

IBC wymaga, aby łańcuchy bloków o szybkiej ostateczności – takie jak łańcuchy bloków PoS – były natywnie obsługiwane między łączonymi łańcuchami bloków. Jednak IBC można zaimplementować za pomocą łańcucha blokowego ze strefą peg, który ma wolniejszy konsensus – taki jak PoW – opisany poniżej w Ethermint. Więcej szczegółów na temat IBC znajduje się w jego dokument specyfikacji.

IBC jest natywnie obsługiwany przez strefy oparte na Tendermint i ułatwia ustandaryzowany format przesyłania tokenów w sieci, między różnymi łańcuchami bloków. Jest to podobne do uniwersalnego protokołu wymiany atomowej w sieci. Ważne jest, aby zauważyć, że IBC jest natywnie obsługiwany tylko przez łańcuchy bloków oparte na Tendermint wraz z tymi, które mają algorytmy konsensusu o szybkiej ostateczności, w tym warianty PoS.

Ethermint jest napisany w Go i będzie pierwszą strefą peg, która jest implementacją maszyny wirtualnej Ethereum (EVM) na silniku Tendermint. Cosmos umożliwia to dzięki wykorzystaniu ABCI protokołu Tendermint, który umożliwia uruchamianie aplikacji w dowolnym języku w silniku Tendermint.

W tym przypadku zreplikowali bazę kodu Ethereum i sprawili, że Cosmos jest w pełni kompatybilny z interfejsem Web3 Ethereum. Programiści mogą nawet używać Trufla do przenoszenia aplikacji i inteligentnych kontraktów bezpośrednio do Cosmos.

Tworzenie aplikacji w oparciu o łańcuch bloków to trudne zadanie. Struktury aplikacji zapewniają bardzo potrzebne zasoby i narzędzia ułatwiające tworzenie lepszych wrażeń i dlatego Cosmos niedawno uruchomił swój zestaw SDK.

Zestaw Cosmos SDK

Plik Cosmos SDK jest frameworkiem ABCI napisanym w Golang i jest przeznaczony do wspierania rozwoju wielozasobowych łańcuchów bloków PoS, łańcuchów bloków Proof-of-Authority (PoA) i aplikacji uzupełniających je.

Głównym celem SDK jest zmniejszenie złożoności w budowaniu ABCI dla typowej funkcjonalności blockchain i umożliwienie programistom skupienia się na konfigurowalnych aplikacjach w standardowej strukturze.

Modułowa struktura SDK jest warstwowa na niskim poziomie ABCI i zapewnia zestaw narzędzi i zasobów dla programistów. Został zbudowany dla Gaia, po pierwszym wdrożeniu Cosmos Hub i uruchomieniu sieci głównej nastąpi audyt kodu SDK, a także ukończenie sieci testowej Game of Stakes PoS.

Źródło zdjęcia – blog Cosmos

Zestaw SDK jest zbudowany przy użyciu podmiotów obsługujących obiekty w celu zapewnienia optymalnego zabezpieczenia przed potencjalnie złośliwymi modułami innych firm, których programiści używają podczas tworzenia swoich modułów w ramach otwartej struktury SDK.

Cosmos udostępnia obszerne zasoby w swoim zestawie SDK w Dokumentacja SDK dla programistów, którzy chcą mieć przewagę nad tworzeniem aplikacji na platformie po jej uruchomieniu.

Lotion JS to alternatywna platforma Cosmos SDK, która jest wbudowana w JavaScript i umożliwia tworzenie aplikacji typu blockchain w tym języku. Jest znacznie mniejszy niż framework SDK i został zaprojektowany jako podstawa dla skoncentrowanych modułów, na których mają być budowane.

Przyszłość interoperacyjności

Interoperacyjność z łańcuchami bloków jest uważana za naturalny kolejny krok w branży po skalowalności. Jednak projekty takie jak Cosmos, które są tworzone w celu skalowania od momentu uruchomienia jako interoperacyjne platformy, oferują intrygujący wgląd w to, jak może wyglądać przyszły krajobraz interoperacyjnych łańcuchów bloków..

Ustalenie, jak wypadnie Cosmos, jest niezwykle trudne, zwłaszcza biorąc pod uwagę jego zależność od konsensusu PoS i oczekujące wyniki z sieci testowej Game of Stakes. PoS jest notorycznie trudny do rozważenia i ma predyspozycje do subiektywny interpretacja niezmienności.

Harmonogram uruchomienia Cosmos w sieci mainnet jest niepewny, ale wraz z Polkadot – podobną platformą wielołańcuchową – może stanowić przydatny pomiar mechanizmów znormalizowanej komunikacji i wymiany tokenów między łańcuchami bloków.

Jeśli odniesie sukces, Cosmos zaoferuje programistom i użytkownikom całkowicie nowe środowisko do uruchamiania i interakcji ze skalowalnymi, zdecentralizowanymi aplikacjami.

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