Uzyskaj dostęp do innych łańcuchów bloków z Bitcoin bez zaufania

Ten post został po raz pierwszy opublikowany na Medium.

Wcześniej pokazaliśmy, jak uzyskać dostęp do danych blockchain BSV z działających na nim inteligentnych kontraktów za pomocą SPV (uproszczona weryfikacja płatności). Rozszerzamy ten pomysł na dostęp do innych łańcuchów bloków kompatybilnych z SPV.

Na przykład każdy może wybić token na Bitcoin SV, pod warunkiem, że zablokuje BTC na określony czas. Zapewniamy pierwsze w historii wdrożenia, które mogą być podstawą dla wielu innych aplikacji.

Jak działa „Zablokuj na Mint”.

Ostatnio wzrosło zainteresowanie mechanizmem „Lock to Mint”. Mechanizm ten ułatwia blokowanie czasowe aktywów Bitcoin w celu wybicia wymiennych tokenów BSV-20 w sieci Bitcoin.

Jest to instancja wykorzystania inteligentnego kontraktu do kontrolowania bicia tokenów BSV20 (v2), którą wprowadziliśmy wcześniej. Mechanizm „Lock to Mint” służy jako ograniczenie w procesie bicia tokenów BSV-20. Umowa zapewnia, że transakcja wydatków musi obejmować dodatkowy wynik w blokadzie czasowej.

Więcej szczegółów na temat działania tego procesu w kontekście wyłącznie BSV można znaleźć w tym skrócie.

Łańcuch krzyżowy

Tę inteligentną umowę można rozszerzyć, aby wymagała blokowania czasowego środków w innym łańcuchu obsługującym blokady czasowe i spółki celowe, takie jak BTC. Osiąga się to poprzez weryfikację dowodu SPV w ramach inteligentnej umowy. Zasadniczo kontrakt przed wybiciem weryfikuje włączenie transakcji czasowej z poprawnymi parametrami (czas blokady i miejsce docelowe płatności) w bloku BTC. Wydajność SPV pozwala na to, aby ta walidacja była wykonalna obliczeniowo. Jest to szczególnie możliwe w przypadku BTC, ponieważ cieszy się on największą trudnością w hashowaniu w dowodzie działania, a zatem sprawia, że wyprodukowanie prawidłowego, ale fałszywego nagłówka bloku spoza głównego łańcucha jest niezwykle kosztowne.

Realizacja

Poniższy kod jest implementacją takiego inteligentnego kontraktu. Wykorzystujemy bibliotekę scrypt-ord do łatwej integracji liczb porządkowych.

Kontrakt udostępnia pojedynczą metodę publiczną o nazwie „mint”. Załóżmy, że chcielibyśmy wybić 10 nowych tokenów.

Zanim to wywołamy, musimy skonstruować i wyemitować transakcję czasową na BTC z odpowiednią kwotą i czasem blokady. Transakcja będzie standardowym P2WSH dla skryptu realizacji o następującym formacie:

Po wydobyciu i potwierdzeniu tej transakcji konstruujemy dla niej dowód SPV, składający się z dowodu Merkle i jego nagłówka bloku. Teraz możemy wywołać metodę publiczną, przekazując serializowaną transakcję wraz z dowodem i resztą parametrów, którymi są adres docelowy tokenu, klucz publiczny blokady i kwota tokenu. Aby było bardziej wiarygodnie, możemy poprosić o więcej niż jedno potwierdzenie.

Poniżej znajduje się taka transakcja z blokadą czasową BTC w sieci testowej.

70bd8b876bacd6ad9df1100f8e691bada729e28ee3d311e949868c75d0bf690b

Jest on wprowadzany do transakcji menniczej w sieci testowej Bitcoin SV.

db4d5b33eb2a095ee29ff1443613f5bc6db55c1eef724d1a5d93d0e6a2381fc7

Pełny kod smart kontraktu wraz z testem dostępny jest na GitHubie.

Oto także dwa skrypty Pythona, których użyliśmy do skonstruowania transakcji w celu wdrożenia i realizacji transakcji z blokadą czasową na BTC.

Rozszerzenia

Przykład można rozszerzyć na wiele sposobów. Zasadniczo umożliwia inteligentnemu kontraktowi na Bitcoin SV dostęp do innych kompatybilnych danych blockchain, takich jak bloki i transakcje, bez ufania wyroczni. Poniżej podajemy więcej przykładów:

Trustless One-Way Peg-In: podobnie jak w sidechainie, można wysłać trochę BTC na podany adres i mieć pewność, że uda mu się wybić opakowany token na Bitcoin SV. Należy pamiętać, że jest to jeden ze sposobów, ponieważ BTC nie ma możliwości weryfikacji dowodów SPV.
Losowość: można użyć bloku BTC jako źródła entropii, takiego jak skrót jego bloku, w grze na Bitcoin SV. Tworzenie fałszywych nagłówków jest o rząd wielkości droższe niż w przypadku Bitcoin SV.
Cyberbezpieczeństwo: Blockchain to technologia zaufania

Autor : BitcoinSV.pl

Źródło : Access other blockchains from Bitcoin trustlessly – CoinGeek

Author: BitcoinSV.pl
CEO