. . .

Czym jest Monad?

Rafał avatar
Rafał   2024-01-31 11:14

Ilość nowych projektów na rynku kryptowalut potrafi przyprawić o zawrót głowy, a nawet zniechęcić do poznawania obiecujących sieci. Śledzenie każdego ciekawego projektu jest niemożliwe, ale niektóre z nich, jeszcze długo przed ich oficjalnym startem, z różnych powodów warto poznać. Jedną z takich kryptowalut jest Monad.

czym jest monad

Ethereum cały czas pozostaje największą platformą smart kontraktów na rynku. Dominuje w ilości aplikacji, wartości zablokowanej w DeFi i wielu innych statystykach, także tej dotyczącej programistów, a większość użytkowników tego rynku posiada portfel kompatybilny z EVM. 

Wiele rozwiązań próbuje swoich sił projektując sieci znacznie różniące się od Ethereum. Korzystają z innych języków programowania i nie są kompatybilne z EVM, a to oznacza wiele wyzwań. Jednym z nich jest pozyskanie programistów zaznajomionych z architekturą danej sieci i językiem programowania, a drugim przekonanie użytkowników do pobierania kolejnych portfeli.

Monad postanawia czerpać "pełną gębą" z ogromnej bazy Ethereum, ale jednocześnie wprowadza własne rozwiązania mające na celu zwiększyć przepustowość sieci.

Artykuł nie stanowi porady inwestycyjnej. Zawsze wykonaj własny research i pamiętaj o ryzyku.

Czym jest Monad?

Monad łańcuch bloków warstwy pierwszej (L1) stosujący mechanizm Proof of Stake oraz oferujący użytkownikom wysoką szybkość dzięki zastosowaniu równoległego przetwarzania transakcji, konsensusu MonadBFT, optymalizacji bazy danych dla przechowywania i dostępu do stanu sieci oraz odroczonej egzekucji transakcji, oddzielonej od warstwy konsensusu.

Monad oferuje pełną kompatybilność z maszyną wirtualną Ethereum (EVM), dzięki czemu programiści mogą łatwo wdrażać aplikacje zbudowane dla Ethereum na Monad, a użytkownicy korzystać ze znanych z Ethereum portfeli i narzędzi takich jak MetaMask.

Z punktu widzenia wydajności Monad oferuje przepustowość na poziomie 10000 tx/s, 1 sekundowy czasu bloku oraz finalizację w takim samym czasie.

Monad wyróżnia wprowadzenie równoległego wykonywania operacji oraz superskalarnej potokowości do wirtualnej maszyny Ethereum.

Co?

Tak wiem, zaraz więcej na ten temat... 

Równoległe przetwarzanie transakcji jest coraz popularniejszą metodą implementowaną w sieciach blockchain. Robi tak Solana, Sui, czy Aptos, ale żaden z tych projektów nie jest kompatybilny z EVM i między innymi ta kompatybilność wyróżnia Moand na ich tle. 

Monad jest szybki, fajny i kompatybilny z EVM. Tak w skrócie można opisać ten projekt, który jest kolejną siecią budzącą spore oczekiwania. 

A teraz przejdźmy do nieco głębszego wyjaśnienia kilku wspomnianych w tym artykule pojęć dotyczących Monad.

Co wyróżnia Monad?

Superskalarna potokowość to praktyka polegająca na dzieleniu pracy na kilka etapów i wykonywaniu ich równolegle. 

Potokowość (ang. pipelining) jest techniką budowy procesorów, w której dana instrukcja wykonywana jest w kilku niezależnych etapach. 

Poniższy diagram przedstawiony przez Monad, pochodzący z działu informatycznego Uniwersytetu Stanowego Floryda pozwala znacznie łatwiej zrozumieć o co chodzi: 

Potokowość MonadGrafika: https://www.cs.fsu.edu/~hawkes/cda3101lects/chap6/index.html?$$$F6.1.html$$$

Potokowość została tu porównana do robienia prania. W przypadku standardowych łańcuchów bloków, cały etap prania, suszenia, składania i schowania do szafy wykonywany jest po kolei, jeden po drugim.

W przypadku kryptowalut tym praniem, jest np. wykonywanie transakcji jedna po drugiej. Dopiero gdy schowamy pranie do szafy, wkładamy nowe (gdy przetworzyliśmy transakcje, zajmujemy się kolejnymi).

Dzięki potokowości można załadować pralkę, gdy skończy się prać poprzednie pranie, które przerzuciliśmy do suszarki. Następnie wyciągamy ubrania z suszarki i składamy, w międzyczasie dodając nowe pranie i przekładając poprzednie do suszarki. 

Można to także porównać do procesora. Ethereum jest w pewnym sensie procesorem jednordzeniowym, natomiast Monad wykorzystuje wiele rdzeni, aby zoptymalizować działanie łańcucha. Dzieli wykonanie transakcji na kilka etapów, które wykonywane są równolegle.

W praktyce oznacza to, że Monad rozpoczyna realizację transakcji B przed zakończeniem wcześniejszych transakcji w bloku. Czasami może to powodować nieprawidłowości, np. transakcja B korzysta z salda konta 1, tak jak transakcja A, a więc wynik operacji B może być inny, lub cała ta operacja może być zła, jeśli A korzysta z całego salda konta, a więc nie ma go już, do pokrycia późniejszej operacji B.

Rozwiązanie stosowane przed Monad to optymistyczna egzekucja, która śledzi dane wejściowe użytych podczas wykonywania transakcji B i porównuje je z wynikami transakcji A. Jeśli się różnią, należy ją wykonać ponownie z prawidłowymi danymi.

Podczas gdy realizacja transakcji jest równoległa, zaktualizowany stan każdej jest „łączony”. Na samym końcu całych zawiłych procesów, Monad zachowuje strukturę liniowego łańcucha bloków, podobnie jak transakcje w jego obrębie. Równoległość jest wykorzystywana wyłącznie ze względu na wydajność. A więc, gdy będziemy przeglądać eksplorator zobaczymy “zwykłe” bloki i transakcje, które pojawiają się co 1 sekundę.

Projekt wprowadza potokowość, aby wyeliminować istniejące blokady w przepustowości nie tylko w samych transakcjach. Dotyczy to także dostępu do stanu, wykonywaniu transakcji i konsensusu.

czym jest MonadGrafika: X

Monad jest najbardziej znany ze swojego “Równoległego EVM”. Jednak kluczem do zapewnienia realnej wydajności tego projektu jest MonadDb, baza danych, która umożliwia wydajny dostęp do stanu przy minimalnych wymaganiach dotyczących pamięci RAM. 

Jak podkreśla współzałożyciel Keone Hon: “wąskim gardłem jest stan”. 

Bez asynchronicznego dostępu do stanu, projekt równoległego EVM zapewniałby wydajność porównywalną do zwykłego “jednordzeniowego” EVM.

Też modułowy?

Konsensus Monad BFT działa podobnie jak inne konsensy BFT, a więc zakłada, że ⅔+1 stawki w sieci jest uczciwa, ponieważ, przypomnienie, jest to projekt Proof of Stake. Węzły głosują na dane bloki i osiągają zgodę co do ich poprawności. Finalizacja bloku następuje, gdy ⅔ stawki zatwierdzi blok w głosowaniu (zagłosuje na “Tak”).

Natomiast sieć oddziela konsensus od wykonywania transakcji. Projekty modułowe stały się popularne po sukcesie Celestia.

Monad najpierw osiąga zgodę co do kolejności transakcji, a następnie, w osobnym procesie faktycznie wykonuje te transakcje i aktualizuje stan sieci.

Także Monad posiada cechy łańcucha modułowego, natomiast jednocześnie pozostaje kompletnym rozwiązaniem wykonującym transakcje i utrzymującym jeden wspólny stan, tak jak Ethereum i inne łańcuchu monolityczne (pojedyncze).

Mimo dzielenia całego procesu przetworzenia transakcji na kilka etapów, Monad nadal zachowuje pełną kompatybilność z EVM, a więc aplikacje takie jak Aave, czy Uniswap mogą po prostu wykonać operację “crtl+c, crtl+v” i korzystać z nowej integracji, bez zmian w swoim kodzie.

Kryptowaluta MONAD

Monad, jak każdy blockchain L1, będzie posiadał własny, natywny token służący standardowym dziś funkcjom w projektach kryptowalut takich jak pokrywanie opłat za transakcje i zapewnianiu bezpieczeństwa w mechanizmie POS, w którym będzie występować delegacja on-chain.

W momencie pisania artykułu nie ma żadnych szczegółów dotyczących tokenomii, dystrybucji, dokładnego wykorzystania tokenów.

Wiemy jedynie, że Monad zebrał 19 mln USD w rundzie finansowania prowadzonej przez Dragonfly Capital.

Token MONAD, w momencie publikacji artykułu, jeszcze nie istnieje, warto więc uważać na to co się kupuje. 

Podsumowanie

Monad wykorzystuje wszystkie wprowadzane przez siebie funkcje, od potokowości do równoległej egzekucji transakcji, aby optymalizować i przyspieszać procesy stojące za działaniem łańcucha bloków zachowującego swoją kompatybilność z EVM bez naruszania wysokiego poziomu decentralizacji. 

Projekt zapowiada się bardzo ciekawie i jest w tym momencie prawdopodobnie drugim po tokenie EigenLayer, na który czeka krypto-świat. Jego start może mieć miejsce już niedługo, dlatego warto śledzić informacje na jego temat oraz poznać jego ofertę, aby samemu móc wyciągnąć wnioski.

Przydatne Linki:

 

Popularne