(trust-less) SWAPy na Bitconie
Bitcoin DeFi to duży rynek, w zasadzie jeszcze niezaadresowany, biorąc pod uwagę prawie 1 bilion dolarów kapitalizacji rynkowej Bitcoina i coraz większą adopcję instytucjonalną — czeka nas tu prawdziwa uczta.
Obecnie pomimo rosnącego wykorzystania Bitcoina jako suwerennego pieniądza, Bitcoin nie był łatwym aktywem, by tak jak inne kryptowaluty mógł być użyty w obszare DeFi. Bez przechodzenia przez scentralizowane giełdy lub bez przechodzenia na inne chainy (wrapowany BTC) niewiel dało się zrobić z samym BTB. Ale to zaczyna się zmieniać.
Deweloperzy w ekosystemie Stacks niedawno pokazali, że Bitcoin DeFi jest dziś możliwe. Członkowie społeczności Stacks Friedger Muffke, Asteria, oraz Jude Nelson we współpracy z innymi programistami społeczności Stacks, wdrożyli działające swapy Bitcoinie z NFT i innymi kryptowalutami.
Natywne swapy BTC na inne aktywa są podstawowym elementem składowym dla Bitcoin DeFi. Zasadniczo funkcjonalność podobna do Ethereum jest teraz możliwa bezpośrednio na i dla Bitcoin. Doprowadzi to do eksplozji zaawansowanych zdecentralizowanych aplikacji i AMM-ów typu Uniswap zbudowanych na natywnych swapach BTC, z których wszystkie wykorzystują czyste transakcje Bitcoin i są wspierane przez bezpieczeństwo Bitcoin.
Dzięki temu rozwiązaniu użytkownicy będą wkrótce mogli dokonywać wymiany BTC bez zaufanych stron trzecich, na stablecoiny, instrumenty pochodne i inne krypto aktywa zbudowane na Stacks, a także kupować dowolne aktywa cyfrowe (takie jak NFT i zdecentralizowane domeny), wszystko za pomocą Bitcoina, dokonując transakcji w sieci Bitcoin. Wraz z USDC które również wchodzi na platformę Stacks, możliwe będą (bez zaufanych stron trzecich) swapy BTC/USDC. To ogromny rynek — prawie 150 milionów dolarów dziennego wolumenu! Podobnie, xBTC umożliwi wymianę BTC na xBTC, które można następnie wykorzystać w szeregu produktów DeFi.
W tym poście skoncentruję się na niedawnym rozwoju swapów bez zaufania (trustless), których pionierem był Friedger i inni twórcy w ekosystemie Stacks, a także pokażę, jak możesz to wypróbować samodzielnie, używając języka Clarity.
Ale najpierw porozmawiajmy o tym, jak dotarliśmy do tego punktu.
Prawdziwe DeFi na Bitcoinie
Bitcoin DeFi był historycznie trudny do zrobienia ze względu na ograniczony język skryptowy Bitcoina, który podwaja jego siłę (zapewnia bezpieczeństwo sieci). Natomiast za pomocą skryptowego języka Bitcoin nie jest łatwy do zaprogramowania. Bitcoin celowo nie zapewnia możliwości tworzenia smart kontraktów, tak jak widzimy to w innych ekosystemach. Jest to celowy kompromis w celu zapewnienia bezpieczeństwa i niezawodności Bitcoina jako zdecentralizowanego magazynu wartości (Store of Value).
Deweloperzy próbowali sprostać temu wyzwaniu, tworząc pochodne aktywa Bitcoin, które wymagają scentralizowanych kontrahentów lub oddzielnych łańcuchów bloków z opakowanym BTC na takim łańcuchu (wrapped BTC). Ale Wrapped BTC to nie Bitcoin, a wielu Bitcoinerów nie ufa bezpieczeństwu i decentralizacji oddzielnych łańcuchów bloków lub rozwiązań powierniczych które w takim przypadku trzeba wykorzystać. Pojawił się popyt na produkty podobne do DeFi dla Bitcoina na scentralizowanych alternatywach, ale prawdziwy Bitcoin DeFi nie został stworzony do tej pory.
A co rozumiemy przez prawdziwe Bitcoin DeFi? Kluczowym elementem jest możliwość wysyłania transakcji Bitcoin on-chain i jednocześnie wykonywanie logiki w smart kontrakcie, eliminując potrzebę centralnego pośrednika.
Stacks ma taką architekturę która umożliwia prawdziwe Bitcoin DeFi, biorąc pod uwagę widoczność kontraktów Stacks na stan sieci Bitcoin, także nieodłączną zdolność Stacks do wykorzystania bezpieczeństwa i gwarancji rozliczeń z sieci Bitcoina. Łańcuch Stacks jest powiązany z Bitcoinem przez consensus PoX (Proof of Transfer) → mechanizm konsensusu, dzięki któremu wszystkie transakcje Stacks są rozliczane na Bitcoinie. Gwarantuje to, że Stacks wykorzystuje bezpieczeństwo Bitcoina w zakresie zapisu transakcji.
Przedstawiamy swapy Catamaran (trust-less)
Niedawno deweloperzy społeczności Stacks wdrożyli działające swapy Bitcoin z kontraktami, które mają wgląd w stan sieci Bitcoin i które mogą uruchamiać działania na smart kontraktach Stacks, opierając się transakcjach sieci Bitcoin. Są one obecnie nazywane „swapami katamaranowymi”, pokazując możliwości dla wielu zastosowań w obszarze Bitcoin DeFi za pośrednictwem Stacks. Są to swapy bez zaufanych stron trzecich (trust-less), co oznacza, że nie ma żadnego uzależnienia od jakiejkolwiek podmiotu lub usługi powierniczej w celu wykonania swapu — bez KYC, bez ryzyka wnoszonego przez takie zewnętrzne podmioty.
Termin jest analogicznym rozszerzeniem bardziej znanego pojęcia Submarine Swaps w społeczności Lightning. Submarine Swaps to atomowe swapy z trybu on-chain na tryb off-chain (poza łańcuchem BTC). Swapy katamaran mają trzy odnogi, w których dwie transakcje mają miejsce w łańcuchu Stacks, a jedna transakcja ma miejsce w łańcuchu Bitcoin. W przeciwieństwie do swapów z Lightning, w których niektóre działania odbywają się w łańcuchu (nad wodą), a niektóre poza łańcuchem (pod wodą). Dzięki Catamaran wszystkie działania odbywają się on-chain, tylko na dwóch różnych łańcuchach (Stacks i Bitcoin), stąd nazwa Katamaran.
Ta implementacja swapów Katamaran opiera się na smart kontrakcie Clarity, który weryfikuje, czy dana transakcja Bitcoin została zapisana w danym bloku w łańcuchu Bitcoin. Weryfikacja odbywa się poprzez porównanie hasha bloku z hashem widocznym przez funkcjonalność Clarity. Następnie merkle root transakcji Bitcoin i dostarczony merkle proof, są porównywane z merkle root ze zweryfikowanego bloku. Jeśli te skróty są identyczne, można wywnioskować, że transakcja Bitcoin rzeczywiście została uwzględniona w bloku w łańcuchu Bitcoin.
Zagłębiając się nieco głębiej w mechanikę, w pierwszej transakcji Stacks zasób cyfrowy jest umieszczany w depozycie inteligentnego kontraktu, a parametry, takie jak adres odbiorcy Bitcoin, kwota BTC, limit czasu itp., są definiowane dla swapu. Następnie przeprowadzana jest transakcja Bitcoin. Po potwierdzeniu druga transakcja Stacks weryfikuje transakcję Bitcoin i uwalnia zasób Stacks.
Napisane w języku Clarity, te kontrakt mają tylko 70 linii kodu i wykorzystują logikę weryfikacji kontraktu z biblioteki Bitcoin. Typowa funkcja kontraktu, która weryfikuje transakcje BTC, wygląda następująco:
Więcej umów na https://github.com/friedger/clarity-friedger-pool
Podobnie jak w przypadku swapów, również inna logika może zostać uruchomiona, gdy zostanie uruchomiona jakaś transakcja na sieci Bitcoin, np. spłać pożyczkę, wybij nowe tokeny, itd.
Obecnie istnieją pewne ograniczenia techniczne, które mogą spowodować niepowodzenie danej transakcji. Transakcje Bitcoin, które są zbyt duże (>1024 bajty,>8 wejść lub wyjść) lub transakcje, które mają miejsce podczas flash bloku, nie mogą być zweryfikowane on-chain. Ulepszenia nadejdą wraz ze Stacks 2.1. Dlatego aktualna wersja kontraktów swap posiada funkcję anulowania, która uwalnia aktywa sprzedającemu po określonym czasie. W takich przypadkach zasób należy przenieść ręcznie.
Ulepszenia swapów
Są to wczesne dni rozwoju i można wprowadzić dalsze ulepszenia za pomocą Stacks 2.1, aby zmniejszyć liczbę transakcji wymaganych w tych interakcjach z 3 do 2, poprawić reakcje na awarie bloków flash, usprawnić interfejs użytkownika dla takich transakcje zarówno dla użytkowników końcowych, jak i deweloperów.
Alternatywne rozwiązania
Stacks nie jest jedynym projektem, którego celem jest Bitcoin DeFi, i słusznie, biorąc pod uwagę rozmiar ekosystemu Bitcoin. Alternatywnie Wrapped Bitcoin wprowadziły innowacje do tego obszaru, a w niektórych przypadkach wykazał znaczącą adopcję. Natomiast, takie podejście nie daje możliwości że transakcje są rozliczane na Bitcoin — rozliczają się w innych sieciach, a niektórzy programiści i użytkownicy mają pytania dotyczące bezpieczeństwa i decentralizacji takiego rozwiązania.
Trwają również eksperymenty, takie jak RSK który wykorzystuje maszynę wirtualną Ethereum, Lightning który skaluje Bitcoin, i Liquid który wykorzystuje łańcuch boczny Bitcoina. Opracowania takie jak Taproot i Sapio umożliwiają także większą funkcjonalność dla Bitcoin na niższych poziomach.
Przyjdź i buduj z nami
To dopiero początek całego otwartego świata finansów tworzonego wokół Bitcoina. Planujemy publikować kolejne posty o Bitcoin DeFi, więc wypatruj kolejnych opracowań w przyszłości.
W międzyczasie sprawdź Implementacja wymiany katamaranów na GitHub, dołącz do społeczności Stacks Discord aby uzyskać więcej informacji i zacznij budować w oparciu łatwe w użyciu narzędzia.
Tłumaczenie materiału — tu oryginał.
andrzej.btc zrobił powyższe tłumacznie. Andrzej prowadzi również kanał DDD i Twitter i z sukcesem dokonał transakcji STX<>MIA dzięki Catamaran Swaps. Film na ten temat już niedłgo na DDD.