Contratos Inteligentes para el Pueblo

This page is machine-translated.
Alex Chepurnoy

19 de octubre de 2018

Muchos de los noticias relacionadas con blockchain en estos días nos dicen que un banco X o una corporación Y
ván a usar una "blockchain" para "reducir costos". Básicamente significa que solo otra palabra de moda es
considerada por los grandes banqueros como solo otra herramienta para extraer valor de todas partes de una manera más eficiente,
y también para ahorrar en la reducción de puestos de trabajo.

Mientras evito decir algo sobre "la visión de Satoshi" (nada más que especulaciones se podrían encontrar allí después de
su éxodo), una visión amplia que presencié en los primeros años alrededor de los foros en línea es que una criptomoneda
debe proporcionar herramientas para enriquecer a las personas comunes detrás de sus pequeños negocios que apenas logran llegar a fin de mes, no a un gran capital financiero despersonalizado. Las herramientas de
a una criptomoneda, a los ojos de la visión original de la comunidad, deberían permitir a las personas realizar actividades económicas sin depender del tamaño del negocio, la ubicación geográfica, las tasas de interés establecidas por los grandes jugadores, etc.
Las herramientas deberían permitir a las personas hacer contratos (no contratos en papel, sino contratos digitales, autoejecutables y razonablemente inteligentes) sin depender de diferencias en jurisdicciones, tradiciones, prácticas comerciales seguidas, etc.

Espero que Ergo sea útil aquí. Miles de pequeñas cooperativas y emprendedores individuales son más importantes para un crecimiento de riqueza saludable y sostenible en todo el mundo que un par de corporaciones que ocultan ganancias en paraísos fiscales.

Como ejemplo, consideremos una federación cooperativa (como Radical Routes) dispuesta a proporcionar ayuda financiera a un emprendedor a miles de kilómetros de distancia (digamos, en Rojava).

Necesitamos asumir algunos detalles ahora. En primer lugar, supongamos que hay cuatro cooperativas en la red. Ellas bloquean colectivamente 10,000 Ergs (en partes iguales, así que 2,500 Ergs cada una) en un contrato, que dice lo siguiente:

  1. Las cooperativas están asociadas con claves públicas pubkeyA, pubkeyB, pubkeyC, pubkeyD. El emprendedor está asociado con una clave pública businessKey.
  2. Las cooperativas están bloqueando dinero en una moneda protegida por un contrato de financiamiento, luego realizan la debida diligencia y votan sobre si financiar al emprendedor o no. Todo el fondo del contrato (10,000 Ergs) irá al emprendedor si 3 votos de 4 son a favor. Técnicamente, la votación se realiza a través de una firma de umbral de 3 de 4. Si la votación no tiene éxito (3 de 4 firmas no se recogen) antes del número de bloque 1,000, cualquier cooperativa (de hecho, cualquier persona) puede enviar una transacción de retiro, que devuelve 2,500 Ergs (como mínimo) a cada cooperativa. Además, el contrato de financiamiento también se llamará el contrato de votación.
  3. Las inversiones podrían gastarse en tres objetivos, con algunos límites estrictos. Es decir, el emprendedor debe gastar al menos 5,000 Ergs en equipos, al menos 2,000 Ergs en la construcción de un edificio necesario, otros fondos que el emprendedor puede gastar arbitrariamente.
  4. Para asegurarse de que el dinero para equipos se gastará en equipos, la federación cooperativa está utilizando claves públicas de vendedores de equipos conocidos en el área del emprendedor. Por ejemplo, considere que hay vendedores de equipos con claves públicas pubkeyTool1, pubkeyTool2, pubkeyTool3, pubkeyTool4 en el área. Técnicamente, la transferencia se organiza como una firma colectiva de uno de los vendedores de equipos (así que firma en anillo de los vendedores de equipos Y la firma del emprendedor)
  5. De manera similar, suponga que hay 3 constructores en la federación cooperativa que se está reconociendo, asociados con claves públicas pubkeyConstr1, pubkeyConstr2, y pubkeyConstr3.
  6. De manera similar al contrato de votación, si los contratos de equipos y construcción no son co-firmados antes del número de bloque 5000, las cooperativas de la federación podrían retirar fondos.

Hay diferentes formas de definir contratos en Ergo. Un script en el lenguaje de bajo nivel, ErgoTree, describe una (única) condición lógica sobre si una moneda podría gastarse de acuerdo a ello, y también una prueba de gasto proporcionada por una transacción de gasto. Internamente, la condición se representa como un árbol de sintaxis tipado, de ahí el nombre. La estructura nos permite realizar análisis de costos anticipados, etc. Un lenguaje de nivel superior llamado ErgoScript permite tener una descripción más tradicional y legible, usar variables y dividir la lógica en subrutinas.

Comencemos con el contrato principal definido en (1-3) arriba:

{
 val votingSuccess  = atLeast(3, Array(pubkeyA, pubkeyB, pubkeyC, pubkeyD))
 val properSpending = OUTPUTS(0).value >= 5000L &&
                      blake2b256(OUTPUTS(0).propositionBytes) == spendingContract1Hash &&
                      OUTPUTS(1).value >= 2000L &&
                      blake2b256(OUTPUTS(1).propositionBytes) == spendingContract2Hash

 val withdrawCondition = HEIGHT >= 1000L &&
                         OUTPUTS(0).value >= 2500L && OUTPUTS(0).propositionBytes == pubkeyA.propBytes &&
                         OUTPUTS(1).value >= 2500L && OUTPUTS(1).propositionBytes == pubkeyB.propBytes &&
                         OUTPUTS(2).value >= 2500L && OUTPUTS(2).propositionBytes == pubkeyC.propBytes &&
                         OUTPUTS(3).value >= 2500L && OUTPUTS(3).propositionBytes == pubkeyD.propBytes 

 (votingSuccess && properSpending) || withdrawCondition
}

Este script en ErgoScript se compilará en un árbol de sintaxis (que se escribirá en la blockchain en una forma serializada) al vincularlo con valores concretos para las variables (pubkeyA, pubkeyB, pubkeyC, pubkeyD, spendingContract1Hash, spendingContract2Hash). spendingContract1Hash es un hash del script de gasto de equipos (serializado) que se proporcionará a continuación, spendingContract2Hash es un hash del script de gasto de construcción.

El script de gasto de equipos es el siguiente:

{
 val spendingSuccess = (pubkeyTool1 || pubkeyTool2 || pubkeyTool3 || pubkeyTool4) && businessKey

 val withdrawCondition = HEIGHT > 5000L &&
                         OUTPUTS(0).value >= 1250L && OUTPUTS(0).propositionBytes == pubkeyA.propBytes &&
                         OUTPUTS(1).value >= 1250L && OUTPUTS(1).propositionBytes == pubkeyB.propBytes &&
                         OUTPUTS(2).value >= 1250L && OUTPUTS(2).propositionBytes == pubkeyC.propBytes &&
                         OUTPUTS(3).value >= 1250L && OUTPUTS(3).propositionBytes == pubkeyD.propBytes 

 spendingSuccess || withdrawCondition
}

Y el script de construcción es:

{
 val spendingSuccess = (pubkeyConstr1 || pubkeyConstr2 || pubkeyConstr3) && businessKey

 val withdrawCondition = HEIGHT > 5000L &&
                         OUTPUTS(0).value >= 500L && OUTPUTS(0).propositionBytes == pubkeyA.propBytes &&
                         OUTPUTS(1).value >= 500L && OUTPUTS(1).propositionBytes == pubkeyB.propBytes &&
                         OUTPUTS(2).value >= 500L && OUTPUTS(2).propositionBytes == pubkeyC.propBytes &&
                         OUTPUTS(3).value >= 500L && OUTPUTS(3).propositionBytes == pubkeyD.propBytes 

 spendingSuccess || withdrawCondition
}

Ahora suponga que la federación cooperativa ha creado una moneda protegida por el contrato de votación. A continuación se muestra cómo el emprendedor puede hacer su negocio:

  1. Crear una transacción que consuma la moneda y cree al menos tres monedas, una con el contrato de gasto de equipos, otra con el contrato de gasto de construcción, la tercera crea una moneda protegida por la clave pública del emprendedor.
  2. Enviar la transacción a las cooperativas, esperar a que la transacción con la entrada firmada por umbral se publique en la blockchain.
  3. Considerar un contrato con un vendedor de equipos, co-firmar una transacción de gasto.
  4. Considerar un contrato con un constructor, co-firmar una transacción de gasto.

El emprendedor puede fácilmente escapar sin hacer ningún negocio, pero con no más de 3,000 Ergs. Esto se puede solucionar, por ejemplo, este dinero podría hacerse gastable solo después del número de bloque 5,000, y antes de eso el dinero podría ser retirado por las cooperativas. Para los gastos de equipos y construcción, el emprendedor está trabajando junto con algunos, presumiblemente ya reputados, negocios. Así, el inversor está reduciendo sus riesgos.

Puedes encontrar código y ejemplos de transacciones en línea. Por favor, ten en cuenta que tenemos más ejemplos de esquemas de firma complejos, contratos de múltiples pasos (con rutas de ejecución en curso reveladas, como MAST en Bitcoin, pero con ciclos permitidos), oráculos, crowdfunding, etc. Por favor, revisa nuestro repositorio de ejemplos.

Share post

Ergo Infrastructure DAO: Descentralizando la columna vertebral del ecosistema Ergo

Ergo Infrastructure DAO: Descentralizando la columna vertebral del ecosistema Ergo

La misión de Ergo siempre ha estado arraigada en la descentralización, no solo en la capa de consenso, sino en toda la pila.

Ergo Platform

13 de agosto de 2025

Mew Finance: Un Kit de Herramientas DeFi Divertido para el Ecosistema Ergo

Mew Finance: Un Kit de Herramientas DeFi Divertido para el Ecosistema Ergo

Mew Finance es un conjunto de aplicaciones descentralizadas en la Blockchain de Ergo.

Ergo Platform

12 de agosto de 2025

Lithos: Descentralizando la Minería con Pools On-Chain

Lithos: Descentralizando la Minería con Pools On-Chain

Lithos es un nuevo protocolo diseñado para reformar cómo funcionan los pools de minería al trasladarlos a la cadena, dando a los m.

Ergo Platform

24 de julio de 2025

Sigma 6.0: Un Ergo Más Inteligente y Flexible

Sigma 6.0: Un Ergo Más Inteligente y Flexible

Sigma 6.0 es una importante actualización propuesta para la blockchain de Ergo.

Ergo Platform

23 de julio de 2025

Dando forma al futuro de Rosen: Una llamada comunitaria sobre cinco propuestas clave del Tesoro

Dando forma al futuro de Rosen: Una llamada comunitaria sobre cinco propuestas clave del Tesoro

El cofundador de Rosen, Armeanio, ha presentado cinco nuevas propuestas al Tesoro de Rosen.

Ergo Platform

9 de julio de 2025

El UTXO Ampliado de Ergo y el Auge de la Inteligencia Económica Artificial

El UTXO Ampliado de Ergo y el Auge de la Inteligencia Económica Artificial

Una Visión Práctica para Agentes Económicos Autónomos Los agentes económicos autónomos en la blockchain de Ergo realizan trabajos.

Ergo Platform

12 de mayo de 2025

ErgoHACK X: Inteligencia Artificial en la Blockchain de Ergo

ErgoHACK X: Inteligencia Artificial en la Blockchain de Ergo

Celebrando una Década de Innovación Descentralizada ¡Únete al décimo aniversario de ErgoHACK y sé parte de la revolución de la IA .

Ergo Platform

10 de abril de 2025

Introduccion a Privacidad y Seguridad en la Blockchain

Introduccion a Privacidad y Seguridad en la Blockchain

Luego del primer whitepaper que apareció en Internet en el 2008, la tecnología blockchain evoluciono enormemente.

Ergo Platform

17 de febrero de 2022

Método híbrido de calcular costes de Ergo

Método híbrido de calcular costes de Ergo

Introducción Verificar la validez de los contratos inteligentes en una blockchain de Prueba de trabajo (PoW) tiene costos, tanto.

Ergo Platform (Translated by Darkkknight, original version will always prevail)

9 de febrero de 2022

Ergo: una respuesta a los fallos de la teoría monetaria moderna

Ergo: una respuesta a los fallos de la teoría monetaria moderna

En 2008, un grupo o persona desconocida lanzó un depósito de valor peer-to-peer y lo llamó Bitcoin.

Ergo Platform (Translated by Comet Community, original version will always prevail)

8 de febrero de 2022

Summit de Ergo : Evento para la privacidad

Summit de Ergo : Evento para la privacidad

Únase a nosotros del 17 al 23 de febrero de 2022 para este evento.

Ergo Foundation (translated by Daniu, original version will always prevail)

5 de febrero de 2022

Finanza descentralizada y privacidad opcional en Ergo

Finanza descentralizada y privacidad opcional en Ergo

Privacidad financial y blockchains públicas Bitcoin es una red de contabilidad distribuida pública a la que pueden acceder todos.

Ergo Platform (translated by Daniu, original version will always prevail)

1 de febrero de 2022

Alquiler por almacenamiento y el futuro de la minería

Alquiler por almacenamiento y el futuro de la minería

Terminología Storage Rent: Alquiler por almacenamiento (se entenderá más adelante) Introducción Los mineros son la capa de con.

Ergo Platform (translated by Daniu, original version will always prevail)

27 de enero de 2022

ErgoHack III: Construyendo la privacidad y seguridad del mañana

ErgoHack III: Construyendo la privacidad y seguridad del mañana

Ergo es una plataforma PoW de contratos inteligentes de código abierto basada en principios económicos de base.

Ergo Foundation (translated by Daniu, original version will always prevail)

20 de enero de 2022

Ergo & Blockchain: Escalabilidad y adopción

Ergo & Blockchain: Escalabilidad y adopción

En este episodio de la serie Ergo & Blockchain, veremos varios aspectos de escalabilidad y por qué son cruciales para la adopció.

Ergo Platform (translated by Daniu, original version will always prevail)

18 de enero de 2022

ErgoHack III Información para registrarse

ErgoHack III Información para registrarse

ErgoHack III tendrá lugar en Febrero 11-13, 2022 Registros abiertos hasta el 31 de Enero, 2022 Con el registro ya abierto, exi.

Ergo Foundation (translated by Daniu, original version will always prevail)

6 de enero de 2022

Ergo Rewards de minería: primera reducción de la emisión

Ergo Rewards de minería: primera reducción de la emisión

Las recompensas de la minería Ergo experimentaron su primera caída en el calendario de emisiones el 2 de enero de 2022 con el bl.

Ergo Platform (translated by Daniu, original version will always prevail)

4 de enero de 2022

¡Hola! soy nuevo, ¿por qué es Ergo un buen proyecto?

¡Hola! soy nuevo, ¿por qué es Ergo un buen proyecto?

¿Qué encontrarás en este artículo? Son numerosas las veces que un nuevo ergonauta en potencia entra a uno de los grupos en españo.

Daniu

1 de enero de 2022

Ergo Platform 2021: Resumen de este año

Ergo Platform 2021: Resumen de este año

A medida que el mundo intenta recuperarse de los efectos de Covid y las diferentes etapas de las restricciones de bloqueo, las c.

Ergo Platform (translated by Daniu, original version will always prevail)

30 de diciembre de 2021

Ergo y Blockchain: Tecnología e Innovación

Ergo y Blockchain: Tecnología e Innovación

La idea inicial detrás de Bitcoin se basó en la promesa de un comercio protegido de puntos centralizados de falla.

Ergo Platform (translated by Daniu, original version will always prevail)

28 de diciembre de 2021

Minería en Ergo: Herramientas de descentralización

Minería en Ergo: Herramientas de descentralización

Ergo es una cadena de bloques PoW (Prueba de trabajo) en el modelo de consenso llamado Autolykos.

Ergo Platform (translated by Daniu, original version will always prevail)

23 de diciembre de 2021