Włącz inteligentne kontrakty do porządkowych na BTC

Ten post został po raz pierwszy opublikowany na Medium.

Połącz tokeny porządkowe i inteligentne kontrakty sCrypt

Ostatnio Ordinals cieszą się dużym zainteresowaniem w świecie BTC. Jednym z rzekomych głównych ograniczeń Ordinals jest brak obsługi inteligentnych kontraktów, w przeciwieństwie do innych standardów tokenów, takich jak ERC-721 Ethereum.

Demonstrujemy proces włączania inteligentnych kontraktów sCrypt do Ordinals, ogromnie rozszerzając zakres potencjalnych przypadków użycia. Wbrew powszechnemu przekonaniu liczby porządkowe można łączyć z dowolnymi inteligentnymi kontraktami od pierwszego dnia.

Podstawowy pomysł

Liczba porządkowa to zasadniczo satoshi z unikalnym numerem sekwencyjnym, „wpisanym” danymi. Napis ten trwale wiąże dane z satoshi, skutecznie przekształcając je w NFT. Dane inskrypcji przechowywane są w kopercie – fragmencie skryptu Bitcoin, który nigdy nie jest wykonywany.

Na przykład napis tekstowy „Hello, World!” może wyglądać następująco:

OP_FALSE zapewnia, że skrypt inskrypcyjny nigdy nie wejdzie do gałęzi OP_IF i pozostanie niezrealizowany. Cały skrypt napisowy można uznać za NOP (No Operation) i można go łączyć z innymi skryptami bez wpływu na ich wykonanie. Zwykle są one łączone za pomocą prostego skryptu sprawdzającego poprawność podpisów.

W kontekście sCrypt jest on dodawany na początku skryptu wygenerowanego z kompilacji inteligentnego kontraktu sCrypt. Nie zmienia zachowania kontraktu i można go bezproblemowo połączyć z dowolnym kontraktem, nie powodując żadnych problemów, dodając w ten sposób możliwości inteligentnych kontraktów do dowolnych liczb porządkowych.

Macica

Koperty inskrypcyjne wraz z całym pismem zamykającym zawarte są w tapscriptie. Ponieważ wydatki na skrypty taproot mogą wynikać wyłącznie z istniejących wcześniej wyników taproot, inskrypcje są wykonywane w dwuetapowym procesie zatwierdzania/ukazywania. Początkowo rozgłaszana jest transakcja zatwierdzenia, tworząc wynik wyjściowy, który zatwierdza skrypt zawierający kopertę. Następnie w transakcji ujawnienia wykorzystuje się dane wyjściowe transakcji zatwierdzenia, ujawniając w ten sposób treść zapisu na blockchainie.

Przenosić

Po wybiciu wspomnianego wcześniej tokena jego transfer kontrolowany jest przez inteligentny kontrakt, podobnie jak w przypadku natywnych bitcoinów. Każdy transfer ma możliwość przeniesienia tokena lub satoshi do innego inteligentnego kontraktu. Warto zaznaczyć, że nie ma poprzedzającego skryptu kopertowego zapewniającego przeniesienie, z wyjątkiem momentu wpisu wstępnego.

Wpisz liczbę porządkową za pomocą inteligentnego kontraktu

Poniżej znajduje się przykład NFT zawierający prosty napis tekstowy z ciągiem „Hello, sCrypt!”:

PorządkoweBot

Zatwierdź transakcję:
4754740650bee3fd089ca313d33d3820cdd36371ed0cd046f91b7a615b06c7c9
Ujawnij transakcję:
85696cd30fe6dea555770bbf4ca8766e106e9f51a420dd046d8b7488d59b2070
Jeśli przyjrzymy się ujawnionej transakcji NFT, zobaczymy, że świadek wejścia zawiera duży napis, zakończony kopertą z napisem:

20 0x7526ffac76fab398971f3a1688908961ef0b69bd 20 0x437258615b9ee7d68daaa11d7a9618ac968c59be
20 0xa75e16b064a686048bb9bb98a8e0d48d5baf78fe 20 0x519d8dcc251a72763598de67b77a817653151fcf
20 0x3a97630774dc650878fb11db2760a5b08a3d4412 20 0x02b6a2d36b7f1c6672aef7cd0121f141310a178d
OP_5 OP_PICK OP_5 OP_PICK OP_10 OP_PICK OP_NOP OP_0 OP_PICK OP_HASH160 OP_0 OP_PICK OP_4 OP_PICK
OP_EQUAL OP_NOTIF OP_0 OP_PICK OP_3 OP_PICK OP_EQUAL OP_ELSE OP_1 OP_ENDIF OP_VERIFY OP_0 OP_PICK
OP_3 OP_PICK OP_EQUAL OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL OP_DROP OP_1 OP_ROLL

OP_0 OP_IF 3 0x6f7264 1 0x01 10 0x746578742f706c61696e OP_0 14 0x48656c6c6f2c2073437279707421 OP_ENDIF

Skrypt poprzedzający kopertę jest w rzeczywistości skompilowaną wersją inteligentnego kontraktu sCrypt, który emuluje zobowiązanie bramki dla BitVM, o którym mówiliśmy wcześniej. Przeniesienie liczby porządkowej możliwe jest jedynie w przypadku przedstawienia ważnego otworu bramkowego, a nie podpisu.

gist.githubusercontent.com/xhliu/9ac1146b5a77026b6d4f6269b096c380/raw/d61bdbb92162c7a4f21f1a388c0e48d72d4a7e9b/DemoBitVM.ts

Potencjalne przypadki użycia

Elastyczność tokenów porządkowych złożonych z dowolnych inteligentnych kontraktów pozwala na szeroki zakres przypadków użycia, wcześniej uznawanych za niemożliwe. Na przykład przeniesienie liczby porządkowej do kontraktu Hash Time-Locked Contract (HTLC), aby można było ją atomowo zamienić na inny bitcoin lub liczbę porządkową, również zamkniętą w HLTC.

Obejrzyj: Tokeny na Bitcoinie? 1Sat Porządkowe i skrypt

Autor : BitcoinSV.pl

Źródło : Incorporate smart contracts into Ordinals on BTC – CoinGeek

Author: BitcoinSV.pl
CEO