BitVM, protokół RGB i Taproot Assets: jak inteligentne kontrakty są wdrażane na bitcoinie
Bitcoin jest pozycjonowany jako najbezpieczniejszy blockchain na rynku. Zastosowanie energochłonnego algorytmu konsensusu Proof-of-Work, brak społecznych ośrodków wpływu i wysokie koszty bezpieczeństwa zapewniają, że sieć jest zdecentralizowana, odporna na ataki i rozwidlenia.
Jednocześnie, podczas gdy blockchainy takie jak Ethereum czy Solana są rozwijającymi się ekosystemami z różnorodnymi aplikacjami i platformami, bitcoin pozostaje jedynie siecią płatności ze względu na swoje techniczne osobliwości. Badania nad rozszerzeniem jego możliwości nie rozpoczęły się tak dawno temu i w 2023 r. mogą oferować jedynie kompromisowe rozwiązania.
W tym artykule Incrypted analizuje ograniczenia bitcoina i przygląda się projektom mającym na celu ich rozwiązanie.
Ograniczenia Bitcoina
W 1936 roku brytyjski naukowiec Alan Turing wprowadził koncepcję abstrakcyjnego urządzenia obliczeniowego do wykonywania algorytmów matematycznych. Stało się ono znane jako maszyna Turinga.
W zależności od tego, jakie operacje może wykonywać kalkulator, według Turinga jest on klasyfikowany jako:
- kompletny – teoretycznie zdolny do dowolnych obliczeń, tj. może rozwiązać dowolny problem matematyczny przy wystarczających zasobach i czasie;
- niekompletny – dostosowany do konkretnych obliczeń i posiadający logiczne ograniczenia.
Maszyna wirtualna Ethereum (EVM) jest kompletną maszyną Turinga, na której można wykonać dowolne obliczenia. Ethereum zostało opracowane jako zdecentralizowany komputer z obsługą języków programowania wysokiego poziomu, więc stosunkowo łatwo jest tworzyć aplikacje i dodatki oparte na inteligentnych kontraktach na EVM.
Bitcoin z kolei został zaprojektowany jako sieć płatności z określonym zestawem funkcji. Język programowania Script używany w blockchainie jest niekompletny i brakuje mu niektórych bloków logicznych wymaganych do wykonywania złożonych obliczeń. Oprogramowanie Bitcoina koncentruje się głównie na określaniu warunków wydatków UTXO i zapewnia niewielkie wsparcie dla innych rodzajów transakcji.
Ograniczona logika wykonania jest zaimplementowana celowo. Pomaga to chronić kod przed błędami i exploitami, a także zmniejszyć zużycie zasobów potrzebnych do wykonywania obliczeń. Oznacza to jednak również, że sieć jest bardzo trudna do dostosowania do jakiegokolwiek innego zadania niż przesyłanie wartości bitcoinów za pośrednictwem systemu UTXO.
Inteligentne kontrakty Bitcoin
Definicja inteligentnego kontraktu została wprowadzona przez programistę Nicka Szabo na początku lat 90-tych. Według Szabo inteligentny kontrakt to zestaw zobowiązań wyrażonych w formie cyfrowej, w tym protokoły, zgodnie z którymi strony wypełniają te zobowiązania.
Ściśle rzecz biorąc, sieć Bitcoin obsługuje inteligentne kontrakty. Nawet z ograniczeniami skryptu, użytkownicy mają możliwość ustawienia pewnych warunków dla wydawanych środków, działając na zasadzie “jeśli-to”. Oto niektóre z dostępnych obecnie rodzajów transakcji bitcoinowych:
- P2PKH (Pay-to-Public-Key-Hash) to standardowa transakcja bitcoin;
- P2TR (Row-to-Taproot) – transakcja wykorzystująca skrypty zaimplementowane przez aktualizację Taproot;
- Time-Locked transaction – pozwala ustawić, po jakim czasie (liczbie bloków) transakcja zostanie sfinalizowana;
- Multi-Signature Script (Multisig) – pozwala skonfigurować, ile podpisów i które adresy są wymagane do wykonania przelewu.
Pomimo faktu, że formalnie transakcje te można uznać za inteligentne kontrakty, są one dalekie od zwykłego rozumienia tego terminu używanego np. w Ethereum.
I tak, zgodnie ze standardem ERC-20, inteligentny kontrakt na stworzenie nowego tokena musi m.in. zawierać jego nazwę, ticker, wolumen, adres właściciela, a także zasady podziału i transferu pomiędzy portfelami. Żaden z przedstawionych powyżej typów transakcji bitcoinowych po prostu nie dopuszcza tych danych, więc niemożliwe jest uruchomienie tokena za pomocą skryptu, nie mówiąc już o bardziej złożonych typach inteligentnych kontraktów.
Ewolucja sieci i wzmocnienie pozycji
Pomimo wszystkich swoich ograniczeń, bitcoin pozostaje bezpieczną i zdecentralizowaną siecią, która może stanowić podstawę techniczną dla najbardziej bezpiecznych i odpornych na cenzurę usług i aktywów w branży.
Z tego powodu deweloperzy od lat próbują ominąć ograniczenia skryptu i zrealizować kompletność obliczeń Turinga (i inteligentnych kontraktów) przy użyciu zasobów blockchain. Jednymi z pierwszych projektów w tym kierunku były Colored Coins i Omni Layer.
Pierwszy z nich “kolorował” bitcoiny za pomocą specjalnych portfeli, takich jak Coinprism. Istota polega na tym, że do metadanych transakcji dodawany jest specjalny “znacznik” w celu odróżnienia pojedynczego BTC od innych. Taka “kolorowa” moneta w rzeczywistości stawała się tokenem i mogła pełnić określoną funkcję, na przykład zapewniać dostęp do towarów lub aktywów.
Jeśli chodzi o Omni Layer, protokół ten pozwolił RealCoin (później Tether) na wydanie pierwszych tokenów powiązanych z dolarem jeszcze przed Ethereum i innymi sieciami inteligentnych kontraktów. Deweloperzy używali bitcoina jako warstwy bazowej, budując na nim platformę o szerszych możliwościach.
Jednak związek między Omni Layer a bitcoinem jest dość prosty: kiedy wysyłasz aktywa do protokołu, zapisuje on informacje o Twoim transferze w metadanych transakcji, gwarantując jej niezmienność. Jednocześnie górnicy nie mogą weryfikować transakcji z Omni Layer – ich weryfikację zapewnia sam protokół.
Kolejnym dużym krokiem w rozwoju bitcoina było pojawienie się Lightning Network (LN) w 2016 roku. Rozwiązanie to pozwala użytkownikom otwierać bezpośrednie kanały transferów poza główną siecią, rejestrując jedynie wynik ich wymiany w łańcuchu bloków. Zasadniczo sieć przenosi przetwarzanie przepływu transakcji do węzłów LN, znacznie zmniejszając koszty transferów i zwiększając ich szybkość.
Choć sama Lightning Network nie zwiększyła możliwości programistycznych bitcoina, stała się swego rodzaju “siecią w sieci” ze starszymi zabezpieczeniami, ale tańszym przechowywaniem i przesyłaniem danych. Jest to ważny aspekt dla rozwoju inteligentnych kontraktów, ponieważ:
- usuwa czynnik ograniczający w postaci powolnej finalizacji bloków i niskiej przepustowości bitcoina;
- pozwala na uruchomienie potężnych węzłów w ramach LN, na podstawie których możliwe jest tworzenie złożonych dodatków o zaawansowanej funkcjonalności.
Jak zobaczymy dalej, niektóre projekty, takie jak Taproot Assets i RGB, pozwalają na wdrażanie swoich rozwiązań w sieciach LN, aby zaoszczędzić na opłatach i uniknąć opóźnień we wdrażaniu funkcji inteligentnych kontraktów na bitcoinie.
Rozwiązania oparte na liczbach porządkowych: BRC-20 i ordinals
W styczniu 2023 r. zaprezentowano protokół Ordinals, który umożliwia numerowanie i śledzenie poszczególnych satoshi. Ponumerowane satoshi są następnie używane jako “tokeny” przechowujące informacje określone w metadanych. Zasadniczo Ordinals rozwija ideę “etykietowania” jednostek płatniczych bitcoinów wprowadzoną w Colored Coins.
Satoshi to najmniejsza zbywalna jednostka Bitcoina, nazwana na cześć jej twórcy, Satoshi Nakamoto.
SAT to sto milionowa część Bitcoina. 1 SAT = 0,00000001 BTC i 1 BTC = 100 000 000 SAT.
W oparciu o ten protokół w 2023 r. pojawiły się dwa rozwiązania – Inscryptions i BRC-20.
Inskryptions (lub Artefacts) – lepiej znane jako “NFT na bitcoinie”. Są to satoshi ponumerowane przez Ordinals, z obrazami i innymi plikami multimedialnymi zapisanymi w ich metadanych.
BRC-20 to protokół do uruchamiania wymiennych tokenów w sieci Bitcoin. Działa na tej samej zasadzie co Inscriptions, czyli przechowuje informacje o wydawaniu i przesyłaniu tokenów w ponumerowanych metadanych satoshi.
Obie technologie są możliwe dzięki aktualizacji Taproot wdrożonej w sieci Bitcoin w 2021 roku. Taproot ma na celu optymalizację przechowywania danych, wykonywania skryptów i poprawę prywatności użytkowników. Aktualizacja podniosła również limit pamięci dla metadanych.
Wdrożenie Taproot położyło podwaliny pod większość innych “dodatków” dla bitcoina, dlatego zalecamy zapoznanie się ze szczegółami tej aktualizacji.
Rozwiązania oparte na Ordinals nie usuwają ograniczeń Script i architektury UTXO, ale próbują przekształcić przestrzeń przechowywania metadanych w “warstwę wykonawczą”, wykorzystując ponumerowane satoshis jako rodzaj “bloków w blokach”.
Główną wadą BRC-20 i Inscriptions pozostaje potrzeba alternatywnej infrastruktury. Standardowy portfel bitcoinowy nie rozpoznaje informacji zapisanych w metadanych poszczególnych satoshi, więc istnieje ryzyko przypadkowego wydania drogich “NFT”, na przykład w celu opłacenia prowizji.
Ponadto potencjalne wykorzystanie metadanych bitcoinów jest ograniczone ilością miejsca w blokach. BRC-20 były dystrybuowane tylko jako tokeny memów bez żadnego celu, po prostu dlatego, że bardziej złożona funkcjonalność nie może być zapisana w metadanych. Nie wspominając już o tym, że nie udało się jeszcze zrealizować interoperacyjności aktywów opartych na Ordinals z innymi standardami i sieciami.
BitVM, protokół RGB i zasoby Taproot
Zarówno przed, jak i po Ordinals, istniały projekty mające na celu stworzenie “nadbudowy”, która mogłaby odziedziczyć podstawowe zalety bitcoina, ale wspierać pełne obliczenia Turinga lub przynajmniej bardziej złożone inteligentne kontrakty. Większość z nich opiera się na aktualizacji Taproot i rozwiązaniu Lightning Network, ale wykorzystuje możliwości tych projektów na różne sposoby.
Protokół RGB
RGB (naprawdę dobry bitcoin) to zestaw protokołów do uruchamiania inteligentnych kontraktów ze starszymi zabezpieczeniami bitcoin. Projekt został wprowadzony w 2016 roku jako rozwiązanie skoncentrowane na LN do tworzenia tokenów w sieci bitcoin, ale z czasem przekształcił się w pełnoprawne środowisko inteligentnych kontraktów.
RGB odziedziczyło ochronę własności inteligentnych kontraktów po bitcoinie. Aby uzyskać dostęp do zarządzania kodem, użytkownik musi posiadać klucz prywatny transakcji bitcoin, za pośrednictwem której zainicjowano wdrożenie kontraktu. Wszystkie inne interakcje, w tym wymiana danych i weryfikacja, są przeprowadzane bezpośrednio między stronami poza siecią. Blockchain nie jest wykorzystywany do przechowywania i rozliczania danych.
Sam protokół RGB działa jako skierowany graf acykliczny(DAG). Inteligentny kontrakt działający w DAG jest przechowywany na węzłach stron, które wymieniają informacje za pośrednictwem bezpośrednich kanałów komunikacji – domyślnie Lightning Network.
Ponadto platforma oddziela właściciela inteligentnego kontraktu od agenta obsługującego, więc tworzenie, modyfikacja, wykonywanie i weryfikacja kodu odbywa się za pomocą tak zwanego schematu. Scheme to zestaw ustandaryzowanych “szablonów” dla inteligentnych kontraktów, dzięki którym ich obsługa jest w pełni zautomatyzowana.
Mówiąc prościej, właściciel może zainicjować dowolną zmianę w kodzie kontraktu RGB, ale jest ona wykonywana przez Scheme, bez interwencji osób trzecich. Ani protokół, ani faktyczny deweloper nie mają dostępu do kontraktu po jego wdrożeniu. W pełni autonomiczne środowisko, którego zarządzanie jest chronione kluczem Bitcoin.
Zespół projektowy twierdzi, że takie podejście chroni inteligentne kontrakty przed włamaniami i exploitami wynikającymi z niskiej jakości kodu.
Jest to całkowicie odmienne od zwykłych platform blockchain, takich jak Ethereum. RGB obsługuje jednak NFT, tokeny zamienne i bardziej złożone typy kontraktów.
RGB ma jednak poważne wady:
- po pierwsze, deweloperzy są ograniczeni w tym, co mogą zrobić – zasadniczo mogą jedynie łączyć różne wzorce schematu, wypełniając je danymi specyficznymi dla aktywów;
- po drugie, RGB nie zapewnia rozgłosu i dostępności informacji, tak jak robi to główna sieć.
W niektórych przypadkach jest to plus, ponieważ zapewniona jest prywatność. Jednocześnie sytuacja ta neguje jedną z głównych zalet zdecentralizowanej sieci, ponieważ strony muszą sobie ufać.
Taproot Assets
Taproot Assets (dawniej Taro) to protokół do uruchamiania tokenów w sieci bitcoin, który wykorzystuje UTXO Taproot i powiązane z nim rozwiązania Tapscript i taptweak do przechowywania informacji o podaży i saldzie aktywów w danych transakcji bitcoin.
Jeśli jesteś zaznajomiony z koncepcją Ordinals opisaną w poprzedniej sekcji, będzie to łatwiejsze do zrozumienia. Tokeny BRC-20 przechowują informacje o ofercie w metadanych ponumerowanych satoshi, a Taproot Assets zapisuje te informacje na wyjściu transakcji Taproot w postaci tak zwanego“rzadkiego drzewa Merkle“.
W efekcie Taproot Assets osadza drzewo Merkle’a w transakcji bitcoinowej, udowadniając saldo konkretnego użytkownika i ogólną podaż tokenów. To drzewo z kolei wyświetla dane z Universe, repozytorium, które przechowuje pełną historię aktywów i jest utrzymywane przez emitenta tokena.
Dzięki tej architekturze użytkownik ma dwie opcje udowodnienia równowagi – dane offchain z Universe lub rzadkie drzewo Merkle hostowane przez UTXO.
Działa to następująco:
- twórca tokena przeprowadza transakcję P2TR z wykorzystaniem protokołu Taproot Assets;
- uTXO tej transakcji (zasadniczo geneza) przechowuje informacje o zasobie w postaci drzewa Merkle;
- aby przenieść token, posiadacz klucza Taproot musi zmienić informacje o saldzie w drzewie Merkle, tak aby całkowita podaż aktywa pozostała taka sama;
- taka zmiana jest dokonywana przez nową transakcję Taproot, ale oddzielna transakcja onchain nie jest potrzebna dla każdego transferu tokena. W ramach protokołu właściciel może przetworzyć “partię” transferów jednocześnie, a następnie opublikować nowy stan sald, podobnie jak Rollups lub Lightning Network.
Więcej informacji na temat architektury Taproot Assets i interakcji użytkownika z tokenami można znaleźć w białej księdze.
Kolejną ważną zaletą Taproot Assets jest to, że jest on w pełni kompatybilny z Lightning Network, co zwiększa skalowalność i zmniejsza koszty transakcji.
Taproot Assets tworzy oddzielną warstwę do rejestrowania niestandardowych transakcji tokenami, opierając się w dużej mierze na danych offchain, ale publikując stan sald w głównej sieci. Rozwiązanie to jest bardziej elastyczne, skalowalne i kompleksowe niż BRC-20, ale także bardziej złożone dla niedoświadczonego użytkownika.
BitVM
Jest to najnowszy projekt mający na celu przekształcenie bitcoina w pełnoprawny zdecentralizowany komputer. Biała księga BitVM została zaprezentowana 9 października 2023 r., a sama technologia jest wciąż w fazie testów i wymaga dalszego rozwoju.
Zasadniczo BitVM wykorzystuje koncepcję Optimistic Rollups, aby przenieść obliczenia dla inteligentnych kontraktów poza sieć, a następnie przeprowadzić weryfikację onchain w oparciu o “dowody oszustwa”.
Teoretycznie, po zapisaniu informacji o inteligentnym kontrakcie w transakcji Taproot (jako kod binarny), wymiana danych i rozliczenie powinny odbywać się bezpośrednio między stronami, aby nie przeciążać łańcucha bloków. Jeśli jednak pruver (strona potwierdzająca, właściciel kontraktu) przekaże błędne dane, weryfikator może zainicjować weryfikację onchain. Jest to podstawa koncepcji dowodu oszustwa.
Ale jak zweryfikować transakcję w sieci, która po prostu nie obsługuje takich obliczeń? BitVM wykorzystuje w tym celu drzewo Merkle’a, które służy do tworzenia logicznego schematu NAND zapisanego w transakcji Taproot.
Z grubsza oznacza to, że drzewo Merkle’a w danych transakcji staje się schematem NAND, w którym każda “gałąź” zawiera jedną z dwóch możliwych wartości – 1 lub 0. Obliczenia onchain są wykonywane dosłownie bit po bicie, a dane wyjściowe poprzedniej “gałęzi” stają się danymi wejściowymi dla następnej. Transakcje są stale wymieniane między stronami inteligentnego kontraktu w celu uzgodnienia wartości. Jeśli wersja obliczeń pruvera jest nieprawidłowa, weryfikator otrzyma swoje aktywa zablokowane w transakcji Taproot.
Możesz dowiedzieć się więcej o tym, jak BitVM pozwala budować NAND przy użyciu Taproot i drzewa Merkle oraz jak wpływa to na obliczenia tutaj.
Dyrektor generalny Toniq Labs, Bob Bodily, zauważył, że pojedynczy spór może wymagać kilkuset transakcji i potężnych kanałów przesyłania informacji. Ponieważ bitcoin jest powolny i stosunkowo mało wydajny, takie obliczenia mogą poważnie przeciążyć sieć. Ponadto same obliczenia są niezwykle nieefektywne.
Kolejnym istotnym problemem jest dwustronny charakter inteligentnych kontraktów – wymiana danych odbywa się bezpośrednio pomiędzy weryfikatorem a pruverem, bez możliwości udziału osób trzecich. Uniemożliwia to tworzenie zdecentralizowanych aplikacji i wymaga dodatkowych rozwiązań do budowania kontraktów wielostronnych.
Ponadto, nawet jeśli takie obliczenia mają być wykonywane, BitVM jest rozwiązaniem bardzo złożonym i niskopoziomowym. Stworzenie jakichkolwiek działających produktów opartych na tym prymitywie zajmie lata.
Wpływ na sieć
Doświadczenie we wdrażaniu produktów opartych na usługach Ordinals i smart contract pokazało, że różne rozwiązania wpływają na ekosystem bitcoina na różne sposoby. Przede wszystkim warto zauważyć, że w społeczności istnieje kilka obozów. Warunkowo można je podzielić na:
- konserwatystów – uważają oni, że bitcoin został pierwotnie pomyślany jako system płatności i takim powinien pozostać. Ich zdaniem wszelkie rozszerzenia funkcjonalności doprowadzą do trudności w korzystaniu z BTC jako środka rozliczeniowego;
- umiarkowani innowatorzy – zgadzają się, że sieć wymaga aktualizacji, ale powinna pozostać bezpieczna i wygodna dla płatności. Wzywają do kompleksowej oceny każdej decyzji pod względem jej wartości i wpływu na samego bitcoina;
- maksymalistyczni innowatorzy – uważają, że bitcoin stał się niekonkurencyjny w erze nowoczesnych blockchainów. Twierdzą, że bez rozszerzonej funkcjonalności i całkowitej modernizacji sieci, to tylko kwestia czasu, zanim Ethereum upadnie i zdominuje rynek.
Aktywność każdej z grup zależy jednak bezpośrednio od tego, w jakim stopniu nowe rozwiązania wpływają na sam blockchain. Na przykład podczas szumu wokół napisów i BRC-20 w maju 2023 r. pojawiły się kolejki w mempool i znaczny wzrost prowizji.
Skok ten utrudnił korzystanie z bitcoina i wywołał dyskusję w społeczności, do tego stopnia, że zasugerowano zablokowanie standardu BRC-20 na poziomie kodu.
Z drugiej strony, uruchomienie RGB lub Taproot Assets nie doprowadziło do tak gorących debat i dużego zainteresowania ze strony użytkowników, ponieważ:
- rozwiązania te są technicznie bardziej złożone i specyficzne niż Ordinals;
- ich konstrukcja wymaga mniejszego wykorzystania sieci i pozwala na przeniesienie obliczeń do Lightning Network.
BitVM może mieć potencjalnie największy wpływ na blockchain. W rzeczywistości rozwiązanie to nie zostało jeszcze uruchomione i wciąż znajduje się w fazie testów, ale wielu ekspertów zauważa, że nawet gdyby udało się wdrożyć pełne obliczenia Turinga, wymagałoby to dużej ilości miejsca na dysku i pojemności. Przy ograniczonej przepustowości Bitcoina, wdrożenie BitVM mogłoby być kosztowne i powodować przeciążenia sieci.
Głównym problemem jest to, że w chwili pisania tego tekstu, koncepcja korzystania z BitVM i format jego interakcji z siecią bitcoin nie zostały opracowane. Po prostu dlatego, że podstawowe możliwości rozwiązania nie zostały jeszcze przetestowane i nie ma narzędzi dla programistów. Sama technologia jest w powijakach i dopiero jej rozwój pokaże, czy blockchain wymaga dostosowania i aktualizacji.
Nie można również wykluczyć wpływu kolejnej hossy. Wzrost rynku może ponownie przyciągnąć uwagę do BRC-20 i napisów, co na tle rosnącego popytu na bitcoiny spowoduje opóźnienia w przetwarzaniu transakcji i wzrost prowizji. W takim przypadku koszt rozwoju opartego na BitVM (i innych protokołach, które nie obsługują LN) może stać się nieracjonalnie wysoki.