Programmazione in radiante

Mar 10 2023
Radiant utilizza un linguaggio di programmazione chiamato script ereditato da Bitcoin, ma aggiungendo funzionalità avanzate che gli consentono di essere Turing completo. Per capirlo bene è necessario fare un salto nel tempo agli inizi di Bitcoin.

Radiant utilizza un linguaggio di programmazione chiamato script ereditato da Bitcoin , ma aggiungendo funzionalità avanzate che gli consentono di essere Turing completo.

Per capirlo bene è necessario fare un salto nel tempo agli inizi di Bitcoin .

Script Bitcoin

Bitcoin aveva bisogno di un linguaggio semplice per gestire le transazioni e Satoshi ha deciso di utilizzare un linguaggio basato su stack, simile a Forth (1970), che si chiama Bitcoin Script o solo Script .

Struttura delle transazioni

È un linguaggio semplice che non è Turing completo, il che significa che manca di alcune funzioni logiche, compresi i loop. Ciò è stato fatto per garantire che nessuno script in Bitcoin causi grandi quantità di potenza computazionale o deadlock a causa di un errore di programmazione.

Lo script viene utilizzato quasi esclusivamente per bloccare e sbloccare i bitcoin, poiché non è possibile creare applicazioni o eseguire programmi con esso.

OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

OP_Codici

Gli opcode sono semplici comandi del linguaggio script e ognuno di essi ha funzioni ben precise, permettendo di interagire con il contenuto della blockchain in modo preciso.

Questi sono i codici operativi che possono essere utilizzati in Bitcoin

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

Nell'immagine seguente puoi vedere come funziona il linguaggio di script Bitcoin con OP_Codes in uno script di convalida. Il flusso di esecuzione è da sinistra a destra e l'operatore a destra esegue un'azione a sinistra in tal caso.

6 2 ADD = 8
8 8 EQUAL = TRUE

      
                

OP_Codici in radiante

Radiant aggiunge al linguaggio di script una serie di funzionalità che gli permettono di essere Turing Complete , basato sull'induzione matematica. Questo viene aggiunto nei seguenti OP_Codes avanzati.

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

OP_PUSHINPUTREF : La chiave di tutto

Uno dei grossi problemi della gestione di UTXOS con tag, come con gli attuali ordinali, è conoscere la cronologia fino all'origine. Questo può essere fatto in due semplici modi.

1/ Con uno script esterno che verifica l'origine e consente l'output (oracolo).
2/ Aggiungere tutta la storia nello stesso UTXO, facendolo crescere continuamente.

In Radiant questo viene risolto aggiungendo un riferimento univoco e globale in queste transazioni, consentendo di convalidare l'origine in modo efficiente senza la necessità di oracoli o aumentando la dimensione dell'UTXO in modo costante.

RadiantScript

Una delle parti più complesse della programmazione con OP_Codes è il loro linguaggio stack.

Per risolvere questo problema, stiamo lavorando su RadiantScript , che sarà il primo interprete di programmazione a gestire il potenziale di Radiant con i suoi OP_Codes con un linguaggio di programmazione di alto livello per contratti intelligenti in Radiant .

La sua sintassi è basata sul linguaggio del contratto intelligente Solidity di Ethereum , ma la sua funzionalità è molto diversa poiché i contratti intelligenti in Radiant differiscono notevolmente dai contratti intelligenti in Ethereum.

Attualmente è in fase di test ed è in fase di documentazione della programmazione in quanto contiene nuovi OP_Codes .

Il futuro

Quando Radiant è stato concepito, è stato fatto con l'idea di lavorare dal primo giorno e non aspettare mesi o anni per aggiungere sviluppi alla catena. In questo momento è già possibile utilizzare tutte le sue capacità, ma la parte più complicata è avere un software che possa programmare nei nuovi OP_Codes e questo richiede tempo e sviluppo.

Ma il futuro è luminoso, perché questo nuovo codice consentirà di competere con le grandi catene come Ethereum, Cardano o Solana in termini di potenziale.

(Questo sarà uno dei tanti articoli incentrati sul lato tecnico di Radiant , che è dove risiede il suo pieno potenziale.)

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