Programación en Radiante

Mar 10 2023
Radiant utiliza un lenguaje de programación llamado script heredado de Bitcoin, pero añadiendo funcionalidades avanzadas que le permiten ser Turing completo. Para entenderlo bien es necesario dar un salto en el tiempo a los inicios de Bitcoin.

Radiant utiliza un lenguaje de programación llamado script heredado de Bitcoin , pero añadiendo funcionalidades avanzadas que le permiten ser Turing completo.

Para entenderlo bien es necesario dar un salto en el tiempo a los inicios de Bitcoin .

Guión de Bitcoin

Bitcoin necesitaba un lenguaje simple para administrar las transacciones y Satoshi decidió usar un lenguaje basado en pilas, similar a Forth (1970), que se llama Bitcoin Script o solo Script .

Estructura de la transacción

Es un lenguaje simple que no es Turing completo, lo que significa que carece de ciertas funciones lógicas, incluidos los bucles. Esto se hizo para garantizar que ningún script en Bitcoin cause grandes cantidades de potencia computacional o interbloqueos debido a un error de programación.

El script se usa casi exclusivamente para bloquear y desbloquear bitcoins, ya que no puede crear aplicaciones ni ejecutar programas con él.

OP_DUPOP_HASH160 OP_EQUALVERIFY OP_CHECKSIG

Códigos_OP

Los opcodes son simples comandos del lenguaje script y cada uno de ellos tiene funciones muy específicas, permitiendo interactuar con el contenido de la cadena de bloques de manera precisa.

Estos son los códigos de operación que se pueden usar en Bitcoin

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

En la siguiente imagen puede ver cómo funciona el lenguaje de script de Bitcoin con los OP_Codes en un script de validación. El flujo de ejecución es de izquierda a derecha y el operador de la derecha realiza una acción de la izquierda si es así.

6 2 ADD = 8
8 8 EQUAL = TRUE

      
                

OP_Codes en Radiant

Radiant añade al lenguaje de script una serie de funcionalidades que le permiten ser Turing Complete , basado en la inducción matemática. Esto se agrega en los siguientes OP_Codes avanzados.

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

OP_PUSHINPUTREF: La clave de todo

Uno de los grandes problemas de gestionar UTXOS etiquetados, como ocurre con los ordinales actuales, es conocer la historia hasta el origen. Esto se puede hacer de dos maneras simples.

1/ Con un script externo que verifica el origen y permite la salida (oracle).
2/ Sumando toda la historia en una misma UTXO, haciéndola crecer continuamente.

En Radiant esto se soluciona añadiendo una referencia única y global en estas transacciones, permitiendo validar el origen de forma eficiente sin necesidad de oráculos ni aumentando el tamaño de la UTXO de forma constante.

Escritura radiante

Una de las partes más complejas de la programación con OP_Codes es su lenguaje de pila.

Para resolver esto, estamos trabajando en RadiantScript , que será el primer intérprete de programación en administrar el potencial de Radiant con sus OP_Codes con un lenguaje de programación de alto nivel para contratos inteligentes en Radiant .

Su sintaxis se basa en el lenguaje de contrato inteligente Solidity de Ethereum , pero su funcionalidad es muy diferente ya que los contratos inteligentes en Radiant difieren mucho de los contratos inteligentes en Ethereum.

Actualmente se encuentra en fase de pruebas y está en proceso de documentar la programación ya que contiene nuevos OP_Codes .

El futuro

Cuando se concibió Radiant, se hizo con la idea de trabajar desde el día 1 y no esperar meses o años para agregar desarrollos a la cadena. Ahora mismo ya es posible usar todas sus capacidades, pero lo más complicado es tener un software que pueda programar en los nuevos OP_Codes y esto requiere tiempo y desarrollo.

Pero el futuro es brillante, porque este nuevo código permitirá competir con las grandes cadenas como Ethereum, Cardano o Solana en términos de potencial.

(Este será uno de los muchos artículos centrados en el aspecto técnico de Radiant , que es donde reside todo su potencial).

Bibliografía

  • 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