Un contrato inteligente alojado en una cadena de bloques se ejecuta de forma autónoma una vez que se cumplen todos los términos o condiciones especificados en un contrato o acuerdo, eliminando la necesidad de intervención de un intermediario.

Los términos del contrato están escritos en código legible por máquina. Una vez que se completa el contrato inteligente, es irreversible y legalmente vinculante, lo que plantea la pregunta: ¿Es posible rescindir un contrato inteligente? Y lo que es más importante, ¿se pueden revertir los contratos inteligentes?

Este artículo analiza si es posible revocar contratos inteligentes y, de ser posible, cómo se puede revocar el acceso de los contratos inteligentes a sus tenencias de criptomonedas.

¿Qué significa revocar contratos inteligentes?

Revocar un contrato inteligente generalmente significa deshabilitar o cancelar su funcionalidad en una cadena de bloques. Por ejemplo, la revocación puede detener el acceso a la billetera criptográfica de un usuario y su capacidad para mover tokens. Además, revocar un contrato inteligente detiene el permiso para ver el saldo de tokens o la dirección pública de un usuario.

¿Por qué se revocan los contratos inteligentes?

Uno puede revocar un contrato inteligente en varias circunstancias, como si no tiene la intención de comprar, vender o transferir un activo o utilizar el contrato inteligente nuevamente.

En otros casos, los desarrolladores maliciosos crean puertas traseras en contratos inteligentes, lo que permite el acceso no autorizado a los fondos.

¿Quién puede cambiar un contrato inteligente?

Como cualquier contrato, una vez que las partes han acordado los términos del contrato, estos no se pueden modificar. Incluso si las partes quisieran hacerlo, los términos están escritos en la cadena de bloques, que es inalterable. Esto hace que los contratos inteligentes sean inmutables.

La única forma de "cambiar" los términos de un contrato es "actualizarlo", es decir, cambiar el contrato inteligente subyacente de una aplicación descentralizada (DApp) por otra. Alternativamente, las partes pueden optar por tener un contrato actualizable desde el principio, lo que permite modificaciones al contrato inteligente.

¿Quién controla un contrato inteligente?

Nadie controla el contrato inteligente una vez que el código se escribe en la cadena de bloques. El código se ejecutará cuando se cumpla o verifique una condición o estipulación predeterminada. La acción implica actualizar la blockchain y enviar notificaciones. Sólo las partes con acceso al contrato inteligente pueden ver los detalles de la transacción.

Dado que nadie tiene control expreso del contrato, las partes deben determinar las estipulaciones y describirlas adecuadamente sin ambigüedades para garantizar su ejecución. Y esto plantea la pregunta: ¿se pueden bloquear los tokens dentro de un contrato inteligente? Cuando un usuario envía tokens a un contrato inteligente, nadie puede intercambiarlos ni retirarlos, esencialmente encerrándolos en él.

El contrato inteligente solo liberará los tokens después de un cierto período o del cumplimiento de ciertas condiciones. Algunas plataformas incluso permiten la personalización del bloqueo de tokens, y el usuario especifica la fecha y hora en que los tokens pueden estar disponibles.

¿Qué son las aprobaciones y permisos de tokens en contratos inteligentes?

La única forma de protegerse contra la explotación de contratos inteligentes es aprobar solo el retiro de los fondos necesarios, evitar plataformas no probadas y revocar las aprobaciones y permisos de tokens.

Pero, ¿qué son las aprobaciones y permisos simbólicos? Los contratos inteligentes permiten a las DApps automatizar el movimiento de tokens en la billetera, por lo tanto, las aprobaciones y permisos de tokens. Por lo tanto, las aprobaciones y permisos de tokens significan la aprobación por parte del propietario de un contrato inteligente para retirar tokens de una billetera para ejecutar una operación. Un usuario puede utilizar varios medios para revocar el acceso del contrato inteligente a sus tokens:

Revocar contratos inteligentes a través del explorador de bloques de tokens

Las redes individuales suelen tener exploradores de bloques, como Polygonscan y Etherscan, que contienen una sección de aprobación donde los usuarios pueden utilizar la herramienta de aprobación de tokens para revocar permisos y aprobaciones.

Estos son los pasos típicos que se siguen al utilizar una herramienta de aprobación de tokens y tenga en cuenta que solo el propietario de la dirección puede revocar los contratos inteligentes conectados:

1. Navegue a la página de aprobación del token.

2. Escriba su dirección en la barra de búsqueda y haga clic en "buscar".

3. Cualquier contrato inteligente asociado con la dirección que pueda gastar en nombre del usuario aparecerá en la lista de activos, que proporciona más información como la asignación de tokens del contrato inteligente, el hash de transacciones y los estándares de tokens.

4. Conéctese a la billetera haciendo clic en el botón "conectar a Web3".

5. Una vez confirmada la conexión, seleccione qué contrato(s) revocar.

Cómo revocar aprobaciones de tokens y permisos de contratos inteligentes en Ethereum

Estos son los pasos habituales que se toman al revocar contratos inteligentes en la red principal de Ethereum:

Paso 1: revocar las herramientas de acceso

Los usuarios pueden rastrear y revocar contratos inteligentes conectados a sus direcciones utilizando varias herramientas de acceso de revocación de terceros. Conéctese a cualquiera de estos sitios web para comenzar el proceso:

  • zona.aprobada: Ethereum

  • Revocar: múltiples redes

  • EverRise: múltiples redes

  • Asignación electrónica: Ethereum

  • Unrekt: múltiples redes

  • Beefy.finance: cadena inteligente BNB

  • Etherscan: Etereum

  • Cointool: múltiples redes

Paso 2: conecta la billetera

Una vez que se haya conectado al sitio web, busque y haga clic en el botón "conectar billetera". Al conectar el sitio web a la billetera, asegúrese de que estén en la misma red, ya que las herramientas de revocación de acceso solo funcionan en un tipo de cadena.

Por ejemplo, si está conectado a la red principal de Ethereum, no se puede revocar un contrato inteligente de Polygon, ya que solo se admiten y se mostrarán los contratos inteligentes de Ethereum.

Paso 3: seleccione el contrato inteligente

La herramienta de contrato inteligente mostrará todos los contratos inteligentes compatibles, mostrando sus permisos de acceso y límites de gasto. Los usuarios deben seleccionar los que desean revocar. Si no está seguro, seleccione todo y otorgue nuevos permisos en el próximo lanzamiento de cada DApp.

Paso 4: revocar el acceso

Haga clic en el botón "revocar", pague la transacción y espere uno o dos minutos para completarla. Cierre sesión y vuelva a iniciar sesión en el sitio web para confirmar que la transacción revocada se realizó correctamente (el contrato inteligente no debería estar en la lista).

¿Revocar el acceso a los tokens también pone fin a las estrategias DeFi?

No. Los usuarios conservarán sus posiciones en estrategias de finanzas descentralizadas (DeFi), como agrupación, participación y préstamos, lo que les permitirá seguir recibiendo recompensas. Sin embargo, puede afectarlos significativamente, dependiendo del contexto y de cómo esté estructurada la estrategia.

En los ecosistemas DeFi, los usuarios a menudo otorgan permiso a los contratos inteligentes para acceder a sus tokens para diversas funciones como comerciar, prestar o apostar. Si un usuario revoca este acceso, el contrato inteligente ya no podrá mover ni administrar los tokens del usuario en su nombre.

Esta acción puede alterar las estrategias en curso que dependen de la capacidad del contrato para interactuar con los tokens. Sin embargo, la estrategia DeFi subyacente no finaliza, sino que se pausa o se vuelve inactiva hasta que se conceda nuevamente el acceso o se ajuste la estrategia.

¿Desconectar una billetera de un proyecto es lo mismo que quitarle el permiso para usar fondos?

No, no son lo mismo. Desconectar una billetera de un proyecto solo cancela los permisos que permiten a otros usuarios ver los saldos de tokens, la dirección pública y las actividades pasadas, y detiene el inicio de transacciones. Sin embargo, tenga en cuenta que no impedirá la ejecución de transacciones.

Por otro lado, quitar el permiso para usar fondos significa revocar el permiso de una DApp para acceder y mover el contenido de una billetera.