Glosario / Lightning y capa 2
Cierre forzado
- ¿Qué es un cierre forzado?
- Un cierre forzado termina un canal Lightning sin la ayuda de su contraparte: usted difunde la transacción de compromiso más reciente, paga comisiones on-chain y espera a que transcurra un retraso antes de que su propio saldo sea gastable.
Todo canal Lightning mantiene preparada una vía de salida firmada, y un cierre forzado es el uso de esa vía de salida. Cuesta una transacción on-chain real más otra por cada pago que siga en tránsito, y los canales ancla dejan una salida de 330 satoshis a cada lado solo para que la comisión se pueda aumentar después. Cuente con recuperar su dinero en aproximadamente un día, no en un segundo.
Cómo funciona
Existen dos formas de salir de un canal Lightning, y la costosa es el cierre forzado, que no necesita cooperación.
Un cierre cooperativo es una negociación: ambas partes acuerdan el reparto final, firman una transacción y las monedas de todos son salidas gastables ordinarias en cuanto se confirma. Un cierre forzado se salta la negociación. Usted publica la transacción de compromiso más reciente que tiene, y las reglas de consenso de bitcoin hacen de árbitro en lugar de su par. La asimetría es deliberada y juega en contra de quien pulsa el botón: el saldo de su contraparte es gastable de inmediato, mientras que el suyo queda bloqueado tras un retraso OP_CHECKSEQUENCEVERIFY de to_self_delay bloques, acordado cuando se abrió el canal.
Ese retraso es la ventana de penalización. Existe para que, si la transacción que usted difundió resulta ser antigua y muestra un saldo que ya gastó, la otra parte tenga tiempo de publicar una transacción de penalización y quedarse con todo. BOLT 2 almacena el campo to_self_delay como un número de 16 bits, así que puede tomar cualquier valor hasta 65.535 bloques, y exige que un par rechace un valor que considere irrazonablemente grande. Un retraso mayor hace más difícil que le hagan trampa y vuelve más lenta su propia vía de salida.
Los pagos en tránsito complican la aritmética. Cada uno necesita su propia transacción posterior, que pesa 666 o 706 unidades de peso en un canal ancla según se resuelva por timeout (expiración del plazo) o por el secreto, y cada una se difunde por separado en cuanto se cumple su condición. Las salidas ancla de 330 satoshis, dimensionadas en el límite de polvo de una salida P2WSH, existen para que cualquiera de las partes pueda adjuntar una transacción hija y aumentar la comisión de un compromiso que se firmó cuando la mempool estaba barata.
Dónde aparece
Los cierres forzados son habituales, y en la mayoría de ellos nadie está haciendo trampa.
El desencadenante habitual es un par que lleva demasiado tiempo sin ser alcanzable mientras se acerca el plazo de un pago, así que su nodo cierra el canal antes que arriesgarse a perder el monto. Los proveedores podan los canales que llevan tiempo inactivos. Las billeteras cierran el canal automáticamente cuando no logran contactar con la otra parte después de una actualización. En todos los casos, usted se entera porque una buena parte de su saldo aparece de repente como pendiente y en la mempool hay una transacción de un desconocido con su dinero dentro.
La regla que le ahorra dinero a la gente: nunca restaure una billetera Lightning solo desde una frase semilla para luego usarla. La frase semilla recupera las monedas on-chain, pero el estado actual de un canal no está en ella, y difundir un compromiso obsoleto es exponerse a la penalización. Lo que usted guarda en su lugar es un archivo de respaldo de canales, y lo que le da es el derecho a pedir a sus pares que cierren, al ritmo de ellos, con comisiones que usted no controla. Esa es la razón práctica por la que Lightning sirve para gastar dinero y la autocustodia on-chain, para ahorrar.
El entorno de comisiones decide el daño. Un cierre forzado con la mempool tranquila cuesta unos pocos miles de satoshis. El mismo cierre durante un pico de comisiones puede costar más de lo que contiene un canal pequeño, y los canales cuyo saldo está por debajo del costo de barrerlo simplemente se abandonan.