Programowanie w Radiancie

Mar 10 2023
Radiant używa języka programowania o nazwie script odziedziczonego po Bitcoinie, ale dodającego zaawansowane funkcjonalności, które pozwalają mu być kompletnym Turingiem. Aby dobrze to zrozumieć, konieczny jest skok w czasie do początków Bitcoina.

Radiant wykorzystuje język programowania o nazwie script odziedziczony po Bitcoinie , ale dodający zaawansowane funkcjonalności, które pozwalają mu być kompletnym Turingiem.

Aby dobrze to zrozumieć, konieczny jest skok w czasie do początków Bitcoina .

Skrypt Bitcoina

Bitcoin potrzebował prostego języka do zarządzania transakcjami, a Satoshi zdecydował się użyć języka opartego na stosie, podobnego do Forth (1970), który nazywa się Bitcoin Script lub tylko Script .

Struktura transakcji

Jest to prosty język, który nie jest kompletny w sensie Turinga, co oznacza, że ​​brakuje mu pewnych funkcji logicznych, w tym pętli. Zrobiono to, aby upewnić się, że żadne skrypty w Bitcoin nie spowodują dużych ilości mocy obliczeniowej ani zakleszczeń z powodu błędu programowania.

Skrypt jest używany prawie wyłącznie do blokowania i odblokowywania bitcoinów, ponieważ nie można za jego pomocą tworzyć aplikacji ani uruchamiać programów.

OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

OP_Kody

Kody operacji to proste polecenia języka skryptowego, a każdy z nich ma bardzo specyficzne funkcje, pozwalające na precyzyjną interakcję z zawartością łańcucha bloków.

To są kody operacyjne, których można używać w Bitcoin

https://github.com/bitcoin/bitcoin/blob/24.x/src/script/script.h

Na poniższym obrazku możesz zobaczyć, jak język skryptowy Bitcoin działa z kodami OP_Codes w skrypcie sprawdzania poprawności. Przepływ wykonywania odbywa się od lewej do prawej, a operator po prawej stronie wykonuje akcję po lewej stronie, jeśli tak.

6 2 ADD = 8
8 8 EQUAL = TRUE

      
                

OP_Codes w Radiancie

Radiant dodaje do języka skryptowego szereg funkcjonalności, które pozwalają mu być Turing Complete , opartym na indukcji matematycznej. Jest to dodawane w następujących zaawansowanych kodach OP_Codes.

https://github.com/RadiantBlockchain/radiant-node/blob/master/src/script/script.h

OP_PUSHINPUTREF: Klucz do wszystkiego

Jednym z największych problemów związanych z zarządzaniem oznaczonymi UTXOS, podobnie jak w przypadku obecnych liczb porządkowych, jest poznanie historii aż do początku. Można to zrobić na dwa proste sposoby.

1/ Z zewnętrznym skryptem, który weryfikuje pochodzenie i zezwala na wyjście (wyrocznia).
2/ Dodanie całej historii w tym samym UTXO, dzięki czemu stale rośnie.

W Radiant rozwiązuje się to poprzez dodanie unikalnej i globalnej referencji w tych transakcjach, co pozwala skutecznie zweryfikować pochodzenie bez potrzeby wyroczni lub ciągłego zwiększania rozmiaru UTXO.

RadiantScript

Jedną z najbardziej złożonych części programowania z OP_Codes jest ich język stosu.

Aby rozwiązać ten problem, pracujemy nad RadiantScript , który będzie pierwszym interpreterem programowania zarządzającym potencjałem Radiant dzięki OP_Codes z językiem programowania wysokiego poziomu dla inteligentnych kontraktów w Radiant .

Jego składnia jest oparta na języku inteligentnych kontraktów Solidity Ethereum , ale jego funkcjonalność jest bardzo różna, ponieważ inteligentne kontrakty w Radiant znacznie różnią się od inteligentnych kontraktów w Ethereum.

Obecnie jest w fazie testów i jest w trakcie dokumentowania programowania, ponieważ zawiera nowe kody OP_Codes .

Przyszłość

Kiedy powstał Radiant, zrobiono to z myślą o pracy od pierwszego dnia , a nie czekaniu miesiącami lub latami na dodanie zmian do łańcucha. W tej chwili możliwe jest już wykorzystanie wszystkich jego możliwości, ale najbardziej skomplikowaną częścią jest posiadanie oprogramowania, które może programować w nowych OP_Codes , a to wymaga czasu i rozwoju.

Ale przyszłość rysuje się w jasnych barwach, bo ten nowy kod pozwoli konkurować potencjałem z dużymi sieciami jak Ethereum, Cardano czy Solana.

(Będzie to jeden z wielu artykułów poświęconych technicznej stronie Świetlistych , w których tkwi cały ich potencjał).

Bibliografia

  • https://radiant4people.com/tech/radiant-system-design
  • https://www.researchgate.net/publication/335146032_An_Analysis_of_Non-standard_Transactions
  • https://github.com/bitcoinbook/bitcoinbook
  • https://github.com/RadiantBlockchain-Community/radiantscript