Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Criptografía y seguridad

Contratos Perezosos: Reduciendo las Tarifas de Gas en Blockchain

Los contratos perezosos reducen los costes de gas y aseguran una gestión justa de los contratos inteligentes.

― 7 minilectura


Los Contratos PerezososLos Contratos PerezososReducen las Tarifas deGasjustos.reducen costos y aseguran tratosLos contratos inteligentes eficientes
Tabla de contenidos

Los Contratos Inteligentes son programas que funcionan en la blockchain. Ayudan a gestionar y transferir activos digitales como criptomonedas de forma automática. Cualquier usuario puede interactuar con un contrato inteligente haciendo una transacción que llama a sus funciones. La red de blockchain asegura que cada transacción sea procesada y registrada, y cada nodo lleva un control del estado del contrato y del dinero involucrado.

Un concepto importante en la blockchain es el gas. El gas es una tarifa que los usuarios pagan para completar transacciones o ejecutar funciones en un contrato. Cada operación tiene un coste en gas, lo que ayuda a evitar que la red se sature con cálculos complicados. Si un usuario intenta hacer una acción que requiere más gas del que ha pagado, la transacción falla.

Desafíos Actuales con las Tarifas de Gas

Las tarifas de gas en plataformas de contratos inteligentes como Ethereum pueden ser muy altas. Por ejemplo, en 2022, los usuarios pagaron montones de dinero en tarifas de gas, lo que llevó a que los desarrolladores limitaran lo que pueden hacer con sus contratos. Muchos contratos se quedan en funciones simples porque las más complejas pueden ser demasiado caras de ejecutar.

Contratos Perezosos: Una Solución

Para ayudar a abordar las altas tarifas de gas, se han propuesto los "contratos perezosos". Estos contratos hacen la mayoría de sus cálculos fuera de la blockchain (off-chain) para reducir los costos de gas mientras mantienen suficiente información en la cadena para que todos puedan estar de acuerdo sobre el estado del contrato. Si dos partes en un contrato no están de acuerdo, el sistema puede realizar los cálculos necesarios en la cadena para resolver el problema.

Cuando todo va bien y ambas partes actúan honestamente, el contrato no necesita hacer cálculos on-chain, lo que lleva a costos generales más bajos.

Cómo Funcionan los Contratos Perezosos

Cálculos Off-Chain

En los contratos perezosos, la idea principal es que los usuarios realicen la mayoría de los cálculos en sus propias computadoras en lugar de en la blockchain. Este método les permite evitar los altos costos de gas asociados con los cálculos on-chain. La información esencial, como el código del contrato y una lista de llamadas a funciones, se mantiene en la cadena.

El contrato solo necesita ejecutarse en la cadena si hay un desacuerdo. En este caso, el procedimiento asegura que la parte deshonesta sea penalizada cubriendo los costos de gas de la ejecución on-chain necesaria.

Incentivos para Comportamiento Honesto

El diseño de los contratos perezosos asegura que haya incentivos fuertes para que los usuarios actúen de manera honesta. Si alguien intenta hacer trampa, acaba pagando el gas necesario para identificar su comportamiento deshonesto. Este arreglo significa que las personas racionales querrán ser honestas porque la deshonestidad les costará dinero.

Características Clave de los Contratos Perezosos

Diseño de Protocolo

Los contratos perezosos pueden verse como envolturas alrededor de contratos inteligentes tradicionales. Cuando un desarrollador quiere usar contratos perezosos, envía un contrato inteligente regular, y un proceso automatizado genera un nuevo contrato perezoso con funcionalidad similar pero optimizada para un menor uso de gas.

Al usar contratos perezosos, los usuarios se unen haciendo depósitos, que actúan como una especie de seguro contra comportamientos deshonestos. El depósito se mantiene en el contrato hasta que se van, actuando como una garantía de que cubrirán las tarifas de gas cuando sea necesario.

Sistema Bancario Virtual

Los contratos perezosos también introducen un sistema bancario donde los usuarios gestionan sus saldos con el contrato. Este saldo interno permite a los usuarios depositar y retirar fondos sin necesidad de verificación constante en la cadena. Solo se registran en la cadena las transacciones que cambian los saldos, reduciendo significativamente los costos de gas.

Solicitudes de Llamadas a Funciones

Para llamar a funciones en un contrato perezoso, los usuarios hacen solicitudes que se registran en lugar de ejecutarse de inmediato. De esta manera, todas las llamadas a funciones se procesan off-chain, reduciendo la necesidad de operaciones on-chain costosas.

Cuando los usuarios quieren retirar fondos, deben esperar un marco de tiempo especificado, permitiendo que otras partes impugnen la transacción si sospechan de deshonestidad. Si nadie impugna el retiro, se procesa sin problemas.

Soporte para Desafíos

En caso de Disputas, los contratos perezosos tienen un mecanismo de desafío. Si una parte sospecha que otra está intentando retirar más de lo que le corresponde, puede desafiar la solicitud. Este desafío iniciará una evaluación on-chain de todas las transacciones y saldos relevantes.

Si alguna parte actuó de manera deshonesta, tendrá que pagar el gas consumido en resolver el problema. Esto asegura que todos estén motivados a jugar limpio.

Resultados Experimentales

Las pruebas de los contratos perezosos demuestran un ahorro significativo en tarifas de gas. De hecho, un análisis mostró que cuando se aplicaron contratos perezosos a un gran número de transacciones en la blockchain de Ethereum, el uso total de gas disminuyó en más del 55%. Esta reducción en costos se traduce en cientos de millones de dólares ahorrados anualmente para los usuarios.

Conclusión

Los contratos perezosos presentan una solución prometedora a los altos costos asociados con las tarifas de gas en contratos inteligentes. Permiten la ejecución off-chain mientras mantienen un método justo para resolver disputas. Al fomentar la honestidad y ofrecer una forma más eficiente de gestionar contratos inteligentes, los contratos perezosos pueden ayudar a los desarrolladores a crear aplicaciones más sofisticadas sin la carga de costos prohibitivos.

A medida que la tecnología continúa desarrollándose, los contratos perezosos podrían ofrecer aún más oportunidades para aumentar la funcionalidad y reducir costos en el espacio de la blockchain. Este enfoque también podría adaptarse para funcionar en varias blockchains programables, ofreciendo un amplio potencial para aplicaciones futuras.

Explorando Direcciones Futuras

Aunque los resultados iniciales de los contratos perezosos son prometedores, siempre hay oportunidades para mejorar y explorar más.

Envolturas de Múltiples Contratos

Los desarrollos futuros podrían incluir envolturas que puedan manejar múltiples contratos simultáneamente. Esta característica permitiría a los usuarios gestionar varios contratos dentro de un solo contrato perezoso sin tener que preocuparse por sus interacciones. Aunque esto podría presentar más complejidad, también permitiría más funcionalidad.

Participación Activa

La efectividad de los contratos perezosos depende de la participación del usuario. Cada parte necesitará monitorear la blockchain activamente, lo que plantea la posibilidad de que algunas partes no se involucren adecuadamente. Iteraciones futuras del protocolo podrían explorar formas de incentivar aún más este compromiso.

Abordando Retrasos

Si bien los contratos perezosos ofrecen ventajas únicas, los posibles retrasos causados por desafíos podrían afectar la experiencia del usuario. Encontrar soluciones para agilizar el proceso podría mejorar la usabilidad de los contratos perezosos, haciéndolos aún más atractivos para los usuarios.

Conclusión Revisada

En resumen, los contratos perezosos representan un paso importante hacia mejorar la eficiencia y la asequibilidad de la ejecución de contratos inteligentes. Aprovechan los conceptos de cálculo off-chain y estructuras de incentivos para crear un sistema donde los usuarios puedan operar más libremente sin costos excesivos.

A medida que la tecnología blockchain continúa evolucionando, será esencial realizar más investigaciones y desarrollos para aprovechar al máximo el potencial de los contratos perezosos y soluciones relacionadas, allanando el camino para una economía digital más eficiente.

Fuente original

Título: Lazy Contracts: Alleviating High Gas Costs by Secure and Trustless Off-chain Execution of Smart Contracts

Resumen: Smart contracts are programs that are executed on the blockchain and can hold, manage and transfer assets in the form of cryptocurrencies. The contract's execution is then performed on-chain and is subject to consensus, i.e. every node on the blockchain network has to run the function calls and keep track of their side-effects. In most programmable blockchains, such as Ethereum, the notion of gas is introduced to prevent DoS attacks by malicious parties who might try to slow down the network by performing heavy computations. A fixed cost to each atomic operation, and the initiator of a function call pays the total gas cost as a transaction fee. This helps prevent DoS attacks, but the resulting fees are extremely high. For example, in 2022, on Ethereum alone, there has been a total gas usage of 1.77 Million ETH ~ 4.3 Billion USD. This thesis proposes "lazy contracts" as a solution to alleviate these costs. Our solution moves most of the computation off-chain, ensuring that each function call incurs only a tiny amount of gas usage, while preserving enough data on-chain to guarantee an implicit consensus about the state of the contract variables and ownership of funds. A complete on-chain execution of the functions will only be triggered in case two parties to the contract are in disagreement about the current state, which in turn can only happen if at least one party is dishonest. In such cases, our protocol can identify the dishonest party and penalize them by having them pay for the entire gas usage. Hence, no rational party has an incentive to act dishonestly. Finally, we perform extensive experiments over 160,735 real-world Solidity contracts that were involved in 9,055,492 transactions in January 2022--January 2023 on Ethereum and show that our approach reduces the overall gas usage by 55.4%, which amounts to an astounding saving of 109.9 Million USD in gas fees.

Autores: Soroush Farokhnia

Última actualización: 2023-09-20 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2309.11317

Fuente PDF: https://arxiv.org/pdf/2309.11317

Licencia: https://creativecommons.org/licenses/by/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Artículos similares