. . .

Przewodnik po Cosmos. Czym jest i jak działa sieć Cosmos oraz kryptowaluta ATOM.

Rafał   2021-05-29 01:15

Cosmos jest zdecentralizowaną siecią niezależnych i równoległych łańcuchów bloków, z których każdy może się skalować i w łatwy sposób komunikować z innymi. Każdy z łańcuchów jest zasilany przez algorytm konsensusu Tendermint.

Cosmos kryptowaluta ATOM

Cosmos pozwala programistom na łatwe budowanie swoich blockchainów, które przetworzą transakcje szybko, utrzymają swoją niezależność i będą w stanie współpracować z innymi łańcuchami. To wszystko jest możliwe dzięki wykorzystaniu otwartego źródłowo Tendermint, modułowego frameworku Cosmos SDK, oraz IBC. Aby zrozumieć Cosmos trzeba zrozumieć czym są te trzy elementy.

Tendermint

Tendermint to algorytm konsensusu wykorzystywany przez Cosmos. Dokładniej mówiąc jest to oprogramowanie do bezpiecznego i spójnego replikowania aplikacji na wielu komputerach. W tym wypadku bezpieczeństwo, oznacza że Tendermint działa nawet, gdy 1/3 maszyn zawiedzie w jakikolwiek sposób. Natomiast spójność, oznacza że każda sprawna maszyna widzi ten sam dziennik transakcji i oblicza ten sam stan. 

Tendermint posiada zdolność do tolerowania błędów i awarii maszyn, tych, które z jakiegoś powodu nie działają poprawnie jak i tych, które są złośliwe. Jest to znane jako bizantyjska tolerancja błędów (Byzantine Fault Tolerance, BFT). BFT jest systemem, który w dużym stopniu rozwiązał “Problem Bizantyjskich Generałów”. 

BFT

Tendermint składa się z silnika konsensusu blockchain i ogólnego interfejsu aplikacji. Silnik konsensusu, nazwany Tendermint Core, zapewnia, że ​​te same transakcje są rejestrowane na każdym komputerze w tej samej kolejności. Interfejs aplikacji, zwany Application BlockChain Interface (ABCI), umożliwia przetwarzanie transakcji w dowolnym języku programowania.

TendermintGrafika: https://v1.cosmos.network/intro

Tendermint jest tak zaprojektowany aby nigdy nie doszło do podziału łańcucha (fork), a transakcje są potwierdzane od razu gdy znajdą się w bloku.

Tendermint BFT znacznie skraca czas potrzebny programistom na stworzenie łańcucha bloków.

Cosmos SDK

Cosmos SDK Grafika: https://v1.cosmos.network/intro

Cosmos SDK to platforma programistyczna, która znacznie upraszcza proces budowy blockchainów zbudowanych na Tendermint. Pozwala na korzystanie z wcześniej przygotowanych modułów, które można łatwo wdrożyć do łańcucha bloków bez potrzeby kodowania każdej potrzebnej funkcjonalności od zera.

Cosmos SDK pozwala również na przeniesienie istniejącej bazy kodów innych blockchainów do sieci Cosmos. Na przykład, oprogramowanie Ethermint pozwala na zmianę EVM (Ethereum Virtual Machine) na moduł Cosmos SDK. Pozwala to na tworzenie łańcuchów, które obsługują smart kontrakty Ethereum.

Każdy może utworzyć nowy lub skorzystać już istniejących modułów Cosmos SDK.  Łańcuchy bloków zbudowane za pomocą Cosmos SDK są ogólnie określane jako dedykowane łańcuchy bloków (application-specific blockchain). 

Dedykowane łańcuchy bloków są dostosowane do obsługi pojedynczej aplikacji. Zamiast budować zdecentralizowaną aplikację na blockchainie, takim jak Ethereum, która korzysta z maszyny wirtualnej danego projektu (w przykładzie Ethereum jest to EVM) programiści budują własny blockchain od podstaw z wykorzystaniem narzędzi Cosmos, ale nie tylko, można korzystać z innych frameworków.

Budowanie swoich aplikacji w ten sposób zapewnia ogromną elastyczność co do tego jak będzie działać dana aplikacja. W przeciwieństwie do łańcuchów wykorzystujących maszyny wirtualne, programiści nie muszą ograniczać się do jednego języka programowania, modelu transakcji (mogą np. korzystać z UTXO), mają dostęp do znacznie wyższej przepustowości, ponieważ nie konkurują o miejsce z wieloma innymi aplikacjami i mogą właściwie dowolnie dostosować swój łańcuch. 

IBC

Inter-Blockchain Communication (IBC) to protokół, który zapewnia komunikację między łańcuchami w sieci Cosmos. Pozwala na transfer różnego rodzaju danych, na przykład tokenów, pomiędzy łańcuchami.

IBC umożliwia niezależnym łańcuchom bloków posiadającym własnych walidatorów i właściwości sieci, przesyłanie między sobą tokenów i danych.  Mimo wielu różnic, jakie mogą dzielić łańcuchy bardzo łatwo osiągnąć kompatybilność z IBC. Najważniejszą z nich jest to, że warstwa konsensusu musi posiadać tzw. szybką ostateczność (jak np. Tendermint).

Transfery tokenów między łańcuchami odbywa się poprzez zablokowanie tokenów z łańcucha A, przesłanie dowodu do łańcucha B, że tokeny zostały zablokowane, weryfikacje tego dowodu, a następnie utworzenie “kuponów” przesłanego tokena na łańcuchu B. Co ważne, te tokeny są tylko reprezentacją tych oryginalnych, przesłanych z łańcucha A. Odesłanie, czy też odblokowanie odbywa się na tych samych zasadach.

Cosmos Hub

Jest pierwszym łańcuchem w sieci Cosmos, a także centralnym punktem całego systemu. Cosmos Hub, zasilany przez Tendermint BFT, łączy się z innymi łańcuchami bloków nazywanymi “strefami” (zones) przez IBC.

Jego głównym zadaniem jest połączenie ze sobą stref i obsługiwanie rozproszonej księgi z wieloma zasobami, w której tokeny mogą być przechowywane przez pojedynczego użytkownika lub przez same strefy. W momencie, którym strefa łączy się z Hub-em, automatycznie otrzymuje dostęp do każdej ze stref z nim połączonej, dzięki czemu nie muszą się one komunikować bezpośrednio ze sobą, co znacznie zmniejsza potrzebną liczbę połączeń.
 
Śledzi on również stany każdej strefy, która stale przesyła do Hub-u zatwierdzenia kolejnych bloków. Każda ze stref śledzi również stan Hub-u. Cosmos Hub zapobiega także podwójnemu wydawaniu (ang. double spending) między strefami. 

Cosmos Hub śledzi wiele typów tokenów i rejestruje całkowitą ich liczbę w każdej połączonej strefie. Tokeny można bezpiecznie i szybko przesyłać z jednej strefy do drugiej bez konieczności płynnej wymiany między strefami, ponieważ wszystkie międzystrefowe transfery przechodzą przez Cosmos Hub.

Co ważne Cosmos Hub jest pierwszym, ale nie musi być jedynym Hubem w sieci Cosmos.

Cosmos Hub

Grafika: https://v1.cosmos.network/intro

Cosmos Hub zapewnia także bezpieczeństwo między łańcuchami. IBC umożliwia walidatorom działającym na Cosmos Hub zapewnienie bezpieczeństwa także innym łańcuchom. Oznaczna to, że ATOM będzie w stanie zabezpieczyć zarówno Cosmos Hub, jak i inne łańcuchy działające w sieci Cosmos, a to oznacza dodatkowe przychody dla walidatorów i delegatorów ATOM. 

Jest to nazwane walidają międzyłańcuchową (Cross-Chain Validation) i umożliwia walidatorom, którzy już zabezpieczają istniejące blockchainy (tzw. blockchain-rodzic) na zabezpieczenie „nowego” blockchaina (blockchain-dziecko). W tym wypadku ATOM powiązane z nadrzędnym łańcuchem gwarantuje, że walidator zachowuje się poprawnie również w każdym innym łańcuchu, który zabezpiecza. Jeśli walidator niewłaściwie zachowa się w łańcuchu podrzędnym, jego stawka zostanie obcięta w łańcuchu macierzystym. Za komunikację między łańcuchami odpowiada oczywiście IBC.

Zone

Strefy są to niezależne łańcuchy bloków z własnymi tokenami i zarządzaniem, działające równolegle i połączone z Cosmos Hub. Strefy są również nazywane “shardami” od technologii shardingu, czyli podziału bazy danych na mniejsze fragmenty.

Z punktu widzenia Hub-u, strefa jest kontem z wieloma zasobami, dynamicznym członkostwem i wieloma podpisami, które może wysyłać i odbierać tokeny za pomocą IBC. Tak jak typowe konto kryptowalutowe, strefa nie może wysłać więcej tokenów niż posiada, ale może je otrzymać o innych. Strefa może być zaprojektowana jako źródło tokenów, które ma moc zwiększania podaży (np. łańcuch bloków proof of stake).

Peg-Zone

Peg-Zone jest łańcuchem bloków, który służy jako most między zewnętrznymi blockchainami a siecią Cosmos. Śledzi on stan innego łańcucha i jest kompatybilny z IBC.

Dzięki Peg-Zone Cosmos może połączyć się z innymi łańcuchami bloków, które nie posiadają konsesusu pozwalającego na osiągnięcie natychmiastowej ostateczności, na przykład z łańcuchem Proof of Work Ethereum. 

Proof of Stake

Cosmos Hub wykorzystuje mechanizm Proof of Stake, w którym głównymi uczestnikami sieci są Walidatorzy. Pełnią oni podobną funkcję do górników w sieciach Proof of Work, ale zamiast wykonywania pracy i wykorzystania przy tym energii elektrycznej, blokują pewną ilość kryptowaluty ATOM  jako stake i weryfikują transakcje oraz finalizują bloki.

Może istnieć limitowana liczba walidatorów w sieci Cosmos. Od 100 w momencie powstania sieci do maksymalnie 300. Ilość możliwych walidatorów rośnie co rok o 13%, aż do uzyskania maksymalnej liczby.

Walidatorzy za swoją pracę otrzymują nagrody za blok i opłaty transakcyjne. Jeśli użytkownik nie chce samodzielnie weryfikować bloków, może oddelegować swoje ATOM do Walidatora, a ten podzieli się z nim nagrodami za blok i opłatami transakcyjnymi w zależności od procenta udziału oddelegowanych tokenów w całym stake. Walidator pobiera również procent od nagród w ramach opłaty.

Aby zapobiegać szkodliwym dla sieci zachowaniom Walidatorów, zarówno tym zamierzonym jak i niezamierzonym, Cosmos wykorzystuje koncepcje Slashingu. Oznacza to, że złośliwy, lub źle działający Walidator jak i Delegatorzy, którzy oddelegowali swoje ATOM do niego mogą stracić stakowane tokeny.

ATOM

ATOM jest natywnym tokenem Cosmos Hub. Nie ma określonej maksymalnej liczby możliwych “monet”. Inflacja wynosi, w zależności od procenta całkowitej podaży zablokowanej w stakingu, od około 20% do 7% rocznie. ATOM pełni wiele funkcji w sieci i jej zabezpieczeniu. 

Po pierwsze ATOM jest używany do pokrywania opłat w Cosmos Hub. Opłaty, podobnie jak w Ethereum są proporcjonalne do wykorzystania mocy obliczeniowej potrzebnej do przetworzenia transakcji i zostały wprowadzone, żeby zapobiegać spamowi w sieci. 

Po drugie jest używany do stakingu. Tokeny mogą zostać powiązane/zablokowane, aby zabezpieczać sieć i otrzymywać za to nagrody. Można w każdej chwili odblokować swoje ATOM, natomiast należy odczekać 21 dni by móc ich znowu używać. ATOM zabezpiecza nie tylko Cosmos Hub, ale może zabezpieczać także inne łańcuchy jak opisano wcześniej.

Po trzecie ATOM jest używany do zarządzania Cosmos Hub poprzez głosowania. 

Podsumowanie

Więc czy jest Cosmos? Cosmos jest całym ekosystemem pozwalającym programistom na budowanie blockchainów dostosowanych do ich potrzeb w szybki i bezpieczny sposób. Cosmos Hub jest centralnym blockchainem sieci, która powstaje dzięki wykorzystaniu narzędzi zapewnianych przez Cosmos SDK.

Już teraz wiele znaczących projektów powstaje dzięki Cosmos. Oprócz Cosmos Hub możemy wyróżnić takie projekty jak Kava, Band Protocol, THORChain, IRISnet, Crypto.com Chain, Terra i wiele innych. Binance Chain, mimo że praktycznie nie jest częścią ekosystemu Cosmos, został zbudowany właśnie przy użyciu technologii Cosmos SDK i Tendermint.

Za rozwojem projektu stoi The Interchain Foundation (ICF). To szwajcarska fundacja non-profit, która została utworzona w celu wspierania rozwoju sieci Cosmos i związanego z nią ekosystemu.

Jak sami twórcy określają i nie jest to pusty slogan, dzięki Cosmos powstaje Internet Blockchainów.

Popularne