Autor artykułu: Yunwen Liu 1, Instytut Bitych Sów
Rozumiem, że gdy tylko porusza się ten temat, purysta bitcoina może pomyśleć: Czy bitcoin nie jest lepszy jako cyfrowe złoto, które po prostu jest ciche? Dlaczego konieczne są tokeny? Dlaczego USDT? Jednak jeśli szczególnie martwisz się o bezpieczeństwo aktywów, musisz pomyśleć, co się stanie, jeśli Ethereum upadnie? Kto przejmie DeFi? Ponadto, rozwiązania tokenów są zgodne z protokołem bitcoina i nie niszczą jego funkcji, a jeśli nie lubisz, możesz nie pobierać klienta tokenów, co nie wpłynie znacząco na Ciebie.
Dlaczego nie można emitować tokenów na bitcoinie?
Emisja tokenów na bitcoinie w celu przeniesienia transakcji aktywów ze świata rzeczywistego na łańcuch powstała w społeczności bitcoina około 2010 roku. Wstępne dyskusje skupiały się na przeniesieniu aktywów ze świata rzeczywistego - takich jak nieruchomości, akcje, waluta fiat - na bitcoin w celu przeprowadzenia zdecentralizowanych transakcji. Jednak ze względu na czynniki prawne, przeniesienie aktywów takich jak nieruchomości i akcje nie jest proste. Nawet jeśli przekażesz swoje tokeny cyfrowe dotyczące nieruchomości innej osobie, rząd może ich nie uznać lub automatycznie nie wymienić rzeczywistego dokumentu własności, a także mogą być różne podatki do zapłacenia. Co więcej, transakcje na łańcuchu nie mogą być dowolnie przeprowadzane pod nadzorem regulacyjnym.
Dlatego bardziej atrakcyjną metodą jest emisja tokenów powiązanych z walutą fiat, czyli stablecoinów. Stablecoiny różnią się od NFT, ponieważ nadal są tokenami jednorodnymi (fungible), tylko różnią się od oryginalnego bitcoina. Kiedy pojawiają się jako tokeny, ich wartość określana jest przez cenę reprezentowanych aktywów ze świata rzeczywistego, a nie przez pierwotną cenę kryptowaluty (jeśli cena kryptowaluty wzrośnie znacznie powyżej ceny aktywów, można zrezygnować z aktywów). Dlatego zazwyczaj tokeny na bitcoinie są wyrażane w satoshi (Satoshi).
Aby wykorzystać kryptowalutę jako token aktywów, należy rozwiązać dwa główne problemy:
Jak reprezentować aktywa ze świata rzeczywistego za pomocą bitcoina;
Jak ustawić złożone zasady transakcji i kontrakty w ograniczonym języku skryptowym bitcoina.
Poniższa treść koncentruje się na powyższych dwóch punktach i podsumowuje kilka istniejących rozwiązań emisji aktywów bitcoinowych oraz porównuje je pod względem dostępności danych, nośności aktywów, ekspresyjności, skalowalności i innych aspektów.
Pierwszy token na bitcoinie: kolorowe monety
Nie można ustalić, kto był pierwszym, który zaprojektował protokół tokenów na bitcoinie, pomysł mógł pojawić się w dyskusjach na forach lub w społeczności bitcoina. Projekt kolorowych monet (Colored Coin) został zapoczątkowany przez Yoni Assia w 2012 roku, kiedy współpracował z Vitalikiem Buterinem, Lior Hakimem, Meni Rosenfeldem i Rotem Levem nad (białą księgą kolorowych monet) (Colored Coins whitepaper), a projekt rozpoczął działalność w 2013 roku.
Działanie kolorowych monet polega na oznaczaniu satoshi jako specjalnej monety, zapisując powiązane informacje o aktywach w tym satoshi - proces ten nazywa się kolorowaniem. Możesz pokolorować satoshi na różne kolory, nadając różne tagi, jednak monety w tym samym kolorze nie mogą być rozróżnione, np. grupa satoshi pokolorowanych na dolary nadal pozostaje jednorodna. Wcześniejsze protokoły korzystały z pola nSequence, dodając znacznik do nSequence pierwszego UTXO transakcji. Jednak ze względu na limit przechowywania nSequence do 4 bajtów, późniejsze projekty tokenów w zasadzie przeszły na pole OP_RETURN, które może przechowywać więcej metadanych.
Kolorowe monety są wciąż wspominane głównie dlatego, że były pierwszym projektem tokenów na bitcoinie. Z powodu nieidealnego rozwoju projektu i braku szerokiego zastosowania, projekt ten został stopniowo zapomniany. Problemy, z którymi zmagały się kolorowe monety, polegały na tym, że funkcjonalność bitcoina nie wspierała jeszcze tego dość zaawansowanego pomysłu, a jego realizacja i efektywne, stabilne działanie było bardzo trudne. To może być powód, dla którego Vitalik po projekcie kolorowych monet przeszedł na przeciwną stronę bitcoina, stając się tak zaangażowanym w inteligentne kontrakty.
Ponieważ kolorowe monety istnieją w postaci satoshi, ich weryfikacja wymaga pobrania całego łańcucha, tak jak w przypadku weryfikacji ważności UTXO. Problem ten zostanie rozwiązany później za pomocą weryfikacji po stronie klienta (client-side validation).
Tworzenie tokenów za pomocą OP_RETURN: Counterparty & Omni Layer
W przeciwieństwie do kolorowych monet, Counterparty i Omni Layer (protokół stojący za USDT) nie oznaczają bezpośrednio satoshi, ale ustalają UTXO o wartości 0 w transakcji i przechowują metadane w polu OP_RETURN tego UTXO. OP_RETURN może przechowywać 80 bajtów i oznacza, że UTXO z OP_RETURN nie może być wydany. Prawdziwy token to i-ty output zapisany w OP_RETURN. Ta wartość outputu wynosi zazwyczaj 0.00000546 BTC - to najniższa dozwolona wartość do wysłania, a ponieważ wartość tokena nie jest powiązana z BTC, nie ma potrzeby wysyłania więcej niż 0.00000546 BTC.
Weryfikacja tych projektów musi odbywać się na łańcuchu, a metadane są przechowywane na łańcuchu.
Omni Layer przez długi czas był graczem na łańcuchu Ethereum, dopiero niedawno wrócił do ekosystemu bitcoina, planując wyemitować BTC-USDT. Counterparty zablokował część bitcoina i ma własny token XCP. Z Twittera wynika, że ostatnio zajmują się NFT.
Aby dowiedzieć się więcej o OP_RETURN, możesz zapoznać się z:
Analiza metadanych Bitcoin OP RETURN
Ręczne tworzenie OP_RETURN do wysyłania USDT 1
Użycie sidechaina do zakotwiczenia bitcoina: Rootstock & Liquid Network
Projekty Rootstock i Liquid Network pojawiły się około 2017 roku, są to projekty sidechainowe - używają dwukierunkowego wiązania (Two-way peg) do przenoszenia bitcoina na sidechain i korzystają z różnych Defi i dApps na zgodnym z EVM sidechainie. Mają tokeny podobne do WBTC (RSK ma RBTC, Liquid ma L-BTC), głównie skierowane do osób, które chcą używać BTC w ekosystemie Ethereum.
Emisja tokenów na Rootstock jest taka sama, jak na Ethereum, można powiedzieć, że ten sidechain oprócz wydobycia działa razem z łańcuchem bitcoina, a inne funkcje są dostosowane do ekosystemu Ethereum, na przykład kod inteligentnych kontraktów jest również pisany w Solidity. Dlatego wszystkie tokeny są emitowane na podstawie RBTC i nie są bezpośrednio związane z BTC.
Ponieważ ten artykuł koncentruje się głównie na publicznych łańcuchach, a Liquid Network jest łańcuchem konsorcjalnym, nie będziemy tu wchodzić w szczegóły.
Aby dowiedzieć się więcej o RSK, zapoznaj się z
RSK: łańcuch boczny bitcoina z inteligentnymi kontraktami (papier RSK)
RSK money
Najczęściej zadawane pytania (FAQs)
Niektóre z wymienionych wcześniej projektów zniknęły (np. kolorowe monety), inne wykorzystują bitcoina jako zasłonę do sprzedaży ekosystemu Ethereum. Stało się to głównie dlatego, że Ethereum, po przyjęciu kapitału, zyskało absolutną przewagę na rynku w zakresie DeFi i dApps, więc projekty DeFi, które nie współpracują z Ethereum, mają trudności z uzyskaniem przewagi. Tokeny na Ethereum emitowane są i handlowane za pomocą kontraktów, zgodnie z normami ERC-20 i innymi. Ekosystem bitcoina w ostatnich dwóch latach również zaczął odblokowywać funkcje kontraktów, takie jak BitVM, a standard tokenów BRC-20 również się pojawił.
Wdrażanie inteligentnych kontraktów na bitcoinie: RGB
RGB (Really Good for Bitcoin), który powstał w 2016 roku, został pierwotnie zaprojektowany jako konkurent dla kolorowych monet. Jednak w obliczu podobnych wyzwań zwrócił się ku włączaniu inteligentnych kontraktów na bitcoinie. Choć koncentruje się głównie na uruchamianiu inteligentnych kontraktów, a nie na emisji tokenów, z powodu ograniczeń ich maszyny wirtualnej AluVM, pełna funkcjonalność kontraktów pozostaje ograniczona do 2024 roku.
Pomysł RGB polega na umieszczeniu danych dostępnych poza łańcuchem i kodu inteligentnych kontraktów poza bitcoinem, a za pomocą Merkle root zapewnienie weryfikacji transakcji i zobowiązań dotyczących wydania tokenów (commitment), a łańcuch bitcoina tylko weryfikuje zobowiązania transakcji i ostateczność, dowodząc, że nie nastąpiło podwójne wydanie.
Warto wspomnieć, że RGB jednocześnie wykorzystuje zarówno weryfikację po stronie klienta, jak i technologię jednorazowych pieczęci, dzięki czemu nie oznacza tokenów na UTXO. Pojęcia te zostały po raz pierwszy zaproponowane przez Petera Todda w 2013 roku, a Giacomo Zucco i Maxim Orlovsky zaprojektowali protokół RGB na ich podstawie.
Weryfikacja po stronie klienta (Client-side validation) pozwala na przechowywanie danych i kodu używanych w transakcjach poza łańcuchem, nie jest publicznie transmitowana, a niektóre dane mogą być wymieniane tylko pomiędzy dwiema stronami transakcji, inne osoby niezwiązane z transakcją mogą być całkowicie nieświadome. Stan poza łańcuchem jest utrzymywany przez bitcoina, a blockchain pełni rolę znacznika czasu, co może dowodzić kolejności stanu.
Jednorazowa pieczęć (single-use seal) - to także najczęstszy przypadek weryfikacji po stronie klienta - to cyfrowa wersja jednorazowej pieczęci. Wykorzystując właściwość, że każdy UTXO może być wydany tylko raz, zapisuje informacje o stanie poza łańcuchem w UTXO. W ten sposób, jeśli w pewnym momencie UTXO zostanie wydany, wiemy, że stan został zaktualizowany, a zaktualizowane informacje stanu zapisane są w nowo wygenerowanym UTXO. Te informacje o stanie poza łańcuchem mogą dotyczyć własności tokenów USDT lub liczby tokenów w jakimś kontrakcie.
Na przykład, jeśli Alice chce przekazać USDT Bobowi, ten USDT nie istnieje na łańcuchu bitcoina, jego informacje są przechowywane poza łańcuchem, ale będzie on powiązany z UTXO kontrolowanym przez Alice. Informacje te są zapisane w transakcji, która wygenerowała ten UTXO, w polu OP_RETURN UTXO o wartości zero. Tak więc tylko Alice może wydać ten USDT, a Bob może śledzić, w których UTXO ten USDT był przechowywany w przeszłych transakcjach, czy te UTXO są ważne, a także czy transakcja jest legalna. W ten sposób, gdy Alice inicjuje transakcję, przenosząc informacje o zobowiązaniu tego USDT do UTXO kontrolowanego przez Boba, Bob może potwierdzić, że otrzymał ten USDT.
RGB może również działać na sieci Lightning, ponieważ jego stan jest poza łańcuchem, wystarczy umieścić zobowiązanie na łańcuchu lub w sieci Lightning. Po aktualizacji Taproot RGB może wbudować zobowiązanie w transakcję Taproot, co pozwala RGB na elastyczniejsze wbudowywanie zobowiązań w łańcuch bitcoina.
Aby dowiedzieć się więcej o RGB, zapoznaj się z:
RGB Blueprint 1
Obsługuje tylko tokeny, nie obsługuje inteligentnych kontraktów: aktywa Taproot
Taproot asset to projekt opracowany przez zespół Lightning Network Daemon (LND). Jego zasada jest podobna do RGB, ale nie wspiera złożonych inteligentnych kontraktów, wspiera tylko tokeny (patrz wyjaśnienie dotyczące Taproot).
Aby dowiedzieć się więcej o weryfikacji po stronie klienta, RGB i Taproot, zapoznaj się z
Weryfikacja po stronie klienta
Transakcje poza łańcuchem: Ewolucja protokołów aktywów bitcoina
Counterparty vs RGB vs TARO
Spraw, aby każdy satoshi był wyjątkowy: Ordinals & Inscription
Casey Rodarmor opublikował protokół Ordinal na początku 2023 roku. Projekt ten pierwotnie powstał z myślą o tym pomyśle: jak numerować satoshi, aby każdy z nich miał unikalny numer seryjny i mógł być uporządkowany. Pomysł ten powstał w tym samym czasie co kolorowe monety, a został ponownie zaproponowany dopiero w zeszłym roku. Dzięki dodaniu funkcji SegWit i Taproot jego realizacja stała się łatwiejsza. Ordinals sprawia, że każdy satoshi jest inny, co umożliwia bezpośrednie wydawanie NFT na łańcuchu bitcoina.
Inscription to taki projekt NFT. Dane NFT są przechowywane w danych witness transakcji, a nie w polu OP_RETURN używanym w poprzednich projektach, co pozwala na przechowywanie metadanych o wielkości do 4MB. W przeciwieństwie do NFT na Ethereum, Inscription przechowuje na łańcuchu zarówno metadane, jak i obrazy.
Aby dowiedzieć się więcej o ordinals, zapoznaj się z:
Ordinals: Wspólny grunt dla maksymalistów Ethereum i Bitcoina?
Ostateczny przewodnik po Bitcoin Ordinals i Inscription
Dwukierunkowe wiązanie dowolnego łańcucha UTXO: RGB++ izomorficzne wiązanie
RGB++ pierwotnie powstał jako protokół izomorficznego wiązania (isomorphic binding protocol) między BTC a CKB (podstawą Nervos Network), a teraz jego zastosowanie jest szerokie i nie ogranicza się tylko do CKB i BTC; teoretycznie można go używać do powiązania dwóch łańcuchów UTXO.
RGB++ rozwija pomysły RGB na weryfikację po stronie klienta i jednorazowe pieczęcie (Single-Use-Seals). Jak wcześniej wspomniano, największym problemem protokołu RGB jest to, że dane są przechowywane lokalnie przez użytkowników. Jeśli użytkownik przypadkowo zgubi dane, nie ma kopii zapasowej ani możliwości ich odzyskania. Ponadto użytkownicy przechowują tylko dane związane ze swoimi tokenami, co utrudnia weryfikację innych danych. Rozwiązanie polegające na izomorficznym wiązaniu nie tylko wiąże tokeny do pola OP_RETURN UTXO bitcoina, ale także wiąże odpowiednie informacje transakcyjne bitcoina do transakcji na łańcuchu CKB (poprzez użycie specjalnego skryptu IB-lock-script w Lock Script komórki CKB). Przy weryfikacji, czy transakcja na łańcuchu CKB jest legalna, Lock Script używa danych lekkiego klienta BTC na CKB, aby sprawdzić, czy odpowiedni UTXO został wydany, a nowo wygenerowany UTXO jest powiązany z informacjami o transakcji tokena (jako część informacji bez podpisu).
Cechy, na które warto zwrócić uwagę w RGB++:
Rozwiązanie problemu dostępności danych poprzez dwukierunkowe wiązanie:
Zobowiązanie CKB Cell powiązane z polem OP_RETURN UTXO
Informacje UTXO powiązane z output Cell transakcji CKB
Kompatybilność z siecią Lightning i Fiber Network (Lightning Network oparty na CKB)
Wsparcie dla wielu aktywów
Możliwość powiązania z dowolnym łańcuchem UTXO
Aby dowiedzieć się więcej o RGB++, zapoznaj się z:
RGB++ Protokół Lekki Papier
Ostateczny przewodnik po RGB, RGB++ i weryfikacji po stronie klienta
Aby lepiej zrozumieć zalety i ograniczenia poszczególnych projektów, porównaliśmy powyższe projekty w poniższej tabeli. Kluczowe wskaźniki to:
Dostępność danych (Data availability): łańcuchy izomorficzne (isomorphic-chain) i sidechainy różnią się niewiele, a dostępność danych poza łańcuchem jest słabsza niż w innych rozwiązaniach. Porządek od najsilniejszego do najsłabszego to: na łańcuchu ≥ łańcuch izomorficzny ≥ sidechain > poza łańcuchem;
Nośnik aktywów (Asset carrier): bezpośrednie powiązania z tokenami związanymi z BTC są lepsze od tych, które nie mają bezpośredniego powiązania;
Jednorodność (Fungibility): odnosi się do tego, czy natywne tokeny projektu mogą być wzajemnie wymieniane, nie oznacza to jednak, że projekt nie wspiera emisji NFT, które mogą być realizowane poprzez dodatkowe protokoły;
Ekspresyjność (Expressiveness): odnosi się do zdolności do obsługi złożonych inteligentnych kontraktów.