Introducción
La
Fundamentos de los compromisos revocables
Lightning Network emplea transacciones de compromiso revocable para asegurar que sólo la última versión del balance sea válida. Cada actualización de estado crea:
• Una transacción de compromiso local (commitment transaction).
• Una transacción de compromiso remoto.
• Un secreto de revocación asociado a la versión anterior.
Cada parte guarda el secreto de revocación de la versión que ya no es válida. Si un nodo malicioso publica un compromiso antiguo, la contraparte puede usar ese secreto para quebrantar la transacción y quedarse con todos los fondos del canal.
Componentes clave
1. Claves de revocación
Cada compromiso genera una
2. Timelocks (CSV y CLTV)
La seguridad descansa en dos tipos de bloqueos temporal:
| Tipo | Descripción | Uso principal |
|---|---|---|
| CSV (CheckSequenceVerify) | Retardo basado en bloques tras la inclusión en cadena | Protege la salida de penalización |
| CLTV (CheckLockTimeVerify) | Fecha o altura mínima de bloque para gastar la salida | Retrasa el retiro de fondos honestos |
Mecanismo de ejecución de la penalización
Paso 1: Detección del compromiso fraudulento
Un nodo vigila la blockchain y escanea nuevas transacciones en busca de las firmas de un compromiso antiguo. Cuando detecta la tx de compromiso inválida, extrae la clave pública de revocación y el identificador de salida relevante.
Paso 2: Construcción de la transacción de penalización
Usando el secreto de revocación previamente guardado, el nodo maltratado crea la
• Toma la salida de la tx de compromiso fraudulenta.
• Firma con la clave de revocación para quebrantar el CSV.
• Enruta todos los fondos a su propia dirección.
Paso 3: Publicación y confirmación
La transacción de penalización se envía a la mempool y, tras su confirmación, extrae instantáneamente todos los fondos. Debido al delay impuesto por el CSV, se fuerza al canal tramposo a esperar antes de gastar cualquier salida honesta, dando tiempo a la contraparte de actuar.
Ejemplo práctico
Contexto
Supongamos dos nodos, Alice y Bob, con un canal fundado en 0.1 BTC. Después de varias actualizaciones, Alice dispone de 0.08 BTC y Bob de 0.02 BTC. Alice retiene el secreto de revocación de la versión anterior.
Escenario de fraude
Bob intenta cerrar el canal publicando la transacción de compromiso de cuando tenía 0.05 BTC. Alice detecta la tx en la blockchain y procede:
1. Extrae el identificador de la salida correspondiente a 0.05 BTC.
2. Usa su secreto de revocación para firmar una transacción que reclama esos 0.05 BTC.
3. Incluye en la misma tx la salida de 0.03 BTC que le correspondía en la versión honesta.
4. Publica y confirma obtiene 0.08 BTC en lugar de 0.05 BTC.
Recursos y especificaciones
Para profundizar en los detalles de implementación y formatos de transacción, consulte la especificación oficial:
Conclusiones
La punición de canales garantiza que cualquier intento de fraude en Lightning Network sea económicamente desalentado y técnicamente inviable a largo plazo. Gracias a la combinación de claves de revocación y bloqueos temporales, se protege la integridad de los fondos y se fortalece la confianza en la red.
