Saltar al contenido principal
Nodo360 - Aprende Bitcoin y Blockchain
Nodo360
RutasCursosBlogGlosarioComunidad
Iniciar sesiónComenzar gratis
Las cuatro formas de que el dinero salga de un contrato | Ethereum y contratos inteligentes | Nodo360
Ethereum y contratos inteligentesLo que decide si algo falla
|

Las cuatro formas de que el dinero salga de un contrato

6/9
Lectura5 min

Un orden imprevisto, un dato de fuera, alguien con permiso y tu propia firma. Dos son fallos; los otros dos, el diseño funcionando.

🎯 Objetivo de la lección

Poner orden en el desastre. Hay muchas maneras de perder dinero aquí, pero solo hay cuatro caminos por los que sale de un contrato. Conocerlos por separado sirve para saber, ante cualquier cosa, de cuál de los cuatro dependes y cuál está en tu mano.


🗺️ Los cuatro caminos

Dicho de golpe, y después uno por uno:

  1. El contrato hizo lo que decía, en un orden que nadie previó.

  2. El contrato creyó un dato de fuera que no era el que parecía.

  3. Alguien con permiso lo usó.

  4. Lo firmaste tú.

Los dos primeros son fallos. Los dos últimos no son fallos de nada: son el sistema funcionando como está diseñado. Y esa distinción es más importante que la lista, porque cambia por completo lo que puedes hacer al respecto.


1️⃣ El orden que nadie previó

El caso escolar es este. Un contrato tiene que devolverte tu depósito, y hace dos cosas: te manda el dinero y después apunta que ya no tienes nada.

Parece correcto. Pero mandar dinero a una cuenta que es un programa ejecuta ese programa. Y si ese programa, al recibir, vuelve a pedir su depósito, entra otra vez en el contrato antes de que este haya apuntado que ya pagó. La casilla todavía dice que le debe. Así que le paga otra vez. Y otra.

El nombre técnico es reentrada, y el patrón general es lo que interesa: el contrato dio por supuesto que nada pasaría entre dos de sus propios pasos. Como aquí una llamada puede devolver el control a quien la hizo, ese supuesto es falso.

Es la familia de fallos más conocida y no la única: cualquier sitio donde un contrato supone que el mundo se queda quieto mientras él trabaja pertenece a esta categoría.

Y tiene el precedente más caro de la historia de esta red. En 2016 un contrato con este fallo fue vaciado, y la respuesta fue tan extraordinaria que conviene recordarla: se cambió la propia cadena para deshacerlo, y la red acabó partida en dos, porque una parte de los participantes no aceptó que las reglas se tocaran ni para eso. Es la única vez que la respuesta a un fallo de un contrato fue reescribir el registro, y explica por qué la discusión sobre quién puede cambiar las reglas —la lección anterior— no es teórica.


2️⃣ El dato de fuera

Ya lo tienes de la 1.3, así que basta con situarlo: el contrato no puede comprobar nada del mundo, alguien se lo escribe, y si lo que le escriben no es lo que parece, el contrato ejecuta con obediencia un resultado desastroso sin tener ningún fallo.

Lo que hay que recordar de esa lección es la tercera forma, la fina: no hace falta que nadie mienta. Basta con mover a propósito el mercado que el dato mide para que el contrato valore algo mal durante unos segundos.

Es el camino que menos se anticipa, porque todo el mundo revisa el contrato y casi nadie revisa de qué se fía el contrato.


3️⃣ Alguien con permiso

Aquí no hay fallo, no hay ataque y no hay nada roto. Está en la lección anterior: quien puede cambiar la lógica, pausar, mover un parámetro o usar la vía de emergencia hace lo que el contrato le permite hacer.

Vale la pena separar dos casos que se cuentan como uno:

  • Lo usa quien debe, y sale mal. Un equipo pausa, o cambia algo, o rescata fondos, y su decisión te perjudica. No es un delito: es que dependías de su criterio.

  • Lo usa quien no debe. A alguien le roban la clave, o le engañan, o le obligan. El permiso funciona exactamente igual, porque el contrato no distingue quién firma: comprueba que la firma es válida.

Y de ahí la frase de la lección anterior, que aquí se ve para qué servía: si alguien puede cambiarlo sin demora, tu riesgo incluye a esa persona entera, con sus decisiones, sus errores y su seguridad personal.


4️⃣ Lo firmaste tú

El cuarto camino es el que no requiere que nada falle, y es el único que depende solo de ti. Tres formas, y las tres son la misma cosa vista de tres maneras:

  • Autorizaste sin límite. De Qué es Web3 y qué no: una firma que concede a un contrato permiso para mover tus fondos cuando quiera, normalmente sin tope y sin caducidad. Meses después ese contrato cambia —lección anterior— o alguien encuentra cómo usarlo, y el permiso sigue vivo.

  • Firmaste una cosa creyendo que era otra. Lo que lees en pantalla lo escribió una web; lo que firmas son datos. Si las dos cosas no coinciden, no hay nada en el sistema que lo impida.

  • Firmaste en el sitio equivocado. Una copia de la interfaz que esperabas. El contrato al que llamas es otro, y hace exactamente lo que dice hacer.

En los tres casos el sistema funcionó perfectamente. Tu firma era válida, la operación era legítima y no hay nada que revertir. La lección 3.1 entra en esto de lleno.

No hay cifras públicas fiables de cuánto se pierde por cada camino, y no vamos a inventarlas. Sí se puede decir algo comprobable: los dos primeros caminos exigen un atacante con conocimientos; el cuarto, solo un despiste.


🛡️ De qué te puedes defender, honestamente

Puestos en fila, no están a la misma distancia de ti:

  • Caminos 1 y 2: no puedes evaluarlos. Requieren leer código y entender de qué se fía el contrato. Lo único que tienes es indirecto: si el código está verificado, si hay una revisión seria de la versión que corre, y cuánto tiempo lleva funcionando con dinero dentro sin romperse.

  • Camino 3: sí puedes comprobarlo. Son las cuatro comprobaciones de la lección anterior, y son datos públicos. Este es el que más gente se salta pudiendo no saltárselo.

  • Camino 4: es enteramente tuyo. No depende de la calidad de nada. Es el único que puedes reducir casi a cero sin ayuda de nadie.

Y el recordatorio que atraviesa todos los cursos: aquí no hay a quién reclamar. No hay reverso, no hay atención al cliente y no hay tribunal. Por eso todo el trabajo útil ocurre antes de firmar.


🚩 Dos señales que combinan mal

Sin entrar a juzgar ningún proyecto, hay dos combinaciones que se explican solas con lo que ya sabes:

Código sin verificar más permiso de cambio sin demora. No puedes leer lo que hace y puede dejar de hacerlo cuando alguien quiera. Es depositar en algo cuyo comportamiento presente y futuro son ambos desconocidos.

Auditoría antigua más contrato actualizable. El informe describe una versión que puede no existir ya. La auditoría tranquiliza sobre algo que no es lo que estás usando.


📌 En resumen

  • Solo hay cuatro caminos: un orden imprevisto, un dato de fuera, alguien con permiso y tu firma.

  • Los dos primeros son fallos; los dos últimos son el sistema funcionando como está diseñado.

  • Reentrada: el contrato supuso que nada pasaría entre dos de sus propios pasos. En 2016 costó el vaciado de un contrato y la red partida en dos al deshacerlo.

  • El dato de fuera falla sin que nadie mienta: basta con mover el mercado que mide.

  • El permiso no distingue quién firma, así que tu riesgo incluye la seguridad personal de quien tiene la llave.

  • Tu propia firma no requiere que nada falle: autorización sin límite, firmar una cosa creyendo otra, o firmar en el sitio equivocado.

  • Los dos primeros caminos no los puedes evaluar; el tercero sí, con datos públicos; el cuarto es enteramente tuyo.

  • Combinan mal: código sin verificar con cambio sin demora, y auditoría antigua con contrato actualizable.


➡️ Qué viene después

Cierra el módulo. El tercero baja a lo que te vas a encontrar de verdad, y empieza por el cuarto camino, que es el único enteramente tuyo: qué ocurre exactamente cuando firmas, por qué una operación se queda atascada bloqueando a las siguientes, y por qué el orden en que se ejecutan no lo decides tú.

Has terminado «Lo que decide si algo falla»

Sin cuenta, al cerrar la pestaña se pierde por dónde ibas. Puedes seguir leyendo igual; crear una cuenta es gratis y añade tres cosas.

  • Se guarda por dónde vas, en cualquier dispositivo
  • Se desbloquea el examen final del curso
  • Al aprobarlo, un certificado verificable
Crear cuenta gratis→

Al terminar sigues en la lección siguiente, sin repetir esta.

Preguntas y comentarios

Aquí se plantean las dudas de esta lección y responden el instructor y el resto de alumnos. Hace falta una cuenta gratuita para escribir.

Entrar o crear cuenta gratis→
Inicia sesión para guardar progreso

Contenido del curso

0/9 completadas

1
Qué añadió Ethereum
2
Lo que decide si algo falla

1. De dónde sale el código que se ejecuta

2. Quién puede cambiar las reglas después

3. Las cuatro formas de que el dinero salga de un contrato

3
Lo que te vas a encontrar
Inicia sesión para guardar progreso

Aviso

Esta lección es contenido educativo. No constituye asesoramiento financiero ni una recomendación de inversión. Las criptomonedas son activos de alta volatilidad: su precio puede caer con rapidez y es posible perder la totalidad del importe invertido. Antes de tomar cualquier decisión, infórmate por tu cuenta y, si lo necesitas, consulta a un profesional autorizado.