Explorando ErgoScript: El Lenguaje de Scripting Nativo de Ergo
26 de marzo de 2024

Lenguajes de Programación en Blockchain
El mundo de la programación informática destaca una amplia y diversa gama de lenguajes de codificación. No hay un tamaño único que se ajuste a todos, y cada lenguaje ofrece diferentes grados de ventajas y desventajas. Si estás familiarizado con la codificación, sin duda has oído hablar de JavaScript, Python, Java, C#, C++, Solidity, Rust y muchos más.
Cuando se trata de diseño de blockchain, varios de estos lenguajes se han utilizado en la construcción de redes de criptomonedas prominentes.

La Plataforma Ergo: Un Nuevo Paradigma en Scripting y Blockchain de Prueba de Trabajo
Cuando Alex Chepurnoy (también conocido como kushti) y Dmitry Meshkov se propusieron diseñar una nueva blockchain de contratos inteligentes de 3ra generación, querían crear una red que combinara la Prueba de Trabajo de Bitcoin y el diseño UTXO con contratos inteligentes expresivos. Esencialmente, el objetivo era unir el modelo probado de Bitcoin con la capacidad de Ethereum para producir contratos inteligentes y aplicaciones descentralizadas. En el corazón de este esfuerzo estaba el deseo de construir una blockchain para todos. Una que priorizara productos que mejoraran la vida del ciudadano promedio. De este esfuerzo, crearon y lanzaron la Plataforma Ergo.
Para construir Ergo, necesitaban crear un lenguaje de programación que satisficiera sus necesidades únicas. Juntos, kushti y Meshkov desarrollaron un nuevo lenguaje de scripting, ErgoScript, para que pudieran escribir contratos inteligentes flexibles y seguros en la Plataforma Ergo.
¿Qué es ErgoScript?
ErgoScript es el lenguaje de programación utilizado para escribir contratos inteligentes en la blockchain de Ergo. Se destaca particularmente por su capacidad para crear instrumentos financieros avanzados y aplicaciones descentralizadas (dApps) con un enfoque en la seguridad y escalabilidad. Su diseño se deriva de Scala, que es un lenguaje de programación multiparadigma diseñado para expresar patrones de programación comunes de manera concisa, elegante y segura en cuanto a tipos. En el Libro Blanco de Ergo, ErgoScript se describe como:
“…un lenguaje de scripting poderoso y amigable con los protocolos para criptomonedas. Los programas en ErgoScript se utilizan para especificar las condiciones bajo las cuales se puede gastar la moneda. El lenguaje admite un tipo de pruebas de conocimiento cero no interactivas llamadas protocolos Σ(Sigma) y es lo suficientemente flexible como para permitir firmas en anillo, múltiples firmas, múltiples monedas, intercambios atómicos, scripts auto-replicantes y computación a largo plazo.”
Las características clave de ErgoScript incluyen:
- Basado en Protocolos Sigma: ErgoScript se basa en Protocolos Sigma (o protocolos Σ), un tipo de protocolo criptográfico. Esta base permite la creación de contratos inteligentes flexibles y altamente seguros.
- Enfoque Declarativo: A diferencia de los lenguajes imperativos donde describes cómo hacer algo, en ErgoScript, describes qué condiciones deben cumplirse. Es un lenguaje declarativo donde el estado de la blockchain determina si un script es válido o no.
- Código Fuera de la Cadena: Ergo permite que se realicen operaciones complejas fuera de la cadena, reduciendo la carga en la blockchain. ErgoScript se utiliza para garantizar que estas operaciones cumplan con las reglas acordadas cuando se comprometen a la blockchain.
- Flexibilidad y Seguridad: El lenguaje está diseñado para proporcionar un alto grado de flexibilidad en la creación de contratos, al tiempo que garantiza un fuerte nivel de seguridad. Esto es particularmente importante en el contexto de contratos financieros y aplicaciones de finanzas descentralizadas (DeFi) en la Plataforma Ergo.
- Rentable: El diseño de Ergo, combinado con ErgoScript, tiene como objetivo minimizar el costo computacional de los contratos inteligentes. Esto es crucial para mantener un sistema de blockchain escalable y eficiente.
- Integración con las Características de Ergo: ErgoScript aprovecha las características únicas de Ergo, como el modelo de almacenamiento de cajas, donde los datos y tokens se almacenan en "cajas" en la blockchain, y se pueden establecer condiciones complejas sobre cómo se pueden transformar y utilizar estas cajas.
Código de ErgoScript: Un Ejemplo
El siguiente script contiene una condición para gastar una salida de transacción:
{
val condition = HEIGHT > 1000 && OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey")
sigmaProp(condition)
}
-
HEIGHT > 1000: Esto verifica si la altura actual del bloque de la blockchain es mayor que 1000.
HEIGHTse refiere a la altura de la blockchain en el momento de la transacción. Esta condición asegura que la salida solo se puede gastar después de que la blockchain haya alcanzado una cierta altura, creando efectivamente un bloqueo temporal. -
OUTPUTS(0).propositionBytes == fromBase64("yourBase64EncodedPublicKey"): Esta parte del script verifica si la primera salida (
OUTPUTS(0)) de la transacción tiene una clave pública específica. La clave pública está codificada en formato Base64 en el script. Esta condición asegura que la salida solo se puede gastar por una transacción que la envíe a una dirección (o clave pública) que especifiques. -
sigmaProp(condition): Esta es la forma de ErgoScript de afirmar que la condición definida debe evaluarse como verdadera para que el script se considere satisfecho. sigmaProp es una función que convierte una expresión booleana en una proposición Sigma.
Cuando este script se adjunta a una salida de transacción no gastada (UTXO) en la blockchain de Ergo, impone las condiciones de que la blockchain debe haber progresado más allá de la altura del bloque 1000, y la salida debe enviarse a la clave pública especificada para que se pueda gastar. Este tipo de script se puede utilizar para contratos bloqueados por tiempo o para garantizar que los fondos solo se envíen a un destinatario particular.
Si eres un desarrollador y tienes curiosidad sobre cómo la Plataforma Ergo puede ser viable para un producto que deseas construir, se recomienda que explores la sección Comenzando de la Documentación de Ergo.
Conclusión
Si bien ErgoScript ofrece varias ventajas, es importante señalar que el lenguaje "mejor" para la construcción de blockchain puede variar según las necesidades y objetivos específicos de un proyecto. Sin embargo, ErgoScript es particularmente adecuado para proyectos que requieren alta seguridad, funcionalidad avanzada de contratos y eficiencia en el procesamiento de transacciones. Con el tiempo, ha demostrado ser una herramienta probada y esencial para los desarrolladores que trabajan dentro del ecosistema Ergo, proporcionando un marco robusto para construir una amplia gama de soluciones descentralizadas.
Share post
13 de agosto de 2025
12 de agosto de 2025
9 de julio de 2025
12 de mayo de 2025

9 de febrero de 2022

8 de febrero de 2022

5 de febrero de 2022

1 de febrero de 2022

27 de enero de 2022

20 de enero de 2022

18 de enero de 2022

6 de enero de 2022

4 de enero de 2022

30 de diciembre de 2021

28 de diciembre de 2021

23 de diciembre de 2021








