Zintegruj liczby porządkowe z inteligentnymi kontraktami na Bitcoin: część 1

Ten post został po raz pierwszy opublikowany na Medium.

Ostatnio Bitcoin Ordinals cieszą się dużym zainteresowaniem w przestrzeni blockchain. Jedną z rzekomych głównych wad Ordinals jest brak obsługi inteligentnych kontraktów w porównaniu z innymi standardami tokenów, takimi jak ERC-721 Ethereum.

Pokazujemy, jak dodać możliwości inteligentnych kontraktów do Ordinals, poszerzając spektrum ich zastosowań. Wbrew powszechnemu przekonaniu liczby porządkowe są nie tylko kompatybilne z inteligentnymi kontraktami, ale w rzeczywistości doskonale nadają się do inteligentnych kontraktów.

Jako przykład opracowaliśmy inteligentny kontrakt, który umożliwia korzystanie z dozwolonych liczb porządkowych. W porównaniu ze zwykłym/bez zezwolenia porządkowym, każdy przelew musi zostać zatwierdzony i podpisany przez emitenta.

Podstawowy pomysł

Bitcoin wykorzystuje model UTXO ((Unspent Transaction Output). Każdy UTXO składa się z dwóch pól:

wartość: liczba satoshi na tym wyjściu
skrypt: skrypt Bitcoin, który blokuje dane wyjściowe.
Jeśli UTXO jest wpisany jako token niezamienny (NFT) przy użyciu liczb porządkowych 1Sat, wartość wynosi 1, a skrypt kontroluje sposób wybicia lub przeniesienia tokenu. Ponieważ satoshi i skrypt znajdują się w dwóch ortogonalnych polach, token porządkowy można zablokować w dowolnym skrypcie. Oznacza to, że token może być kontrolowany przez dowolną inteligentną umowę.

Mennica

Jak wspomnieliśmy wcześniej, liczba porządkowa jest wpisana w „kopertę” pomiędzy kodami operacji OP_FALSE OP_IF i OP_ENDIF.

OP_FALSE zapewnia, że skrypt inskrypcyjny nigdy nie wejdzie do gałęzi OP_IF i nigdy nie zostanie wykonany. Całość pisma inskrypcyjnego można uznać za NOP i połączyć z innym pismem bez zmiany jego wykonania.

W przypadku sCrypt jest on dołączany do skryptu blokującego, który kompiluje się z inteligentnego kontraktu sCrypt¹. Nie zmienia to zachowania umowy i dlatego można ją bezpiecznie łączyć z dowolną umową.

Przenosić
Po wybiciu tokena jego transfer jest podyktowany inteligentnym kontraktem, podobnie jak w przypadku rodzimych bitcoinów. Każdy transfer może przenieść token/satoshi do nowej inteligentnej umowy. Należy pamiętać, że nie ma poprzedzającego pisma inskrypcyjnego zapewniającego przeniesienia, tylko wtedy, gdy jest on wpisany po raz pierwszy.

Dozwolone liczby porządkowe

Większość liczb porządkowych używa obecnie Pay To Pubkey Hash (P2PKH) jako skryptu blokującego. Kiedy Alicja chce przekazać liczbę porządkową Bobowi, nie potrzebuje pozwolenia żadnej osoby trzeciej.

Zdarzają się przypadki, gdy każdy transfer musi zostać zatwierdzony przez emitenta, np. ze względu na zgodność z prawem. Wybijając taką liczbę porządkową, możemy skorzystać z następującego inteligentnego kontraktu.

Dozwolone Umowa zwyczajna

Oprócz podpisu obecnego właściciela w wierszu 26, który jest stanem umowy w wierszu 10, potrzebny jest także podpis wystawcy w wierszu 28.

Ponieważ umowa jest stanowa, każdy transfer musi zapewniać przeniesienie satoshi do tego samego kontraktu, zapewniając, że wszystkie kolejne transfery również będą wymagały podpisu wystawcy, a nie tylko pierwszy transfer po wybiciu. Należy zwrócić uwagę, że początkowy napis napisowy jest wycinany przy pierwszym transferze w linii 38.

Inne potencjalne przypadki użycia

Ortogonalność tokenów porządkowych i inteligentnych kontraktów oznacza, że można je komponować w nieskończoność. Istnieje wiele sposobów ich łączenia. Poniżej podajemy tylko kilka przykładów:

Blokada porządkowa: blokuje porządkowe utxo, które może odblokować każdy, kupując lub anulowane przez listującego.
OP-NS: użyj inskrypcji porządkowych wspieranych przez mini dowód pracy, aby stworzyć uczciwy, hierarchiczny system nazewnictwa dla przestrzeni danych Bitcoin
Zamiana atomowa między liczbami porządkowymi i bitcoinami: zablokuj liczby porządkowe w HLTC, aby umożliwić sprzedaż bez zaufania
Limit podaży: obecnie BSV-20² pozwala na wybicie większej liczby tokenów niż maksymalna podaż podczas wdrażania. Korzystając z kontraktu, możemy zabronić takich transakcji menniczych w łańcuchu, zamiast unieważniać je poza łańcuchem u indeksatorów po fakcie
Czarna/biała lista
Zamrażanie i odzyskiwanie
UWAGI:
[1] Tak naprawdę skrypt napisowy można wstawić w dowolnym miejscu, gdy inteligentny kontrakt sCrypt jest bezstanowy. Można go np. dołączyć do skryptu umowy. Ale dołączanie nie działa w przypadku kontraktów stanowych. Aby współpracowało z dowolną umową sCrypt, ustaliliśmy to na samym początku jako konwencję.
[2] Wymienny standard tokenów oparty na liczbach porządkowych 1Sat.

Obejrzyj: Porządkowe w BSV! Luke Rohenaz wyjaśnia ich użyteczność i wartość

Autor : BitcoinSV.pl

Źródło : Integrate Ordinals with smart contracts on Bitcoin: Part 1 – CoinGeek

Author: BitcoinSV.pl
CEO