Łącząc wiele światów, czyli blockchainowe mosty

Przemek/ 31 października, 2022

Blockchain to nie pojedyncze rozwiązanie, ale technologia, dzięki której zbudowano już wiele różnych sieci (no shit, Sherlock). Na każdej z nich znajdują się aktywa, takie jak chociażby monety i tokeny, które wykorzystywane są w różnego rodzaju aplikacjach. Często okazuje się, że jakaś kryptowaluta byłaby bardziej przydatna na innej sieci. Dzisiaj porozmawiamy o mostach, czyli o sposobie na przenoszenie aktywów między blockchainami..

Moneta tu, token tam

Rysunek 1. Opakowane monety
(źródło: https://enlear.academy/wrapped-tokens-e921acf07831)

Jak już wiesz, ale jeśli nie to zapraszam Cię tutaj, ta sama kryptowaluta może być równocześnie natywną monetą na danej sieci, która służy między innymi do pokrywania opłat transakcyjnych, jak i tokenem na innym blockchainie, który wykorzystywany może być w różnym celu. Dobrym przykładem będzie chociażby Ether, który zasila Ethereum, ale równocześnie można znaleźć go np. na sieci Polygon. Nawet najbardziej znana kryptowaluta jaką jest Bitcoin, jest również dostępna na innych łańcuch. Oczywiście w takim wypadku nie służy on już do wynagradzania górników, ale może zostać wykorzystany w różnego rodzaju protokołach DeFi. Co ważne, jego wartość niezależnie od sieci jest praktycznie identyczna. Możesz to sprawdzić porównując ze sobą wykres cenowy dla BTC oraz dla WBTC.

Jak widzisz, wszystko wskazuje na to, że mamy do czynienia dokładnie z tym samym aktywem. Jednak takie stwierdzenie nie byłoby do końca precyzyjne, ponieważ Bitcoin na sieci Ethereum jest tokenem ERC20, czyli smart kontraktem, który jedynie reprezentuje najstarszą kryptowalutę, a nie jest nią samą w sobie. Najważniejsze jest jednak to, że dokładnie tyle, ile istnieje tokenów WBTC, tyle prawdziwych Bitcoinów jest zablokowanych na natywnej sieci i w każdym momencie może być wymienione z powrotem. Z tego właśnie powodu ceny tych dwóch aktywów są cały czas ze sobą powiązane. Działa tu podobny mechanizm jak w przypadku stablecoinów, który został opisany w tym poście, z tą różnicą, że cena tokena nie jest związana z walutą fiducjarną, tylko z aktualną wyceną Bitcoina.

Może tutaj pojawić Ci się bardzo ważne pytanie. Skoro Bitcoin jest zdecentralizowany i nie stoi za nim pojedyncza firma, która decyduje o jego losach, to kto odpowiada za smart contract na sieci Ethereum? Akurat w przypadku tego tokena istnieje DAO, które odpowiada za cały mechanizm i aktualnie powiązanych z nim jest około 30 firm. Jednak projekt nie miałby żadnej wartości, gdyby nikt z niego nie zaczął korzystać. Ostatecznie to od ludzi zależy, czy dane rozwiązanie się przyjmie czy nie i w tym przypadku sytuacja potoczyła się na korzyść tego tokena. Gdyby nikt nie korzystał z WBTC, to projekt by zapewne upadł. Warto też zaznaczyć, że nie jest to jedyny token na sieci Ethereum, który reprezentuje Bitcoina. Innym przykładem może być chociażby renBTC. Dlatego równie dobrze Ty możesz stworzyć swój mechanizm i przekonać innych do jego używania.

Tokeny, które udostępniają natywną monetę na innej sieci noszą nazwę wrapped tokens. Co ciekawe, nawet na tej samej sieci może istnieć równocześnie natywna moneta i jej opakowany odpowiedni. Przykładem może być np. ethere oraz WETH. Powód jest dość pragmatyczny, a mianowicie – zdecydowanie łatwiej wykorzystywać w różnego rodzaju rozwiązaniach rzeczy o tym samym interfejsie. Opakowany ether w token ERC20 możemy w łatwy sposób wykorzystać, chociażby do wymian na zdecentralizowanych giełdach.

Muszę zaznaczyć, że nie tylko natywne kryptowaluty mogą być przenoszone między sieciami, ale również dzieje się tak w przypadku zwykłych tokenów ERC20, tyle że wtedy nie nazywamy ich już jako wrapped, tylko po prostu tokenami. Taki mało istotny detal:).

Dzięki opracowaniu takiego podejścia, możliwe jest wykorzystywania tych samych aktywów na różnych blockchainach. I tak – Bitcoin używany jest na swojej głównej sieci do różnego rodzaju transakcji, ale również równocześnie jako token WBTC na sieci Ethereum, Polygon, Avalanche czy chociażby Fantom.

Mosty

Rysunek 2. Ethereum <==> Polygon
(źródło: https://shardeum.org/blog/what-is-a-blockchain-bridge/)

Myślę, że w tym miejscu domyślasz się już, czym jest tytułowy mechanizm tego tekstu, ale żeby formalności stało się zadość, to zdefiniujmy go sobie. Blockchainowe mosty to różnego rodzaju rozwiązania, które służą nam do przetransferowania aktywów oraz jakichkolwiek danych z jednego łańcucha na drugi. Nie istnieje tylko jeden sposób na stworzenie takiego mechanizmu, dlatego możemy podzielić je na kilka kategorii.

Zacznę od mostów kustodialnych i niekustodialnych, czyli rozwiązań opartych o scentralizowaną jednostkę oraz tych całkowicie zdecentralizowanych. W przypadku tych pierwszych użytkownik musi całkowicie ufać pośrednikowi, który stoi za mechanizmem, ponieważ to on zarówno przyjmuje aktywa na jednym bloku, jak również wydaje je na drugi. Takie rozwiązanie posiada wszystkie wady i zalety centralizacji, która była poruszana już wielokrotnie na łamach tego bloga.

Dla odmiany mosty niekastodialne opierają się w głównej mierze o smart kontrakty i kilka rozwiązań pomocniczych. W takim wypadku bezpieczeństwo całego rozwiązania zależy jedynie od kodu i tego, czy nie ma w nim żadnych błędów.

Mosty możemy podzielić na tzw. jednokierunkowe i dwukierunkowe. W tym wypadku podział ten dotyczy tego, czy mechanizm może wymieniać aktywa w dwóch kierunkach, czy tylko potrafi to robić jednostronnie. 

Możesz też spotkać się z podziałem mostów ze względu na ich funkcjonalność. I tak – przykładowo istnieją mosty odpowiedzialne za łączenie łańcuchów głównych z ich sidechainami lub takie, które pomagają w przenoszeniu “owrapowanych” tokenów. 

Oczywiście podział ten jest dosyć umowny i spotkać się można jeszcze z wieloma nazwami, ale główna funkcjonalność się nigdy nie zmienia i mówiąc o mostach, zawsze mamy na myśli mechanizmy łączące dwa oddzielne łańcuchy. Jakie konkretne rozwiązanie zostało zastosowane, ma już nieco mniejsze znaczenie.

Zalety!

Rysunek 3. Spotkanie
(źródło: https://ccoingossip.com/blockchain-bridge/)

Przesyłanie środków między łańcuchami to bardzo fajna funkcjonalność, ale sama w sobie nie miałaby większego znaczenia, gdyby za nią nie szło coś więcej. Najważniejszą zaletą mostów blockchainowych jest znaczna poprawa interoperacyjności sieci. Dzięki temu, że dane mogą być stosunkowo łatwo i szybko przenoszone z jednego miejsca na drugie, wykorzystanie i współpraca różnego rodzaju rozwiązań weszła na wyszły poziom.

Wyobraźmy sobie na chwilę, że mosty nie istnieją (albo po prostu cofnijmy się kilka lat wstecz). W takim wypadku jesteśmy niejako przywiązani do naszego pierwotnego wyboru. Jeżeli okaże się, że ta decyzja nie była najlepsza i dany blockchain przestaje się sprawdzać, to i tak nie wykorzystamy naszych środków w innym miejscu. Co prawda można by próbować je sprzedać i zakupić inne na drugiej sieci, ale byłoby to zdecydowanie wolniejsze, mniej wygodne i droższe.

Kolejna ogromna zaleta mostów to ich wkład w poprawę skalowalności. Jeżeli dany blockchain jest “zapchany” to przy ich pomocy można szybko przerzucić środki i dalej korzystać z danych rozwiązań, tylko na innej sieci. Sprawia to, że ludzie sami niejako odciążają przeładowany łańcuch. Więcej na temat skalowalności i problemów z nią związanych znajdziesz w tym wpisie.

Wspomniane plusy są super, ale według mnie najistotniejszą sprawą jest to, że mosty tak de facto przyczyniają się do ogromnego rozwoju technologii blockchain i jej adopcji w rzeczywistym świecie. Można by powiedzieć, że dzięki nim wszystkie łańcuchy przekształcają się z pojedynczych dobrych graczy, w jedną świetną drużynę.

Wady…

Rysunek 4. Atak na mosty
(źródło: https://forkast.news/are-we-helpless-against-attacks-blockchain-bridges/)

Jeżeli regularnie czytasz posty na moim blogu, to już pewnie się domyślasz, że większość rozwiązań oprócz swoich niekwestionowanych zalet, ma również ciemniejsze strony i tutaj nie jest inaczej.

Pierwsza sprawa, to kwestie centralizacji. Obecnie większość mostów to rozwiązania, które należą to jakiegoś podmiotu, przez co wymagają dużego zaufania. W takich sytuacjach zawsze istnieje ryzyko, że środki zostaną zablokowane lub wykradzione przez twórcę. Dlatego zawsze należy korzystać jedynie ze sprawdzonych rozwiązań, za którymi stoją zaufane (na tyle ile to możliwe) firmy. W zasadzie istnieją tu wszystkie ryzyka związane z centralizacją.

Niestety również decentralizacja niesie za sobą ryzyka, a te głównie związane są z dziurami w kodzie. Blockchain  wciąż jest młodą technologią, a Web 3.0 dopiero raczkuje. Z tego powodu dużo rozwiązań jest narażonych na ataki, a jak pokazała przeszłość, mosty nie wyłamują się z tego trendu. Jeden z największych haków miał miejsce właśnie na rozwiązaniu tego typu, a mowa tutaj o wykradzeniu ponad 650 mln $, do którego doszło w kwietniu tego roku na moście Ronin Bridge. Jednak nie trzeba się aż tak bardzo cofać, ponieważ niedawno most związany z siecią od Binance’a został wykorzystany do pozyskania około 570 mln $. Akurat w tym wypadku Binance dosyć szybko zareagował i udało mu się zablokować część środków, jednak to również pokazuje jak bardzo scentralizowana jest ta sieć. Coś za coś.

Mówi się, że coś jest tak dobre, jak jego najsłabsze ogniwo. Jeżeli most okaże się wadliwy i dzięki niemu uda się dokonać oszustw, to w takim wypadku może się to odbić na całej sieci, z którą jest powiązany. Ataki na mosty będą nam na pewno jeszcze długo towarzyszyły i prawie na 100% usłyszymy jeszcze o jakimś, który się udał, dlatego tak ważne jest, aby rozwiązania tego typu były bardzo dokładnie sprawdzane.

Trzeba również przyznać, że mosty często są dosyć wolne. Tak, wiem, kilkanaście linijek wyżej napisałem, że jest to łatwy i szybki sposób na przeniesienie środków, co nie jest kłamstwem, jeżeli porównamy ich wykorzystanie do sytuacji, w której nie byłoby takich rozwiązań. Ale porównując je chociażby do transakcji na blockchainie, które trwają sekundy, przetransferowanie środków z użyciem mostów może zająć od minut aż po dni.

Czy mimo tych wad powinniśmy porzucić ideę mostów? Uważam, że nie, a jedyne co należy robić, to usprawniać te rozwiązania. Jeżeli potrzebujesz przenieść środki z jednego łańcucha na drugi ale niekoniecznie chcesz do tego użyć typowego mostu, to masz jeszcze jedną ciekawą alternatywę. Wiele giełd zintegrowanych jest z przeróżnymi sieciami. Dlatego jeżeli posiadasz konta na jednej z nich, (np. Binance) możesz wysłać na nią swoje środki, a następnie przetransferować je na inny blockchain. Nie zawsze będzie to najtańsze rozwiązanie, ale często okazać się może najszybsze.

Mam nadzieję, że udało mi się dzisiaj przybliżyć Ci kolejne pojęcie z blockchainowej stajni i liczę, że widzimy się ponownie za tydzień, kiedy porozmawiamy o bardzo sprytnym i zdecentralizowanym, a zarazem prostym sposobie na handel aktywami znajdującymi się na różnych łańcuchach.

Share this Post
Subscribe
Powiadom o
guest
0 komentarzy
Inline Feedbacks
View all comments