November 23, 2022

ZetaChain: blockchain z wbudowaną obsługą Crosschain Smart Contracts 2022-02-20, v0.3.1 ZetaChain team@zetachain.com(Translated to Polish)

Adnotacja

Ten dokument techniczny jest poświęcony ZetaChain-blockchain z obsługą typowych inteligentnych kontraktów omnichein. Dzięki tej technologii można łączyć jako łańcuchy bloków z obsługą inteligentnych kontraktów, takie jak Ethereum, rollups drugiego poziomu dla Ethereum, Solana, Terra i Algorand. Podobnie jak blockchain bez obsługi inteligentnych kontraktów, takich jak Bitcoin, Dogecoin i inne. ZetaChain to Proof-of-Stake blockchain z obserwatorami i sygnatariuszami dla zewnętrznych łańcuchów bloków. Obserwatorzy sprawdzają sieci zewnętrzne pod kątem odpowiednich zdarzeń, transakcji i stanów w danym momencie, a wyniki obserwacji osiągają konsensus w łańcuchu bloków ZetaChain. Wszyscy sygnatariusze są współwłaścicielami jednego klucza schematu podpisu progowego (TSS), który umożliwia wysyłanie uwierzytelnionych Wiadomości do sieci zewnętrznych i przechowywanie zasobów, takich jak zwykłe konta / adresy w sieciach zewnętrznych. Inteligentne kontrakty na ZetaChain obsługują dowolną logikę wykonaną warunkowo na zdarzeniach sieci zewnętrznej i mogą bezpośrednio aktualizować Stany sieci zewnętrznej za pośrednictwem transakcji podpisanych TSS. W ten sposób ZetaChain pozwala tworzyć omnichein dApps, które współdziałają z różnymi blockchainami natywnie i bezpośrednio, bez owijania i łączenia jakichkolwiek zasobów.

1. Wstąpienie

Multichein przyszłość wydaje się nieunikniona. Trudno sobie wyobrazić, że jeden blockchain wystarczy dla wszystkich przypadków użycia. Jednak przyszłość multichein bez interoperacyjności między blockchainami można porównać do Internetu przed pojawieniem się TCP / IP. Nowoczesne łańcuchy bloków są zbyt rozdrobnione i nie są kompatybilne – utrudnia to masową adopcję technologii. Na przykład zdecentralizowana aplikacja (dApp) jest często powiązana z określonym łańcuchem bloków. Jeśli użytkownik zapoznaje się z systemem kryptograficznym za pomocą tej aplikacji, taka fragmentacja stwarza dla niego ogromne bariery w szybkim opanowaniu lub korzystaniu z aplikacji w innej sieci. W ramach rozwiązania problemu interoperacyjności opracowano kilka propozycji i projektów, które kładą nacisk na interoperacyjność. Jednak większość z tych systemów ma zastosowanie tylko do określonych łańcuchów bloków, standaryzując protokoły w ramach własnych systemów, wymagając od innych łańcuchów bloków przyjęcia lub złożonych, ograniczonych i/lub mniej bezpiecznych mostów do połączenia (patrz rysunek 1). W niniejszej białej księdze przedstawiamy nowy, publiczny łańcuch bloków pierwszego poziomu, który skutecznie i agnostycznie łączy łańcuchy bloków i ułatwia interakcję. Ponadto przedstawiamy modelowy inteligentny kontrakt blokowy, który może bezpośrednio przechowywać i zarządzać aktywami na innych blokach, umożliwiając w ten sposób tworzenie inteligentnych kontraktów, które mogą przechowywać aktywa w innych sieciach. Otwiera to nieograniczone możliwości dla aplikacji Cross-Chain. Łańcuchy bloków są z natury systemami zamkniętymi. Celem tego dokumentu jest opracowanie i zdefiniowanie praktycznego systemu, który jest uniwersalny w swoich możliwościach krzyżowych, bez zmuszania istniejących łańcuchów bloków do przyjmowania nowych standardów lub opracowywania nowego łańcucha bloków, do którego wszystkie aktywa będą musiały zostać przeniesione. A celem jest zrobienie tego w zdecentralizowany, bizantyjski sposób odporny na awarie. Innymi słowy, dążymy do stworzenia publicznego łańcucha bloków, który obsługuje prawdziwe transakcje Cross-blockchain, przekazywanie wiadomości i typowe inteligentne kontrakty Cross-blockchain. Według naszych szeroko zakrojonych badań, zdecentralizowany system notarialny oparty na stymulowanym Proof-of-Stake, z replikacją maszyny stanu (znanej również jako blockchain), którą nazywamy ZetaChain, najlepiej nadaje się do rozwiązania tego problemu.

ZetaChain to przede wszystkim publiczny blockchain z walidatorami Proof-of-Stake. Uważa się, że zdecydowana większość (>66% węzłów) węzłów walidatorów jest uczciwa i działa zgodnie z wymogami protokołu, a wszystkie wspólnie pełnią rolę notariuszy. Oprócz tego, że jest to blockchain, interoperacyjność wymaga również monitorowania działania innych łańcuchów bloków. Dlatego do każdego węzła walidatora ZetaChain dołączony jest obserwator, który sprawdza inne łańcuchy bloków pod kątem zdarzeń (dziennik zdarzeń, transakcja lub stan w określonym czasie). Obserwatorzy przekazują ZetaChain informacje o odpowiednich wydarzeniach i osiągają konsensus. ZetaChain używa niestandardowej logiki do aktualizacji swojego stanu w odpowiedzi na dane otrzymane od obserwatorów. Z drugiej strony, aby zmienić stan na innych łańcuchach bloków, każdy walidator jest również powiązany z sygnatariuszem posiadającym udział w kluczu. Wszyscy walidatorzy posiadają jedną parę klucza publicznego / prywatnego, za pomocą której mogą bezpośrednio inicjować transakcje na innych łańcuchach bloków w celu zmiany stanu. Zasada podpisywania może mieć postać schematu podpisu progowego, takiego jak GG18/GG20 ECDSA/EdDSA, lub podpisu progowego/agregującego BLS, w zależności od kryptografii na różnych łańcuchach bloków i ich możliwości / kosztów rozwoju inteligentnych kontraktów. Pojedynczy klucz publiczny i adres w systemie ZetaChain umożliwia ZetaChain przechowywanie zasobów na łańcuchach bloków innych firm,które mogą nie mieć funkcji inteligentnych kontraktów, takich jak Bitcoin. Ta funkcja umożliwia tworzenie potężnych aplikacji crosschain (lub omnichein) na podstawie natywnych inteligentnych kontraktów ZetaChain crosschain. Taka implementacja wygląda mniej więcej tak samo jak w Ethereum, gdzie inteligentnemu kontraktowi można powierzyć zarządzanie aktywami zgodnie z wcześniej ustalonymi regułami, ale w ZetaChain inteligentny kontrakt może wykorzystywać i zarządzać aktywami na dowolnym połączonym łańcuchu bloków. Podsumowując, można powiedzieć, że ZetaChain został zaprojektowany jako zdecentralizowana platforma Cross-Chain inteligentnych kontraktów. Wizją ZetaChain jest stanie się komputerem publicznym na wszystkich głównych łańcuchach bloków, na którym można łatwo tworzyć zdecentralizowane aplikacje krzyżowe. w formie publicznych, zaufanych i trwałych inteligentnych kontraktów.

Rysunek 1. Przed i po ZetaChain. Zdjęcie po lewej: obecny ekosystem. Użytkownicy i programiści są odizolowani w różnych sieciach, a istniejące rozwiązania krzyżowe są rozproszone, co prowadzi do poważnej i rosnącej fragmentacji. Zdjęcie po prawej: ekosystem z ZetaChain. Użytkownicy, Programiści i aplikacje mogą bezproblemowo komunikować się między sieciami. Nowy paradygmat-Omnichein dApps.

2. Ogólne warunki wstępne: Ewolucja blockchain

2.1. Bitcoin: pierwsza zdecentralizowana kryptowaluta

Bitcoin to pierwszy zdecentralizowany i niewymagający pozwolenia publiczny system informacyjny opracowany na podstawie kryptografii. Podstawowym mechanizmem jest bizantyjski odporny na awarie rozproszony konsensus, który Bitcoin rozwiązuje za pomocą kombinacji technik z kryptografii, zachęt ekonomicznych i Informatyki.

Kluczowymi innowacjami Bitcoin jest wykorzystanie algorytmu podpisu cyfrowego opartego na krzywej eliptycznej (ECDSA) do samodzielnego przechowywania funduszy, a także wykorzystanie algorytmu Proof-of-Work do osiągnięcia rozproszonego konsensusu (zamawiania stale rosnącego dziennika transakcji) i zapewnienia odporności na ataki sybil. Bitcoin stał się również pierwszym dużym zastosowaniem technologii blockchain-kryptowalutą p2p. sieć Bitcoin odniosła wielki sukces, mimo że nie spełniła swojej głównej obietnicy-stać się elektronicznym środkiem płatniczym. Bitcoin stał się raczej najbezpieczniejszym, zdecentralizowanym i najbardziej niezawodnym sposobem gromadzenia kapitału ze względu na jego techniczną prostotę i odporność, wysoki stopień decentralizacji i niski próg wejścia oraz przewidywalną i konserwatywną politykę pieniężną.

Sieć Bitcoin składa się z GCD połączonych siecią p2p. Uczestnikami sieci są Użytkownicy i górnicy. Razem sieć Bitcoin prowadzi rosnącą księgę rejestracyjną, która jest sekwencją transakcji użytkowników. Transakcja użytkownika to podpisana wiadomość, która powoduje wydanie określonej liczby monet kontrolowanych przez użytkownika. Transakcja niestandardowa zawiera jedno lub więcej UTXO jako wejście i tworzy jedno lub więcej UTXO jako wyjście, zmieniając w ten sposób stan (UTXO set). Bitcoin obsługuje ograniczoną formę skryptowania: podczas transakcji monety mogą być wysyłane do skryptu, a każdy, kto może spełnić wymagania skryptu (tj. podać dane, aby wynik wynosił 1), może wydać te monety. Język skryptowy jest celowo prosty i niekompletny Turinga - co oznacza, że nie zawiera struktur rozgałęzień i pętli - ale obsługuje kilka prostych, ale zasadniczo przydatnych aplikacji, takich jak multisig, zamiany atomowe itp.

2.2. Ethereum: programowalny blockchain z inteligentnymi kontraktami

Chociaż koncepcyjnie Bitcoin jest prostą księgą (uporządkowaną sekwencją transakcji) z podstawowymi funkcjami skryptowymi, która służyła jako kanoniczny przykład blockchain, nie jest to limit tego, co może zrobić blockchain. Na przykład ze względu na ograniczoną weryfikację protokołu Bitcoin w jego sieci nie można emitować nowych monet. Sieć Bitcoin nie jest programowalna w tym sensie, że można w niej zaimplementować dowolną funkcję przejścia stanu. Jedyną funkcją przejścia stanu obsługiwaną przez Bitcoin jest zakodowana zmiana zestawu UTXO. W związku z tym żadne aplikacje poza walutą BTC nie mogą korzystać z sieci Bitcoin, dziedzicząc jej konsensus, decentralizację i bezpieczeństwo. Aby rozszerzyć zakres blockchain, aby zapewnić pełną programowalność Turinga, stworzono Ethereum. Ethereum pożycza Proof-of-Work od Bitcoin w celu uzyskania konsensusu i wprowadził kilka ważnych innowacji, które uczyniły go publicznym programowalnym blockchainem. Po pierwsze, Ethereum wykorzystuje maszynę wirtualną (EVM), która zapewnia pełną piaskownicę Turinga do definiowania dowolnych funkcji przejścia stanu (inteligentnych kontraktów). Po drugie, Ethereum odchodzi od modelu UTXO w Bitcoin i korzysta z systemu księgowego, w którym konto przechowuje stan. Istnieją dwa rodzaje kont: konta należące do użytkowników zewnętrznych (EOA) zarządzane kluczem prywatnym. I inteligentne konta kontraktowe, które działają autonomicznie zgodnie z własną logiką. Posiadanie inteligentnych kontraktów na Ethereum sprawia, że jest to jeden z najczęściej używanych bloków DAPP z tysiącami wdrożonych aplikacji, takich jak finansowe instrumenty pochodne, giełdy, NFT, hazard i gry. Inteligentne kontrakty na Ethereum są jak obiekty w zorientowanym obiektowo języku programowania, w których można przechowywać stan i wywoływać funkcje w celu zmiany stanu. Użytkownicy mogą wchodzić w interakcje z inteligentnymi kontraktami, wysyłając im wiadomości; a inteligentne kontrakty mogą również wysyłać wiadomości do innych inteligentnych kontraktów (dzwonić), zmieniając ich Stany. Inteligentne kontrakty umożliwiają tworzenie bardzo interesujących aplikacji i mogą wykonywać bardzo potężne rzeczy, takie jak pożyczki flash lub swapy flash, które nie mają sobie równych w aplikacjach innych niż blockchain. Jest to możliwe dzięki potężnej atomowości transakcji wywołującej funkcje inteligentnego kontraktu: jest ona albo zakończona, albo całkowicie anulowana. Z biegiem lat pojawia się coraz więcej blockchain, takich jak Polkadot,Solana, Avalanche i Cosmos, obsługują inteligentne kontrakty bliskie kompletności Turinga.

2.3. Początki i problemy wieloczęściowe

Chociaż niektórzy wolą korzystać z jednej sieci, ale prawda jest taka, że technologia blockchain i rynki rozwijają się w zdumiewającym tempie i staje się coraz bardziej oczywiste, że przyszłość ekosystemu kryje się za wieloma blockchainami. Będą służyć swoim celom i będą miały własne kompromisy w zakresie bezpieczeństwa, decentralizacji, skalowalności, szybkości, kosztów, zgodności i tak dalej. Kluczowym ograniczeniem w tej wieloczęściowej przyszłości jest to, że blockchain został zaprojektowany jako system zamknięty. Transakcje dokonywane na blockchainie mogą polegać tylko na stanie swojego blockchaina i mogą zmieniać tylko stan własnego blockchaina. Informacje zewnętrzne nie mogą być niezawodnie przekazywane do łańcucha bloków bez zaufanej strony trzeciej (wyroczni). Transakcje dokonywane z udziałem wielu łańcuchów bloków muszą przechodzić przez zaufaną stronę, na przykład scentralizowaną giełdę. W rezultacie obecnie nie ma zdecentralizowanej, publicznej i publicznej usługi ułatwiającej Przeprowadzanie wspólnych transakcji atomowych (nie tylko wymiany atomowej, ale także arbitralnej logiki) z udziałem wielu łańcuchów bloków.

Popularne strategie Cross-Chain lub cross-blockchain obejmują łańcuchy boczne, przekaźniki, systemy notarialne, Kontrakty hash z tymczasowym blokowaniem i łańcuchy bloków blockchain. Po pierwsze, łańcuchy boczne/przekaźniki są popularnymi rozwiązaniami do implementacji mostów, które zasadniczo umożliwiają przenoszenie zasobów. W tych systemach poszczególne aktywa mają własny system księgowy, który jest autorytatywnym źródłem informacji o ich przynależności, ale za pomocą mostów można przenieść zasób do innych łańcuchów bloków, mając pewność, że zasób może powrócić do domowego łańcucha bloków. Repeater jest jednym z bezpośrednich mechanizmów interoperacyjności, w którym zamiast polegać na zaufanym pośredniku w dostarczaniu informacji o sieci a do sieci B, sieć B implementuje cienkiego klienta sieci a za pomocą inteligentnych kontraktów i może sprawdzić, czy określone zdarzenie, transakcja lub stan wystąpiły w określonym momencie w sieci A. jest to często nazywane zaufaniem, ponieważ nie ma dalszych założeń dotyczących zaufania poza zaufaniem do dwóch uczestniczących łańcuchów. Innymi słowy, nie jest wymagane zaufanie do wiarygodności mechanizmu przesyłania wiadomości z obwodu a do obwodu B, poza tym, że wiadomość zostanie dostarczona i dostarczona na czas. Przykładami przekaźników są BTCRelay w Ethereum (Klient SPV Bitcoin) i Ethereum Rainbow bridge na łańcuchu bloków w pobliżu. Repeatery są również popularnymi mechanizmami dla łańcuchów bocznych.

Po drugie, systemy notarialne to mechanizmy, w których powiernikowi (lub ich wielu) powierza się notarialne poświadczenie twierdzeń, na przykład, że zdarzenie X miało miejsce na blockchainie A. najbardziej oczywistymi programami notarialnymi są scentralizowane giełdy, które są powiernikami ułatwiającymi wymianę monet między blokami. Systemy notarialne nie muszą być scentralizowane; na przykład projekt Interledger w swoim reżimie atomowym można zaklasyfikować jako zdecentralizowany, bizantyjski system notarialny odporny na awarie w celu ułatwienia transferów między blokami. Należy zauważyć, że systemy notarialne są najbardziej elastyczne pod względem przypadków użycia interoperacyjności, ponieważ są w stanie działać z dowolną logiką w odpowiedzi na zdarzenia na dyskretnych łańcuchach bloków. Innym godnym uwagi zdecentralizowanym systemem notarialnym jest THORChain, który implementuje DEX dla rodzimych monet w kilku różnych sieciach, wykorzystując zestaw zachęcanych walidatorów jako notariuszy.

Po trzecie, Kontrakty hash z blokadą czasową (HTLC) to projekty inteligentnych kontraktów, które mogą ułatwić atomową wymianę między łańcuchami bloków bez dodatkowego zaufania ze strony uczestniczących dwóch łańcuchów bloków.

Tabela 1. Porównanie istniejących strategii krzyżowych

Słowa kluczowe to "atomowy"i " trustless". Atomowy oznacza, że transakcje (z udziałem dwóch stron) są albo zakończone, albo odwrócone (jakby nic się nie wydarzyło). Termin trustless oznacza, że w przypadku wymiany atomowej nie trzeba ufać stronie trzeciej. Działa to mniej więcej tak: dwie strony interaktywnie wdrażają i współpracują z inteligentnymi kontraktami po obu stronach. Główną ideą jest to, że strona A myśli o tajnym haszu, który jest używany przez obie strony, a strona A jest zmuszona ujawnić sekret, gdy żąda monety strony B, która może być następnie wykorzystana przez stronę B do żądania monety strony A. przykładami HTLC są most XCLAIM BTC/Ethereum lub BTC/Polkadot, a także Lightning Network w Bitcoin.

Po czwarte, łańcuchy bloków blockchain (BoB) to frameworki, które zapewniają dane, sieć, konsensus, zachęty i warstwy kontraktowe do budowania łańcuchów bloków zorientowanych na aplikacje, które współdziałają ze sobą. Należy zauważyć, że BoB nie rozwiązuje bezpośrednio współczesnych problemów ze zgodnością. Zamiast tego blockchain umożliwia tworzenie nowych interoperacyjnych łańcuchów bloków. Aby połączyć się z sieciami, musisz użyć pewnego mostu lub innego mechanizmu pokazanego powyżej. Godnymi uwagi przykładami BoB są Polkadot i Cosmos, zbudowane wokół Substrate i Tendermint jako mechanizmu konsensusu, a także xcmp i IBC jako protokoły komunikacji krzyżowej. Każda z tych kompleksowych strategii ma swoje mocne i słabe strony związane ze złożonością techniczną, założeniami zaufania, poziomem interoperacyjności i przypadkami użycia. Nasze rozważania są ograniczone i niekompletne, ale nadal możemy warunkowo sklasyfikować cechy tych strategii. Porównanie tych strategii przedstawiono w tabeli 1.

2. Powiązane rozwój interoperacyjności / interoperacyjności

W tej sekcji przedstawiamy niektóre z najnowszych i najbardziej odpowiednich projektów, pomysłów i trendów, aby nadać kontekst temu artykułowi i ZetaChain. W przypadku bardziej akademickich badań Cross-blockchain zalecamy zapoznanie się z kompleksowym badaniem [1].

3.1. Komunikacja krzyżowa

Podstawowym elementem każdej funkcjonalności Cross-blockchain jest możliwość wymiany danych i potwierdzenia w sieci B, że pewna transakcja miała miejsce w sieci A.

BTCRelay [5], Rainbow Bridge [6]: rozważ zadanie stworzenia jednokierunkowego mostu w Ethereum z Bitcoin. Jeśli użytkownik na Bitcoin wyśle 1 BTC na podany adres powierniczy, jeden owinięty BTC zostanie wydany na Ethereum. Aby to zrobić w bezpieczny sposób, inteligentny kontrakt na Ethereum może zweryfikować transakcję na Bitcoin i wydać odpowiednią monetę owiniętą BTC na Ethereum. Przykładem jest BTCRelay. Aby zweryfikować transakcję na Bitcoin za pomocą inteligentnego kontraktu Ethereum, wymagane jest, aby ktoś (usługa offchain) dostarczył transakcję z dowodem transakcji Merkle. Inteligentny kontrakt Ethereum weryfikuje dowód na podstawie łańcucha nagłówków bloków przechowywanych w inteligentnym kontrakcie. Ten inteligentny kontrakt jest zasadniczo lekkim klientem Bitcoin. Chociaż Siła dowodu jest nieco niższa niż w przypadku pełnego węzła (może być podatna na ataki typu 51%), podobny rodzaj mostu jest silny i niezawodny/niezawodny, choć dość kosztowny pod względem eksploatacji, ponieważ łańcuch nagłówków bloków musi być stale aktualizowany w inteligentnej umowie. Rainbow Bridge jest również dobrym przykładem mostu trustless, między Ethereum a NEAR.

Wormhole [20]: Wormhole jest również środkiem crosschain do przesyłania wiadomości, ale nie jest trustless. Opiera się raczej na grupie węzłów walidatorów, które potwierdzają Ważność przekazanej wiadomości. Rozważ to samo zadanie zbudowania jednokierunkowego mostu na Ethereum z Solany. Gdy użytkownik wysyła 1 SOL na określony adres powierniczy, jeden zapakowany SOL jest wydawany na Ethereum. Inteligentny kontrakt Ethereum nie weryfikuje transakcji na Solanie w celu wydania owiniętej monety; polega na tym, że zdecydowana większość wszystkich walidatorów Wormhole jest uczciwa i poprawna. Bezpieczeństwo Wormhole opiera się na fakcie, że zdecydowana większość walidatorów jest uczciwa. Wygląda na to, że Wormhole opiera się na reputacji walidatorów, aby zapewnić wiarygodność.

LayerZero [14]: LayerZero to warstwa komunikacyjna ułatwiająca przesyłanie wiadomości między sieciami. Zasadniczo jest to słabsza implementacja przekaźnika (patrz Wprowadzenie O Przekaźniku). Chodzi o to, aby umożliwić sieci B potwierdzenie, że dana transakcja lub zdarzenie miało miejsce w sieci A. Jeśli sieć B obsługuje typowe inteligentne kontrakty, w inteligentnej umowie można zaimplementować lekkiego klienta sieci A, umożliwiając weryfikację informacji o sieci a metodą trustless. Jednak nawet lekki klient może być kosztowny do uruchomienia w inteligentnej umowie, zarówno pod względem obliczeń, jak i przechowywania danych; na przykład BTCRelay na Ethereum wydaje się być wycofany. LayerZero obniża te koszty dzięki ultralekkiemu klientowi na inteligentnej umowie, który nie zgłasza ani nie przechowuje całego łańcucha nagłówków bloków (lub znacznej jego części). Layerzero polega raczej na zaufaniu do nagłówka bloku bez łańcucha nagłówka bloku, który można prześledzić do jakiegoś znanego zaufanego bloku. Kluczowym założeniem bezpieczeństwa LayerZero jest to, że dwie strony – Przekaźnik dostarczający dowód transakcji i Wyrocznia dostarczająca nagłówek bloku – nie zmawiają się. W naszej terminologii i klasyfikacji LayerZero nie jest trustless, ponieważ zaufanie jest niezbędne dla niezależności obu stron. Używamy bardziej rygorystycznej definicji "trustless", w której wiarygodność (niekoniecznie żywotność, odporność na cenzurę) wiadomości nie zależy od zaufania do niczego innego niż dwa zaangażowane łańcuchy bloków. Jeśli Repeater i wyrocznia spiskują, mogą oszukać LayerZero, tworząc nieprawidłowy nagłówek bloku (~2 ETH kosztuje obliczenie Pow nonce będącego nagrodą coinbase za każdy blok) i sprawić, że sieć B uwierzy, że nieistniejąca transakcja miała miejsce w sieci A. LayerZero zasadniczo przekazuje kwestię bezpieczeństwa do zewnętrznego repeatera i wyroczni.

IBC [11]: protokół IBC (Inter-Blockchain Communication) to protokół podobny do TCP/IP do komunikacji między suwerennymi łańcuchami bloków. IBC to kompleksowy protokół szyfrowania zorientowany na interoperacyjność, protokół z przechowywaniem stanu między łańcuchami bloków. W praktyce IBC zwykle wymaga szybkich mechanizmów, takich jak Tendermint, a blockchain musi obsługiwać protokół IBC, taki jak te utworzone za pomocą Cosmos SDK. Jeśli chodzi o łańcuchy bloków obsługujące IBC, mogą one nawiązywać połączenia, a poprzez te połączenia jeden łańcuch bloków może zweryfikować dowody w odniesieniu do Stanów konsensusu innego łańcucha bloków. Każdy blockchain obsługujący IBC musi uruchomić lekkiego klienta zdolnego do potwierdzania dowodów na innym blockchainie, aby mógł się połączyć. Moduł IBC musi również zarządzać produkcją dowodów, a oddzielny proces (Repeater) musi przekazywać pakiet i dowód do łańcucha kontrahenta. Wśród łańcuchów bloków obsługujących IBC można ustanowić bardzo ścisłą interakcję, na przykład transfer monet, swapy atomowe, zdecentralizowane wymiany krzyżowe, a nawet inteligentne kontrakty krzyżowe. Główną wadą IBC jest jego konieczność użycia, co wymaga wiele od innych łańcuchów bloków, a także może nie być możliwe w przypadku starszych łańcuchów bloków.

3.2. Crosschain transfer aktywów

Hop [10]: Hop to protokół przesyłania monet między rollupami a blokami pierwszego poziomu metodą bez zaufania. Domyślnie rollups są systemami izolowanymi, a transfer zasobów między rollupami a blockchainem pierwszego poziomu może być powolny i kosztowny. Przykładem są optymistyczne rollupy, które zwykle potrzebują tygodnia na wypłatę na L1; z drugiej strony rollupy zk mogą szybko potwierdzić zgodę na wypłatę, ale wymaga to wielu obliczeń, które są kosztowne na L1. Hop rozwiązuje problem przenoszenia monet między rollupami, tworząc mosty i monety mostowe, i używa AMM do wymiany monet bez bezpośredniego wysyłania monet. W szczególności Hop tworzy monety brydżowe dla każdego rollupu i można je przekazywać partiami, aby obniżyć wartość. Moneta Mostowa działa jako zasób pośredni przy przenoszeniu monet z Rollup a na Rollup B. Hop wykorzystuje już istniejące mosty Rollup do przeprowadzania transakcji między rollupami,więc nie potrzebuje oddzielnej usługi offchain.

Connext [4]: Connext To rozwiązanie do wymiany aktywów krzyżowych z minimalnym poziomem zaufania. Pomysł przypomina w pewnym sensie powszechne wymiany atomowe wykorzystujące Kontrakty Hash Time Locked Contracts (HTLC) w celu zapewnienia atomowości transakcji. Sieć routerów offchain służy do tworzenia rynku i mechanizmu cenowego typu AMM. Bezpieczeństwo funduszy użytkowników nie zależy od stron trzecich, tylko od wydajności systemu. W porównaniu do Hop, Connext korzysta z usług offchain i dlatego może łączyć nie tylko rollups w ramach jednego L1; w porównaniu z innymi rozwiązaniami Connext koncentruje się na konkretnych aplikacjach, a nie na szerokim zastosowaniu. Na przykład nie można go dostosować do wysyłania dowolnych wiadomości lub połączeń krzyżowych kontraktów.

Multichain [18]: Multichain (dawniej Anyswap) to most krzyżowy i sieć krzyżowa routerów. Sieć składa się z inteligentnych umów połączonych sieci i sieci Fusion. Kluczową technologią jest rozproszony klucz TSS między węzłami MPC, a także Dcrm (Distributed Control Rights Management) [7]. Schemat klucza TSS używany w Multichain-GG20 [9] jest taki sam jak w THORChain i ZetaChain. Wielostronna interakcja i przechowywanie DCRM to zdecentralizowana technika przechowywania. DCRM składa się z dwóch ważnych funkcji: Lock-In i Lock-Out. Dzięki Lock-In użytkownik blokuje zewnętrzny zasób (taki jak Bitcoin), a system generuje zawiniętą wersję Bitcoin należącą do właśnie wygenerowanego rozproszonego klucza prywatnego TSS. System generuje adres Bitcoin, a użytkownik przenosi Bitcoin na ten adres. Po zakończeniu transferu węzeł Fusion otrzymuje potwierdzenie w sieci Bitcoin i wydaje użytkownikowi zawiniętą wersję BTC w sieci Fusion. W ten sposób proces Lock-In jest finalizowany. Proces Lock-Out jest podobny, ale odbywa się w odwrotnej kolejności. Okazuje się, że Multichain jest mostem, który blokuje monety na połączonych sieciach i otacza je na blockchainie Fusion. Dlatego Multichain można uznać za scentralizowany most.

THORChain [16], Sifchain [19], Chainflip [17]: THORChain (wraz z podobnymi konkurentami, takimi jak Sifchain i Chainflip) to zdecentralizowana sieć płynności, która ułatwia emisję natywnych monet blockchain pierwszego poziomu w stylu AMM na różnych blockchainach, w tym Bitcoin, Litecoin, Bitcoin Cash, Ethereum. Warto zauważyć, że THORChain, ściśle mówiąc, nie jest mostem, ponieważ nie blokuje ani nie owija monet ani nie dokonuje transakcji na opakowanych monetach. THORChain to raczej blockchain specyficzny dla aplikacji, który obsługuje pulę, logikę i zarządzanie pamięcią masową w różnych sieciach do udostępniania. THORChain dystrybuuje klucz podpisu przy użyciu schematu GG20 TSS i ma własną implementację opartą na bibliotece Binance TSS. ZetaChain jest częściowo inspirowany projektem THORChain i może być postrzegany jako prostsza i bardziej uogólniona platforma, która pozwala nie tylko na zamianę, ale także na tworzenie typowych inteligentnych kontraktów, które zapewniają łatwość tworzenia dowolnych aplikacji crosschain. Na przykład programiści mogą zaimplementować funkcjonalność podobną do THORChain w postaci inteligentnej umowy na ZetaChain.

Synapse [15]: zgodnie z otwartymi źródłami informacji zakłada się, że Synapse jest systemem wymiany krzyżowej opartym na zewnętrznym zweryfikowanym zestawie walidatorów. Synapse wydaje inteligentne kontrakty AMM w sieciach zewnętrznych, a także niektóre kompozytowe stablecoiny jako aktywa pośrednie dla crosschain. Aby przenieść pośrednie stablecoiny między sieciami, stosuje się strategię spalania i bicia. Szczegółowe informacje na temat działania mechanizmu walidatora w momencie pisania tego dokumentu nie są dostępne.

3.3. Crosschain smart contract

Sieć Quant [21]: pod względem funkcjonalności sieć Quant i jej produkt Overledger [21] są najbliżej ZetaChain. Sieć Quant to scentralizowana usługa, która zapewnia ustandaryzowany dostęp do połączonych publicznych lub prywatnych łańcuchów bloków opartych na usługach internetowych lub regionalnych istniejących baz danych. Obsługiwana jest ogólna programowalność wyzwalana zdarzeniami na tych łańcuchach bloków (transakcja na / z określonego adresu, inteligentna interakcja kontraktowa, zdarzenia, zmiany stanu itp.), przy użyciu popularnych języków i frameworków, takich jak Javascript, Java, Python itp. ZetaChain dąży do osiągnięcia podobnej ogólnej programowalności, ale poprzez stymulowany publiczny blockchain, przy znacznie mniejszych założeniach dotyczących zaufania, większej przejrzystości, pełnej weryfikowalności i możliwości audytu.

ICP /Chain-Key [2]: internet computer Protocol (ICP) oferuje interoperacyjność z siecią Bitcoin za pomocą technologii Chain-Key, która jest podobna do schematu rozproszonej sygnatury progowej. Dzięki Chain Key protokół ICP może w zasadzie przechowywać fundusze w sieci Bitcoin. Nie jest jasne, w jaki sposób ICP nadzoruje sieć Bitcoin i jak ich platforma inteligentnych kontraktów współdziała z zewnętrznymi łańcuchami bloków.

HyperService [12]: HyperService to niezależna od sieci platforma inteligentnych kontraktów typu cross – chain. Składa się on z dwóch elementów: języka wysokiego poziomu HSL do tworzenia crosschain dApp i poziomu wykonania, który zapewnia transakcji finansowych atomowych.

3.4. Blockchain Blockchainow (BoB)

Najbardziej znanymi Bobami są Cosmos i Polkadot. BoB to zazwyczaj frameworki, które mają na celu ścisłe współdziałanie łańcuchów bloków zaprojektowanych dla określonych aplikacji. Na przykład Polkadot przewiduje rayleichein rządzący całym konsensusem i parachainami, które mogą być różnymi łańcuchami bloków o różnych funkcjach przejścia stanu. Parachaines są ściśle ze sobą powiązane i mogą łatwo komunikować się ze sobą za pośrednictwem sieci przekaźnikowej.

Natomiast ekosystem Cosmos nie ma wspólnego konsensusu, więc interakcje między sieciami Cosmos są mniej bliskie. Każda sieć Cosmos jest suwerenna i ma swój własny wybór konsensusu (zwykle oparty na Tendermint). Ekosystem Cosmos opiera się na protokole IBC (patrz sekcja 3.1) i specjalnych łańcuchach bloków zwanych hubami, aby ułatwić crosschain transferu aktywów, a nawet crosschain inteligentnych kontraktów.

Aby umożliwić interoperacyjność w Cosmos lub Polkadot, łańcuchy bloków zwykle muszą być zbudowane na pewnym jednolitym fundamencie. Starsze łańcuchy bloków lub nowe łańcuchy bloków z własnym konsensusem, nie mogą być częścią BoB.

4. Architektura Blockchain ZetaChain

4.1. Adnotacja

Na najwyższym poziomie ZetaChain to Proof of Stake (PoS) blockchain, który jest zbudowany wokół Cosmos SDK i silnika konsensusu Tendermint PBFT. W rezultacie ZetaChain ma szybki okres przetwarzania bloku (~5 s) i natychmiastową kompletność (nie jest wymagane potwierdzenie, nie jest dozwolona reorganizacja).

Mechanizm konsensusu Tendermint PBFT wykazuje skalowanie do ~300 działających węzłów, a przy przyszłych ulepszeniach z sygnaturami progowymi BLS liczba ta może wzrosnąć do ponad 1000. Przepustowość transakcji na ZetaChain może potencjalnie osiągnąć 100 TPS dzięki wydajności protokołu konsensusu Tendermint.

Architektura ZetaChain składa się z rozproszonej sieci GCD, często nazywanej walidatorami. Walidatory działają jako zdecentralizowani obserwatorzy, którzy mogą osiągnąć konsensus w sprawie odpowiednich stanów i zdarzeń zewnętrznych, a także mogą aktualizować stan sieci zewnętrznej za pomocą podpisu klucza rozproszonego.

ZetaChain realizuje te funkcje w sposób zdecentralizowany (bez pojedynczego punktu awarii, bez zaufania, publicznie dostępny), przejrzysty i wydajny. Każdy walidator zawiera ZetaCore i ZetaClient. ZetaCore jest odpowiedzialny za produkcję blockchain i utrzymanie replikowanej maszyny stanu. ZetaClient jest odpowiedzialny za monitorowanie zdarzeń w sieciach zewnętrznych i podpisywanie transakcji wychodzących. ZetaCore i ZetaClient są połączone i zarządzane przez operatorów węzłów. Każdy może zostać operatorem węzła, aby wziąć udział w procedurze walidacji, pod warunkiem, że zastawiono wystarczającą ilość aktywów w stakingu. Cm. Rysunek 2 do wizualnej demonstracji.

Walidatory: ZetaChain używa protokołu konsensusu Tendermint, który jest częściowo synchronicznym bizantyjskim algorytmem konsensusu z odpornością na uszkodzenia (BFT). Każdy węzeł walidator może głosować na propozycje bloku z prawem głosu proporcjonalnym do liczby zastawionych monet (ZETA). Każdy walidator jest zdefiniowany przez swój publiczny klucz konsensusu. Walidatorzy muszą być stale Online, gotowi do udziału w stale rosnącej produkcji bloków. W zamian za swoje usługi walidatorzy otrzymują nagrody blokowe i ewentualnie inne nagrody, takie jak opłaty za gaz lub opłaty manipulacyjne proporcjonalne do zainwestowanego udziału monet w staking.

Obserwatorzy: innym ważnym uczestnikiem konsensusu ZetaChain są obserwatorzy, którzy osiągają konsensus w sprawie zdarzeń zewnętrznych i stanów sieci. Obserwatorzy monitorują połączone sieci pod kątem określonych odpowiednich transakcji/zdarzeń / Stanów pod określonymi adresami za pośrednictwem pełnych węzłów sieci zewnętrznych. Obserwatorów można podzielić na dwie role: sekwencer i weryfikator (kontroler). Sekwencer identyfikuje odpowiednie zewnętrzne transakcje/zdarzenia / stany i raportuje weryfikatorom; weryfikatorzy weryfikują i głosują na ZetaChain w celu osiągnięcia konsensusu. System wymaga co najmniej jednego sekwencera i wielu weryfikatorów. Sekwencer nie musi być wiarygodny, ale co najmniej jeden uczciwy sekwencer jest niezbędny, aby zapewnić stabilność systemu.

Sygnatariusze( Singers): ZetaChain wspólnie przechowuje standardowe klucze ECDSA / EdDSA w celu uwierzytelnionej komunikacji z sieciami zewnętrznymi. Klucze są dzielone między wielu sygnatariuszy w taki sposób, że tylko zdecydowana większość z nich może podpisać w imieniu ZetaChain. Ważne jest, aby upewnić się, że w dowolnym momencie żaden podmiot lub mała grupa GCD nie będzie w stanie podpisać wiadomości w imieniu ZetaChain na zewnętrznych łańcuchach. System ZetaChain wykorzystuje stopy obligacji i zachęty dodatnie/ujemne w celu zapewnienia bezpieczeństwa ekonomicznego.

W praktyce wszystkie powyższe role (z wyjątkiem sekwencera) są skoncentrowane w jednym węźle komputerowym współużytkującym oprogramowanie i poświadczenia, takie jak klucze walidatora i stopy obligacji, a także powiązane nagrody/slashing. Planuje się, że z czasem ZetaChain przejdzie z modelu Proof-of-Authority do w pełni delegowanego modelu Proof-of-Stake (DPoS) i stopniowo przekaże zarządzanie blockchainem posiadaczom monet ZETA poprzez głosowanie Onchain.

4.2. Obserwator

Obserwatorzy mają za zadanie monitorować sieci zewnętrzne pod kątem odpowiednich transakcji. Obserwatorzy stale sprawdzają zdarzenia sieci zewnętrznej odpowiedzialne za spalanie i bicie rodzimej monety (ZETA), inteligentne wiadomości i połączenia kontraktowe oraz inne zdarzenia rejestrowane przez aplikacje na ZetaChain. Każdy obserwator prowadzi własną niezależną obserwację za pomocą swojego pełnoprawnego węzła sieci zewnętrznych, a przed finalizacją wszystkie obserwacje muszą osiągnąć konsensus na ZetaChain. Po sfinalizowaniu zdarzeń automatycznie uruchamiane jest wykonanie logiki ZetaChain, którą można zdefiniować jako natywny moduł Cosmos SDK lub natywny inteligentny kontrakt ZetaChain.

Istnieją dwa tryby nadzoru: aktywny i pasywny. Aktywny tryb nadzoru zapewnia ciągłe skanowanie zewnętrznych łańcuchów bloków w poszukiwaniu odpowiednich transakcji/zdarzeń / Stanów. Tryb pasywny opiera się na sekwencerze (lub ich małym zestawie), który skanuje i zgłasza transakcje/zdarzenia wraz z dowodem Merkle. Obserwatorzy weryfikują dowody i osiągają konsensus w sprawie weryfikacji Onchain. Zaletą trybu aktywnego jest to, że działa on w czasie rzeczywistym i jest odporny na cenzurę dzięki decentralizacji, ale koszt każdego węzła jest wysoki, ponieważ skanowanie wymaga pełnych węzłów (łańcuchów zewnętrznych). Korzystanie z trybu pasywnego jest znacznie mniej kosztowne, ponieważ weryfikację można wykonać za pomocą lekkiego klienta. Tylko jeden lub więcej sekwencerów potrzebuje dostępu do pełnego węzła, co jest znacznie tańsze i znacznie ułatwia skalowanie do wielu sieci zewnętrznych i zwiększenie liczby węzłów. Wadą trybu pasywnego jest to, że znaczenie przychodzących obserwacji łańcucha zewnętrznego zależy, a także jest cenzurowane przez sekwencer. Jest to ta sama sytuacja, co w optymistycznych rollupach, gdzie przeżywalność Rollup zależy od sekwencera. Aby złagodzić tę sytuację, każdy może zostać sekwencerem, jeśli chce, a sekwencer można stymulować poprzez stworzenie konkurencyjnego rynku. W szczególności dApps są zainteresowani działaniem sekwencera. Kolejną zaletą pasywnego trybu obserwacji z sekwencerem jest to, że dApps kontrolują kolejność obserwacji. Ze względu na wydajność tryb aktywny nie zapewnia uporządkowania obserwacji. Ale jeśli kolejność obserwacji jest ważna dla dApp, może uruchomić własny sekwencer w trybie obserwacji synchronicznej (tj.

4.3. Wielostronny system sygnatury progowej

ZetaChain musi posiadać konto w sieciach zewnętrznych, aby przechowywać środki w tej sieci (zarządzać pulą, magazynem itp.) i wykonywać uprzywilejowane działania (palić, mintować, przenosić środki z magazynu itp.). Jest to konieczne w przypadku crosschain inteligentnych kontraktów ogólnego przeznaczenia, ponieważ główną cechą inteligentnych kontraktów jest autonomiczne zarządzanie aktywami. Na przykład w Ethereum inteligentna umowa ma adres i może przechowywać dowolny zasób jako zewnętrzny adres właściciela (EOA, zwykłe konto użytkownika). Dzięki tej możliwości można tworzyć wiele potężnych aplikacji, takich jak pule AMM, pule pożyczek/pożyczek itp., w których użytkownicy przechowują swoje aktywa i pozwalają inteligentnym umowom zarządzać nimi zgodnie z wcześniej ustalonymi zasadami inteligentnych umów. Aby mieć konto, ZetaChain wymaga klucza prywatnego. Aby uniknąć pojedynczego punktu awarii (pojedyncze miejsce przechowywania klucza prywatnego, pojedynczy dealer podczas generowania klucza), ZetaChain potrzebuje rozproszonego systemu podpisywania progowego.

Jest to również konieczne do obsługi sieci bez inteligentnych kontraktów, takich jak Bitcoin, Dogecoin lub platformy inteligentnych kontraktów, które wymagają kosztownej weryfikacji multisig. Aby uniknąć pojedynczego punktu awarii, ZetaChain wykorzystuje najnowocześniejszy wielostronny system sygnatury progowej (TSS) [8, 9], oparty na implementacji THORChain TSS [16] i Binance tsslib [13]. W odniesieniu do świata zewnętrznego walidatorzy ZetaChain wspólnie posiadają pojedynczy klucz prywatny ECDSA/EdDSA, klucz publiczny i adres oraz podpis podpisany przez ZetaChain, który można łatwo i skutecznie zweryfikować za pomocą standardowej procedury weryfikacji ECDSA/EdDSA przez połączone łańcuchy bloków. Wewnętrznie klucz prywatny jest generowany bez dealera, a klucz prywatny jest dystrybuowany do wszystkich walidatorów. W żadnym wypadku nie można pozwolić, aby jeden lub niewielka liczba walidatorów nie mogła używać klucza prywatnego i podpisywać wiadomości w imieniu całej sieci. Generowanie kluczy i procedury podpisywania są wykonywane za pomocą obliczeń wielostronnych (MPC), które nie ujawniają tajemnicy żadnego uczestniczącego węzła. Ponieważ ZetaChain może przechowywać klucz i adres TSS, ZetaChain może obsługiwać inteligentne kontrakty, które mogą zarządzać własnymi magazynami / pulami w połączonych sieciach, w tym Bitcoin. To znacznie rozszerza możliwości inteligentnych kontraktów w sieci Bitcoin i być może w innych łańcuchach bloków, które nie używają inteligentnych kontraktów. TSS używany przez ZetaChain zapewnia wydajność i wygodę gorącego portfela z poziomem bezpieczeństwa zimnego portfela. Ilustracja znajduje się na rysunku 3.

W przypadku zdecentralizowanego podpisu ZetaChain wykorzystuje wielostronny 𝑡, 𝑛 - progowy system ECDSA oparty na [8]. Ten system podpisywania progowego bez lidera (TSS) wykonuje generowanie kluczy i podpisywanie w sposób rozproszony. Oznacza to, że żaden podmiot weryfikujący ani podmiot zewnętrzny nie ma dostępu do pełnego klucza prywatnego w dowolnym momencie i nie ma wycieku informacji prywatnych podczas generowania lub podpisywania klucza. Aby zwiększyć wydajność, ZetaChain wykorzystuje podpisywanie wsadowe i równoległe w celu optymalizacji wydajności sygnatariuszy.

4.4. Crosschain inteligentny kontrakt i maszyna wirtualna Zeta (ZVM)

Inteligentne kontrakty ZetaChain zostały zaprojektowane tak, aby umożliwić bezpośrednią interakcję ze Stanami w sieciach zewnętrznych.

Istnieją dwa kluczowe problemy przy opracowywaniu platformy crosschain inteligentnych kontraktów ogólnego przeznaczenia: asynchroniczność i model programowania.

Pierwszym problemem jest to, że komunikacja między sieciami jest koniecznie realizowana poprzez przekazywanie wiadomości i jest z natury asynchroniczna między heterogenicznymi sieciami. Oznacza to, że w przeciwieństwie do inteligentnych kontraktów na jednym obwodzie (takich jak EVM), żądanie lub zmiana stanu innego obwodu jest asynchroniczne. Eliminuje to zwykłe wygodne synchroniczne wywołania funkcji z inteligentnych kontraktów krzyżowych. Dlatego model programowania inteligentnego kontraktu krzyżowego najlepiej traktować jako automat stanu końcowego, w którym zmiana stanu jest wyzwalana przez komunikaty (obserwacje) z sieci zewnętrznych.

Drugi to model programowania. Istnieją dwa główne paradygmaty inteligentnych kontraktów na blockchain: oparte na UTXO i oparte na fakturze. Bitcoin, Ergo i Cardano reprezentują pierwszą, A Ethereum (EVM) drugą. Ogólnie rzecz biorąc, pod względem ekspresji, EVM jest na wyższym poziomie, a skrypty oparte na UTXO na niższym poziomie. Jednak inteligentne kontrakty oparte na UTXO są zwykle prostsze, bardziej niezawodne i mają mniejszą powierzchnię ataku ze względu na ograniczenia UTXO. Na przykład w skryptach Bitcoin bardzo rzadko występują niezamierzone błędy bezpieczeństwa, a inteligentne kontrakty Ethereum są znane z wielomilionowych exploitów (ataki re-entrancy itp.).

Kluczową różnicą między inteligentnymi modelami kontraktowymi opartymi na UTXO a inteligentnymi modelami kontraktowymi opartymi na kontach jest obecność wspólnego stanu globalnego. Inteligentne kontrakty UTXO są powiązane z transakcjami i nie mają dostępu do globalnego, zmiennego stanu współdzielonego, a model oparty na kontach pozostawia praktycznie wszystkie stany współdzielone i zmienne. To ograniczenie modelu UTXO utrudnia lub uniemożliwia korzystanie z niektórych kompleksowych dApps (takich jak AMM, ICO itp.), ale znacznie upraszcza rzeczy. Skrypt Bitcoin nie może obsługiwać popularnych dApps, takich jak AMM DEX.

Powstaje zatem pytanie: czy możliwe jest ulepszenie modelu UTXO tak, aby był wystarczająco elastyczny, aby obsługiwać popularne dApp, takie jak AMM DEX takie jak Uniswap, zachowując jednocześnie prostotę i bezpieczeństwo? Ergo stało się innowatorem rozszerzonego modelu UTXO (eUTXO), a Cardano poszło w jego ślady. W Cardano i innych platformach EUTXO DEXs AMM można zaimplementować do pewnego stopnia, przechowując stan pary AMM w UTXO. Istnieje jednak poważny problem z tym podejściem: przeciążenie UTXO, w wyniku którego tylko jedna transakcja może zastąpić blok, ponieważ tylko jedna transakcja może wydać ten UTXO i utworzyć nowy w bloku. Konkurencyjne transakcje próbujące wydać to samo UTXO zakończą się niepowodzeniem i będą musiały czekać na jeden blok i wydać nowe UTXO. To nie jest optymalne.

W tej pracy badamy podejście hybrydowe oparte na UTXO i kontach, wykorzystując mocne strony każdego z nich. Zasadniczo używamy UTXO do reprezentowania i śledzenia zewnętrznych transakcji blockchain, a inteligentne kontrakty oparte na kontach służą do logiki i zarządzania wspólnymi Stanami globalnymi. Obserwowane zdarzenia zewnętrzne traktujemy jako syntetyczne UTXO. UTXO zawiera informacje o liczbie monet ZETA (spalonych), liczbie innych monet (opcjonalnie, na przykład BTC w sieci Bitcoin, w której emisja monety ZETA nie jest możliwa) oraz skrypt msg (przybliżony odpowiednik wiadomości lub wywołania funkcji w Ethereum). Inteligentny kontrakt na ZetaChain uruchamia msg i generuje Event, za pomocą którego próbuje wydać UTXO na ZetaChain. To zdarzenie jest następnie odbierane przez sygnatariuszy ZetaClient i podpisują transakcję w sieci zewnętrznej. Maszyna wirtualna ZetaChain i ZetaClient sprawdzą pewne niezmienniki, z których jednym jest to, że ZETA na wyjściu musi być równa ZETA na wejściu UTXO. Po potwierdzeniu i zaobserwowaniu transakcji wychodzącej UTXO jest oznaczane jako wydane i wykluczone z automatu stanu. Jeśli transakcja wychodząca nie powiedzie się (za mało gazu itp.), UTXO jest oznaczane jako zwrot, a zwrot ZETA i/lub odpowiednie monety są zwracane do oryginalnej sieci. Po potwierdzeniu zwrotu UTXO jest wykluczone z maszyny stanu. Dla jasności patrz rysunek 4.

Używamy syntetycznego modelu UTXO ze względu na jego odpowiedzialność, prostotę i skalowalność, omijając kluczowe ograniczenie UTXO polegające na trudności w pisaniu skryptów i niezdarności w niektórych ważnych aplikacjach (Jeden TX na blok w AMM).

4.5. Transakcja, Subtransakcja, Atomowość

Stosując model UTXO, aplikacja musi zapewnić niepodzielność transakcji, ponieważ transakcja UTXO nie może zmienić stanu globalnego i nie ma możliwości częściowego wykonania. W przypadku modelu opartego na fakturze maszyna wirtualna musi zapewniać niepodzielność transakcji. W kontekście Cross-blockchain zmiana stanu na zewnętrznych łańcuchach bloków jest asynchroniczna; ponadto zazwyczaj trudno jest zwrócić częściowo wykonaną transakcję, jeśli zostanie ona zarejestrowana w zewnętrznym łańcuchu bloków. Z tych powodów trudno byłoby utrzymać platformę inteligentnych kontraktów opartą wyłącznie na kontach, taką jak EVM przy użyciu Cross-blockchain.

Dlatego nałożyliśmy pewne ograniczenia na naszą maszynę wirtualną inteligentnych kontraktów, aby wspierać atomowość transakcji w łańcuchu bloków i zapewnić bezpieczeństwo. Kluczowe ograniczenia to:

Każdy UTXO może wygenerować tylko jedno zdarzenie wyjścia. Zasadniczo tylko jeden łańcuch zewnętrzny może zaktualizować swój stan w odpowiedzi na UTXO. Ponieważ transakcje wychodzące w łańcuchach zewnętrznych są zwykle nieodwracalne (np. wysłane tokeny nie podlegają zwrotowi), wiele zdarzeń wyjściowych sprawi, że zwrócenie całej transakcji będzie niepraktyczne.
Wszystkie transfery wartości krzyżowych muszą być dokonywane w ZETA, ponieważ tylko Token ZETA jest kontrolowany przez system ZetaChain i może zostać odwrócony (zwrócony), jeśli transakcja Krzyżowa nie powiedzie się.

Niektóre najbardziej złożone inteligentne kontrakty, które mają wiele operacji wyjściowych (na przykład muszą być wysyłane do wielu sieci), najlepiej napisać jako transakcje wieloetapowe. Aplikacja musi samodzielnie obsługiwać atomowość transakcji wieloetapowej; więcej informacji można znaleźć w tym artykule [3].

5. Token ZETA

Token ZETA służy do płacenia za gaz na inteligentnych kontaktach ZetaChain i służy do zapewnienia ochrony POS blockchain technologii ZetaChain poprzez wiązanie/staking / slashing. ZETA służy również jako podstawa transferów krzyżowych, swapów, przesyłania wiadomości i bezpieczeństwa ZetaChain. ZETA to jeden z pierwszych tokenów wieloczęściowych wydawanych w wielu sieciach i warstwach.

Użytkownicy mogą bezpośrednio przenosić Token ZETA z dowolnej sieci a do sieci B. mechanizm jest jednokierunkowym powiązaniem(tj.

Używamy naszego własnego tokena ZETA do oznaczania wartości krzyżowej, ponieważ:

W przeciwieństwie do bardziej powszechnego wiązania dwukierunkowego, nie ma "zawijania", a zatem nie ma wielokrotnego odtwarzania tego samego instrumentu bazowego.
Jedyną (natywną) wartością, która może być przekazywana przez łańcuch krzyżowy, jest Token ZETA, co znacznie zmniejsza wektor ataku, dzięki czemu audyt jest bardziej przejrzysty, a co za tym idzie bezpieczniejszy. Na przykład, możemy sprawdzić całkowity zakres oferty na stronie umowy Mint.
Użytkownicy mogą płacić tokenem Zeta crosschain za usługi świadczone przez ZetaChain i gaz w sieci odbiorczej w jednym kroku / płatności.

6. Przykłady zastosowania i zastosowania

W tej sekcji omówimy kilka przykładów zastosowania ZetaChain. Te przykłady nie są wyczerpujące, ponieważ inteligentne kontrakty ogólnego przeznaczenia i funkcje ZetaChain stanowią podstawę do niemal nieograniczonego poszukiwania kreatywnych rozwiązań w zakresie tworzenia aplikacji omnichin.

6.1. Crosschain przesyłanie wiadomości z wartością / danymi

Możliwość niezawodnego i bezpiecznego przesyłania wiadomości z jednej sieci do drugiej umożliwia tworzenie potężnych aplikacji crosschain, nawet bez korzystania z natywnych inteligentnych kontraktów ZetaChain. Przekazywanie wiadomości składa się z punktów końcowych komunikacji we wszystkich sieciach zewnętrznych. Walidatory ZetaChain służą jako bizantyjski notariat odporny na awarie, potwierdzający Ważność zdarzeń / transakcji w sieci a dla sieci B, a także służą jako przekaźnik komunikatów. Inteligentna umowa sieci B musi tylko umieścić na białej liście adres ZetaChain TSS, aby potwierdzić, że ZetaChain sprawdził zdarzenia w sieci A. Pozwala to na warunkowe wykorzystanie umów w sieci B w zależności od transakcji / wiadomości z sieci A, co otwiera szeroką gamę aplikacji Cross-Chain, takich jak AMM DEXs, NFT itp. (patrz szczegóły poniżej). Ważną i wygodną cechą systemu ZetaChain jest to, że do wiadomości można powiązać wartość w postaci monety ZETA (wbudowany łańcuch krzyżowy), co znacznie ułatwia wdrażanie aplikacji wymagających przenoszenia wartości krzyżowych. Usługa przesyłania wiadomości ZetaChain składa się głównie z umów front-end w połączonych sieciach. Aby uzyskać dostęp do usługi przesyłania wiadomości, aplikacja musi wdrożyć inteligentną umowę w sieci źródłowej i sieci odbiorczej. W oryginalnej sieci wysyłający inteligentny kontrakt może wywołać funkcję zeta.MessageSend z następującymi informacjami: adres nadawcy, identyfikator sieci docelowej, adres umowy docelowej, moneta ZETA do transferu, limit gazu w sieci odbiorczej, wiadomość umowy dla transakcji docelowej (binarne lub JSON zakodowane informacje) i indeks transakcji. Umowa wysyłająca musi zaimplementować funkcję zetaMessageRevert wywoływaną przez ZetaChain w przypadku niepowodzenia wysłania wiadomości do odbiorcy i przetworzenia transakcji (np. z powodu braku gazu, braku środków, nieprawidłowej wiadomości itp.). Jeśli się nie powiedzie, System ZetaChain zwróci monety ZETA nadawcy (minus opłata za gaz) i wywoła funkcję zetaMessageRevert w umowie dApp, która ma na celu odwrócenie działań aplikacji (takich jak odblokowanie zablokowanego NFT). W sieci docelowej umowa dApp musi zaimplementować funkcję zetaMessageReceive, która przyjmuje te same parametry, co wysyłająca zeta.MessageSend, i może wykonać logikę aplikacji (np gonić NFT, który został zablokowany na oryginalnej sieci). Umowa odbiorcy zaakceptuje również tokeny ZETA (pomniejszone o opłatę za gaz), które mogą być wykorzystane jako krzyżowy transfer wartości. Przekazywanie wiadomości umożliwia realizację wielu różnych krytycznych aplikacji, takich jak crosschain DEX, pożyczki/pożyczki, MULTICHAIN NFT itp.


6.2. Aktywa zewnętrzne zarządzane przez inteligentny kontrakt

Potężną cechą inteligentnych kontraktów jest możliwość przechowywania dowolnych aktywów, które może przechowywać zwykłe konto, oraz uzyskiwania i wydawania tych aktywów zgodnie z zaprogramowaną logiką. Jednak tak ważne łańcuchy bloków, jak Bitcoin, Dogecoin, Monero itp., nie mają wystarczającej zdolności inteligentnych kontraktów do obsługi tak przydatnych aplikacji, jak giełdy AMM, rynki pożyczek zabezpieczonych / pożyczek z pulami itp. Crosschain inteligentne kontrakty ZetaChain mogą bezpośrednio przechowywać i wykorzystywać zasoby sieci zewnętrznych, umożliwiając zarządzanie bitcoinem na ZetaChain za pomocą inteligentnych kontraktów, a także innych aktywów, takich jak ETH, ERC20, Algorand ASAs itp.Ponadto dzięki inteligentnym kontraktom ZetaChain i przesyłaniu wiadomości, crosschain dApps może łatwo łączyć się z inteligentnymi kontraktami w różnych sieciach, a inteligentne kontrakty ZetaChain zarządzają natywnymi sklepami Bitcoin.

Przyjrzyjmy się bliżej przykładowi. Mechanizm korzystania z inteligentnych kontraktów ZetaChain do zarządzania BTC w Bitcoin jest następujący. Po zainicjowaniu inteligentna umowa prosi KeyGen o wygenerowanie klucza TSS, który działa jako adres repozytorium Bitcoin. ZetaClient monitoruje adres TSS i po wykryciu przychodzących transakcji w magazynie TSS parsuje dane transakcji Bitcoin w parametrze OP_RETURN i wywołuje funkcję zetaProcess z danymi parsowanymi na inteligentnej umowie. Inteligentna umowa wykonuje odpowiednie czynności (np. przelanie środków na określone konta, wysłanie innego składnika aktywów zgodnie z cenami AMM itp.). Aby wysłać Bitcoin z inteligentnej umowy, inteligentna umowa emituje określone zdarzenie, które ZetaClient odbiera, podpisuje i przesyła do sieci Bitcoin. Inteligentna umowa musi również obsługiwać funkcję zetaExternalTxConfirm, która będzie zaangażowana w wydobywanie wychodzącej zewnętrznej transakcji sieciowej.

6.3. Crosschain AMM Exchange

ZetaChain umożliwia wdrożenie prawdziwych zdecentralizowanych giełd AMM zbudowanych na inteligentnych kontraktach. Istnieją dwa sposoby konstruowania AMM DEX na ZetaChain: przekazywanie wiadomości i wbudowane inteligentne kontrakty ZetaChain. Kluczowa różnica polega na tym, czy pula jest zarządzana przez zewnętrzną inteligentną umowę, czy przez własną inteligentną umowę ZetaChain. Podczas przesyłania wiadomości pula zasobów jest zarządzana przez inteligentne kontrakty w sieciach zewnętrznych; w podejściu opartym na inteligentnych kontraktach ZetaChain Pula jest zarządzana przez inteligentne kontrakty ZetaChain za pomocą konta TSS.

Mówiąc dokładniej, podczas przesyłania wiadomości zarządzanie aktywami odbywa się za pomocą inteligentnych kontraktów w sieciach zewnętrznych w połączeniu z monetą ZETA. Aby wymienić zasób X w sieci a na zasób Y w sieci B, możesz wykonać następujące czynności: 1) wymień walutę X na ZETA w sieci a za pomocą zarządzanej puli inteligentnych kontraktów i AMM; 2) Przekaż wiadomość wraz z monetą ZETA z sieci a do sieci B; 3) sieć B za pomocą zarządzanej puli inteligentnych kontraktów (y/ZETA) wymienia monetę ZETA Na Y.

Jeśli korzystasz z wbudowanych inteligentnych kontraktów ZetaChain, konto TSS przechowuje wszystkie główne zasoby sieci zewnętrznych, którymi mogą zarządzać bezpośrednio Kontrakty ZetaChain. Inteligentny kontrakt ZetaChain implementuje logikę AMM, która określa ceny, swapy, dostawców płynności i opłaty prowizyjne.

W przypadku metody przesyłania komunikatów stan i logika dApp są dzielone między wszystkie sieci zewnętrzne; ZetaChain działa tylko jako weryfikator i przekaźnik komunikatów. Zaletą tego podejścia jest to, że istniejąca infrastruktura może być ponownie wykorzystana (na przykład w sieciach EVM Kontrakty Uniswap mogą być ponownie wykorzystane do zarządzania pulą X/ZETA), a dApp musi jedynie zarządzać Komunikatem krzyżowym w celu wykonania warunkowego wykonania sekwencyjnego. Z drugiej strony, stosując podejście" natywne " ZetaChain, inteligentna umowa, logika i stan dApp działają na ZetaChain, jednej platformie ze zunifikowanym interfejsem do interakcji z sieciami zewnętrznymi. Zalety tego podejścia to łatwość projektowania dApp (minimalny wysiłek przy wdrażaniu nowych sieci) i elastyczność (nie ogranicza się już do specyfiki sieci i przesyłania wiadomości w interakcjach krzyżowych). Dodatkowe korzyści to minimalna zależność od inteligentnych kontraktów w sieciach zewnętrznych, więc skomplikowana logika może działać nie tylko w inteligentnych sieciach kontraktowych, ale także w sieciach UTXO, takich jak Bitcoin.

6.4. Multichain NFT

Non-fungible Token (NFT) to rodząca się koncepcja, która znalazła zastosowanie w kolekcjonowaniu dzieł sztuki, grach, biletach na wydarzenia i wielu innych dziedzinach. W przeciwieństwie do wymiennych tokenów, takich jak ETH, BTC lub tokeny ERC-20, każdy NFT jest wyjątkowy i niepowtarzalny. Na przykład w Ethereum Najpopularniejszymi standardami NFT są ERC-721 i ERC-1155. W ERC-721 NFT jest krotką (contractAddress, tokenId). Inteligentna umowa wydawana przez NFT prowadzi rejestr posiadaczy każdego NFT na karcie właściciel= > tokenId. NFT można przenieść z jednego właściciela na drugiego, a do każdego właściciela NFT można zwrócić się z prośbą.

W świecie MULTICHEIN NFT, gdzie ta sama kolekcja jest wydawana na wielu sieciach (takich jak Ethereum, Flow, Solana), a NFT można przetłumaczyć na inne sieci, problemem w modelu mostu jest ustalenie pochodzenia danego NFT. Kto jest obecnie właścicielem danego NFT, ponieważ NFT może znajdować się w jednej z wielu sieci i gdzie znajdują się zapisy transakcji przelewowych?

Problem ten można rozwiązać za pomocą inteligentnych kontraktów ZetaChain, które ułatwiają crosschain przeniesienie własności do NFT. To może działać w następujący sposób. W każdej sieci zostanie utworzona inteligentna umowa Escrow zarządzana przez klucz ZetaChain. Przeniesienie NFT do innej sieci wymaga przeniesienia NFT na depozyt, uiszczenia opłaty transakcyjnej w monetach ZETA, a ZetaChain wybije NFT w sieci odbiorcy. Inteligentna umowa na ZetaChain śledzi właściciela i blockchain, gdzie NFT znajduje się w danym momencie. Do tej pory istniały eksperymentalne mosty krzyżowe NFT, ale obecność zdecentralizowanego centrum emisji pozwala NFT być pierwotnie krzyżowym, co upraszcza i sprawia, że proces tworzenia, weryfikacji i wymiany NFT krzyżowego jest opłacalny.

7. Bezpieczeństwo

7.1. Decentralizacja

ZetaChain został zaprojektowany tak, aby nie miał jednego punktu awarii, głównie poprzez decentralizację. ZetaChain-zdecentralizowana architektonicznie i infrastrukturalnie. Decentralizacja to skuteczny sposób na zapewnienie odporności, przeciwdziałanie atakom i zmowom. Węzły ZetaChain są zarządzane przez osoby lub organizacje bez pozwolenia. Brak pojedynczego punktu awarii w węźle ZetaChain (ZetaCore, ZetaClient) nie wpływa na działanie systemu.

Jednocześnie, aby wprowadzić zmiany w sieciach zewnętrznych, ZetaChain musi działać jako pojedynczy mechanizm podpisywania wiadomości, więc pojawia się pytanie o scentralizowany klucz podpisu. ZetaChain wykorzystuje schemat podpisu progowego bez lidera GG20 (TSS), który wykonuje generowanie kluczy i podpisywanie kluczy w rozproszony, zdecentralizowany sposób. Żaden węzeł ZetaChain ani inny pojedynczy uczestnik sieci nie ma dostępu do zdecentralizowanej dystrybucji. Żaden węzeł ZetaChain ani inna osoba nigdy nie uzyskuje dostępu do pełnego klucza prywatnego w dowolnym momencie. Zasadniczo węzeł ZetaChain (w szczególności sygnatariusz w ZetaClient) ma równy "głos" podczas podpisywania transakcji wychodzących, jak w M/n multisig. Aby zapewnić równowagę między decentralizacją a koordynacją, niektóre aspekty ZetaChain nie są w pełni zdecentralizowane lub zaprojektowane tak, aby stopniowo ewoluować w kierunku większej decentralizacji. Na przykład oprogramowanie jest obecnie opracowywane centralnie, co oznacza, że system jest podatny na błędy oprogramowania z jednego źródła. Aby chronić się przed błędami, ZetaChain używa ochrony warstwowej, która zostanie omówiona bardziej szczegółowo poniżej.

7.2. Ochrona transakcji przychodzących i wychodzących

ZetaCore odbiera zdarzenia od obserwatorów w ZetaClients. ZetaClients monitoruje zdarzenia sieci zewnętrznych za pośrednictwem różnych źródeł, dostawców usług, takich jak Infura, ich (operator walidatora) własną instancję pełnego węzła lub pełnego węzła zarządzanego przez programistów i partnerów. Obserwowane zdarzenie (jako transakcja przychodząca w ZetaChain) musi osiągnąć konsensus w ZetaCore, aby wywołać zmiany stanu w ZetaCore.

Zmiana stanu w ZetaCore powoduje, że sygnatariusze ZetaClient przygotowują, podpisują i transmitują transakcje do sieci zewnętrznych. Mechanizm konsensusu ZetaChain zapewnia że transakcja jest uzgodniona; klucz TSS zapewnia, że tylko zdecydowana większość ZetaClient może podpisywać transakcje.

Wszystkie transakcje przychodzące / wychodzące i podjęte decyzje (poprzez zmianę stanu) są rejestrowane w blokach ZetaChain, które są dostępne, niezmienne, możliwe do zweryfikowania i całkowicie przejrzyste.

7.3. Kompleksowa ochrona przed dowolnymi biciami monet

Ponieważ jedyną własną wartością, która może przemieszczać się między sieciami za pośrednictwem ZetaChain, jest Token Zeta, a ZetaChain skutecznie zarządza tylko przenoszeniem tokena ZETA z sieci a do sieci B, można zaoferować kompleksową ochronę przed jedynym sposobem kradzieży wartości z Zetachain: nieważne monety, które zawyżają ogólną ofertę ZETA we wszystkich sieciach.

Oferujemy kompleksową ochronę przed gonieniem bez odpowiedniego spalania w następujący sposób:

Przed rozpoczęciem bicia tokena Zeta węzły ZetaChain sprawdzają ogólną ofertę we wszystkich sieciach. Chroni to przed błędami oprogramowania lub lukami w oprogramowaniu węzła ZetaChain. Kontrakty tokenów w sieciach (z wyjątkiem Ethereum, w którym rola kontraktu blokującego będzie pełnić kontrakt) sprawdzają ogólną ofertę ZETA we wszystkich sieciach przed wybiciem. Całkowity zakres oferty ZETA jest określany przez Chainlink i publikowany w każdej podłączonej sieci. Taka ochrona gwarantuje, że nikt nie będzie mógł dowolnie bić, a ogólna oferta ZETA pozostanie stała we wszystkich sieciach. Należy zauważyć, że wspomniane dwie opcje kompleksowej ochrony, chociaż zapewniają solidną ochronę przed błędami oprogramowania i kradzieżą z ZetaChain (w tym każdego właściciela tokena ZETA), nie eliminują jednak exploitów. Na przykład, jeśli osoba atakująca przejmie kontrolę nad 2/3 walidatorów lub osoba atakująca będzie mogła wykorzystać błąd w oprogramowaniu, będzie mogła przekierować legalną mint od innego użytkownika do swojego portfela. Jednak w najgorszym scenariuszu konsekwencje będą prawdopodobnie niewielkie, ponieważ osoba atakująca może ukraść środki tylko od aktywnych użytkowników w tym konkretnym czasie, a system zostanie szybko zatrzymany, gdy tylko użytkownicy to zauważą.

Razem: fundusze zagrożone w najgorszym scenariuszu to tylko kwota ZETA, która jest przenoszona przez łańcuch krzyżowy w momencie exploita. Reszta funduszy nigdy nie jest zagrożona

7.4. Co się stanie, jeśli sieci zewnętrzne zostaną zaatakowane

Atak 51%), może to prowadzić do następujących usterek: 1) podwójne wydatki prowadzące do nadmiernej podaży tokena ZETA; 2) cenzura; 3) odwrotność prowadząca do utraty atomowości łańcucha krzyżowego transakcji, ponieważ oryginalny składnik może już nie istnieć; 4) twardy widelec, podział łańcucha; i wiele więcej. Projekt ZetaChain może złagodzić niektóre z tych przypadków lub zminimalizować szkody wynikające z nieograniczonej dystrybucji.Na przykład sieć zewnętrzna powodująca nieograniczony Mint (poprzez wielokrotne zwroty i płatności) nie jest możliwa z powodu sprawdzenia ogólnej oferty na ZetaChain. Z kolei dApps wykorzystujący monetę ZETA do krzyżowego transferu wartości są również chronione przed nieograniczoną inflacją. W przypadku innych sieci zewnętrznych, które są obsługiwane, ZetaChain musi przejść w tryb wyłączenia awaryjnego, aby ocenić sytuację. Odbudowa będzie prowadzona pod koordynacją interesariuszy i mechanizmów zarządzania.

8. Zawarcie

W niniejszej białej księdze przyjrzeliśmy się perspektywom komunikacji między sieciami. Chociaż bridging jest obecnie głównym rozwiązaniem i jest przedmiotem wielu pojawiających się projektów, ZetaChain bada bardziej ambitne i wszechstronne podejście: wbudowane inteligentne kontrakty krzyżowe które bezpośrednio współpracują z prawie każdym zewnętrznym blockchainem. Nie jest wymagane zawijanie zasobów dla crosschain transferu wartości i nie są potrzebne mosty dla każdej pary łańcuchów bloków. Inteligentna umowa ZetaChain może przechowywać zasoby bezpośrednio w sieciach zewnętrznych i zarządzać zasobami zgodnie z wcześniej ustaloną dowolną logiką. Każda interakcja z siecią zewnętrzną odbywa się bezpośrednio w sieciach zewnętrznych. ZetaChain jest zatem platformą dla zdecentralizowanych aplikacji cross-chain z połączeniem z prawie każdym istniejącym lub przyszłym blockchainem i/lub L2 / Rollup, z dostępem do pełnego zestawu zasobów w tych sieciach.

Linki

[1] Rafael Belchior, André Vasconcelos, Sérgio Guerreiro, and Miguel Correia. “A Survey on Blockchain Interoperability: Past, Present, and Future Trends.” ACM Computing Surveys (CSUR) 54 (8). ACM New York, NY: 141. 2021.

[2] “Chain Key Cryptography: The Scientific Breakthrough Behind the Internet Computer.” https://medium.com/dfinity/chain-key-technology-one-public-key-for-theinternet-computer-6a3644901e28.

[3] Alexander Chepurnoy, and Amitabh Saxena. “Multi-Stage Contracts in the UTXO Model.” In Data Privacy Management, Cryptocurrencies and Blockchain Technology, 244254. Springer. 2019.

[4] “Connext Documentation.” https://docs.connext.network/

[5] “Ethereum/BTCRelay.” github.com/ethereum/btcrelay

[6] “ETH-NEAR Rainbow Bridge.” https://near.org/blog/eth-near-rainbow-bridge/

[7] “FUSION Whitepaper.” https://fusion.org/en

[8] Rosario Gennaro, and Steven Goldfeder. “Fast Multiparty Threshold ECDSA with Fast Trustless Setup.” In Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security, 11791194. CCS 18. Association for Computing Machinery, New York, NY, USA. 2018. doi:10.1145/3243734.3243859.

[9] Rosario Gennaro, and Steven Goldfeder. “One Round Threshold ECDSA with Identifiable Abort.” IACR Cryptol. ePrint Arch. 2020: 540. 2020.

[10] “Hop: Send Tokens Across Rollups.” https://hop.exchange/whitepaper.pdf.

[11] Jae Kwon, and Ethan Buchman. “Cosmos: A Network of Distributed Ledgers.” URL Https://cosmos.network/whitepaper. 2016

[12] Zhuotao Liu, Yangxi Xiang, Jian Shi, Peng Gao, Haoyu Wang, Xusheng Xiao, Bihan Wen, and Yih-Chun Hu. “Hyperservice: Interoperability and Programmability across Heterogeneous Blockchains.” In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, 549566. 2019.

[13] “Multi-Party Threshold Signature Scheme.” https://github.com/binance-chain/tsslib.

[14] Caleb Banister Ryan Zarick Bryan Pellegrino. “LayerZero: Trustless Omnichain Interoperability Protocol.” URL https://coinweb.io/files/Coinweb-Whitepaper.pdf. 2021.

[15] “Synapse Protocol Documentation.” https://docs.synapseprotocol.com/.

[16] THORChain.org. “Decentralized Liquidity Network.” URL https://github.com/thorchain/Resources/blob/master/Whitepapers/THORChainWhitepaper-May2020.pdf. 2020.

[17] URL Https://chainflip.io/. “Chainflip.” 2021.

[18] URL Https://multichain.org/. “Multichain (previously Anyswap).” 2021.

[19] URL Https://sifchain.finance/. “Sifchain.” 2021.

[20] URL Https://wormholenetwork.com/en/about/. “Wormhole.” 2020.

[21] URL Https://www.quant.network/. “Quant Network.” 2021.