Cómo alcanzan consenso las cadenas de bloques · Lección 1 de 5
El problema del doble gasto y los registros distribuidos
8 min de lectura
Por qué un pago digital necesita un historial compartido
Un archivo digital puede copiarse sin eliminar el original. Esto es útil para documentos y fotografías, pero crea un problema si el archivo está destinado a representar un valor escaso. Imagina que una cuenta solo puede gastar una unidad una vez. Si dos instrucciones incompatibles reclaman esa misma unidad, confirmar simplemente que cada instrucción parece auténtica no determina cuál debería contar. Este es el problema del doble gasto: la posibilidad de usar el mismo valor disponible en más de una transacción conflictiva. El problema se relaciona con la coherencia de los registros, no necesariamente con el robo o el fraude deliberado; dos transacciones pueden entrar en conflicto por accidente, por ejemplo, cuando un software retransmite un pago con distintos parámetros.
En un sistema de pago convencional, un operador autorizado del registro normalmente determina el orden en que se procesan las instrucciones. El operador verifica el estado de la cuenta, rechaza una instrucción que excedería el saldo disponible y conserva el registro oficial. En cambio, un registro distribuido mantiene registros en varias computadoras, a menudo operadas por distintas partes. Estas computadoras suelen llamarse nodos. Si pueden recibir mensajes en distinto orden, necesitan una forma de acordar qué transacciones son válidas y cuál es el orden compatible de esas transacciones. Este problema de acuerdo es el punto de partida del consenso en blockchain.
Un ejemplo de transacciones conflictivas
Supongamos que un registro indica que una salida por valor de diez unidades no se ha gastado. El titular envía la transacción A, que asigna esa salida al destinatario Uno. Antes de que todos los participantes de la red hayan procesado A, el titular también difunde la transacción B, que asigna esa misma salida al destinatario Dos. Cada transacción puede estar bien formada sintácticamente, pero ambas no pueden surtir efecto como gastos independientes de la salida original. Distintos nodos pueden recibir A y B en orden inverso debido a retrasos de la red. Una red que simplemente acepte el primer mensaje que recibe cada computadora se arriesgaría a mantener historiales incoherentes.
Por lo tanto, un diseño confiable separa dos decisiones. La validación determina si una transacción propuesta cumple las reglas del protocolo, dado un estado particular del registro. El consenso determina qué historial consideran aceptado los participantes cuando compiten propuestas que parecen válidas. Una vez que el registro acepta A, B entra en conflicto con el estado resultante y tampoco debería aceptarse como gasto de esa misma salida. Los detalles varían entre los sistemas que registran salidas no gastadas discretas y los que mantienen saldos de cuenta y contadores de transacciones. El principio común es que una transición de estado no puede consumir dos veces la misma facultad de gasto.
El orden importa tanto como la autenticidad
La autorización es solo uno de los elementos que intervienen en la decisión. Una firma puede indicar que una instrucción fue autorizada conforme al esquema criptográfico aplicable, pero por sí sola no demuestra que los fondos sigan disponibles cuando se procese la instrucción. Del mismo modo, una marca de tiempo proporcionada por quien envía la instrucción no establece necesariamente el orden oficial de la red. En módulos posteriores se estudiarán en profundidad las claves y las firmas. Por ahora, recuerda la distinción: una transacción debe estar autorizada y ser coherente con el estado aceptado del registro. El consenso proporciona una base común para evaluar ese estado en distintas computadoras independientes.
Qué hace que un registro sea distribuido
Un registro distribuido es un conjunto compartido de registros que se replica, sincroniza o coordina de otro modo entre varios participantes. Los nodos no necesariamente almacenan información idéntica en todo momento. Algunos pueden estar temporalmente fuera de línea, algunos pueden recibir mensajes con lentitud y otros pueden mantener copias especializadas o vistas parciales. Lo importante es que las reglas ofrezcan a los nodos participantes una forma de converger en un estado o historial coherente conforme a los supuestos del sistema. Una blockchain es un tipo de registro distribuido en el que los registros se agrupan en bloques ordenados vinculados criptográficamente. No todos los registros distribuidos usan bloques, y no todas las blockchain permiten la participación irrestricta.
El diseño de una red también determina quién puede proponer actualizaciones, quién puede verificarlas y qué mensajes contribuyen al consenso. Las redes abiertas y sin permiso generalmente admiten participantes sin que un administrador los inscriba individualmente. Las redes con permisos pueden identificar a los validadores y aplicar reglas de gobernanza para determinar quiénes pueden participar. Ambas afrontan cuestiones de coordinación, aunque difieren las amenazas, los requisitos de rendimiento y las formas de rendición de cuentas. El informe interinstitucional NIST 8202, Blockchain Technology Overview, describe las blockchain como registros distribuidos y a prueba de manipulaciones, mientras que ISO 23257:2022 ofrece una arquitectura de referencia para sistemas blockchain y otros sistemas de registros distribuidos.
El acuerdo no equivale a la verdad
El consenso puede establecer que un conjunto de nodos ha aceptado un registro determinado, pero no puede demostrar que todas las afirmaciones del mundo real contenidas en ese registro sean verdaderas. Si un documento afirma que un contenedor llegó ayer, el registro puede conservar cuándo se registró la afirmación y cómo se aprobó; no puede inspeccionar el contenedor físico. Del mismo modo, registrar reclamaciones de propiedad no resuelve por sí solo el derecho legal subyacente. Para el personal jurídico y del sector público, esta distinción evita la suposición equivocada de que una base de datos replicada genera automáticamente pruebas confiables de acontecimientos externos a la red.
Qué pueden comprobar los nodos de forma independiente
Un nodo de validación completa aplica el conjunto de reglas de la red a las actualizaciones propuestas, en lugar de confiar en quien las propone. A menudo puede comprobar si un bloque utiliza la estructura requerida, si las transacciones cumplen las reglas de transición de estado y si el historial propuesto está correctamente vinculado. No puede verificar de forma independiente hechos que provienen de organizaciones externas, a menos que el protocolo ofrezca una forma confiable independiente de acreditarlos. Un observador podría ver que varios nodos están de acuerdo sin advertir que todos se basaron en el mismo informe externo incorrecto. El acuerdo entre computadoras y la verificación independiente de hechos físicos son controles distintos.
Objetivos de diseño e inevitables compensaciones
El acuerdo distribuido debe abordar los retrasos en los mensajes, las particiones temporales de la red y los participantes que envían mensajes incorrectos o contradictorios. Una partición de red ocurre cuando grupos de nodos no pueden comunicarse normalmente entre sí. Un participante defectuoso o malicioso puede proponer datos no válidos, retener mensajes o enviar afirmaciones distintas a diferentes pares. Los mecanismos de consenso establecen reglas para continuar las operaciones pese a algunas de estas condiciones, pero ningún mecanismo promete un progreso ininterrumpido ante cualquier escenario de falla. Un diseño necesita supuestos sobre conectividad, comportamiento de los participantes, recursos disponibles y retrasos aceptables.
Tres objetivos prácticos ayudan a orientar las evaluaciones. La coherencia significa que los participantes no aceptan indefinidamente historiales oficiales incompatibles. La disponibilidad significa que los usuarios legítimos aún pueden enviar y procesar registros cuando el sistema funciona según lo previsto. La auditabilidad significa que los operadores pueden explicar por qué se aceptó una transición de estado y reproducir las verificaciones pertinentes. Estos objetivos dependen de la arquitectura y la gobernanza, no solo de que se use la palabra blockchain. Las afirmaciones de que un registro es simplemente «descentralizado», «inmutable» o «instantáneo» son incompletas si no se especifica quién valida, qué condiciones de falla se suponen y cuándo se considera finalizado un registro.
Un escenario institucional práctico
Consideremos un organismo público que coordina la emisión de permisos electrónicos con otros organismos. Dos oficinas envían actualizaciones contradictorias sobre el estado de un permiso. Un registro compartido puede ayudarles a acordar la secuencia registrada de cambios autorizados y conservar un historial auditable de los conflictos rechazados. Sin embargo, no puede decidir qué oficina tenía autoridad jurídica sustantiva, a menos que esa autoridad se exprese en políticas documentadas y reglas de autorización exigibles. Quienes diseñen el sistema deben decidir si las instituciones conocidas operarán nodos, qué ocurrirá si un operador no está disponible y qué institución puede corregir una afirmación errónea mediante una nueva entrada visible.
En ese escenario, también podría ser adecuada una base de datos estándar administrada conforme a un acuerdo claro. El valor del consenso distribuido aumenta cuando operadores independientes realmente necesitan un estado compartido sin depender de una única entidad que realice las actualizaciones. El costo operativo adicional es más difícil de justificar cuando una autoridad ya controla todas las decisiones. ISO 22739:2024, Blockchain and distributed ledger technologies — Vocabulary, es una referencia útil para lograr una terminología coherente, pero no sustituye el análisis de los supuestos de confianza reales del diseño.
Referencia rápida
| Pregunta | ¿Qué la responde? |
|---|---|
| ¿Está permitida esta transacción según el estado actual? | Reglas de validación |
| ¿Qué historial válido en competencia deberían seguir los nodos? | Reglas de consenso |
| ¿Era correcta la afirmación subyacente sobre el mundo real? | Evidencia independiente y gobernanza |
Qué deben recordar quienes aprenden
El problema del doble gasto explica por qué copiar un valor representado digitalmente no equivale a gastarlo válidamente. Los sistemas distribuidos abordan el problema mediante la validación y el acuerdo sobre una secuencia o un estado compartidos. El consenso responde qué registros en competencia acepta la red; no establece la veracidad de todos los hechos mencionados en esos registros ni elimina todas las fallas operativas. En las siguientes lecciones examinaremos las estructuras de datos y las reglas que hacen posible esta coordinación, en lugar de volver a tratar las categorías generales de activos presentadas en el Módulo 1.
Enfoque del examen: Explica por qué la autenticidad por sí sola no puede impedir el doble gasto; distingue la validación del consenso y reconoce que una blockchain es un tipo de registro distribuido, no un sinónimo de todas las bases de datos compartidas.
Notas sobre las fuentes
Referencias pertinentes: NIST IR 8202 (2018), Blockchain Technology Overview; ISO 22739:2024, Blockchain and distributed ledger technologies — Vocabulary; e ISO 23257:2022, Blockchain and distributed ledger technologies — Reference architecture.