Glosario / Lightning y capa 2
Reserva del canal
- ¿Qué es la reserva del canal?
- La reserva del canal es la parte del saldo de un canal Lightning que cada lado tiene prohibido gastar, retenida como garantía para que hacer trampa con una transacción de compromiso antigua siempre cueste algo.
Ambos pares establecen una reserva el uno para el otro cuando se abre el canal, y ninguno puede vaciar su saldo por debajo de ella mientras dure el canal. BOLT 2 sugiere el 1 % del total del canal y exige que la reserva sea al menos el límite de polvo, que no puede bajar de 354 satoshis. Una billetera que muestra 100.000 satoshis le dejará gastar algo menos, y esa diferencia no es un error.
Cómo funciona
La reserva del canal la establece su par, no usted: el campo channel_reserve_satoshis que envía un nodo es el mínimo que el nodo del otro extremo tiene que conservar como pago directo.
El campo es un número de 64 bits en el mensaje open_channel, de tipo 32, y de nuevo en el mensaje accept_channel, de tipo 33, así que un canal abierto de esta forma lleva dos reservas, que no tienen por qué coincidir. La justificación de la especificación expone el propósito: cada lado mantiene su reserva "so it always has something to lose if it were to try to broadcast an old, revoked commitment transaction" (para tener siempre algo que perder si intentara difundir una transacción de compromiso antigua y revocada). Sin la reserva, quien pierde una disputa en el canal no arriesga nada al publicar un saldo obsoleto con la esperanza de que nadie vigile.
Dos comprobaciones mantienen el número dentro de lo razonable. Una reserva debe ser al menos tan grande como el límite de polvo correspondiente, y el canal se da por fallido de inmediato si el límite de polvo es el mayor de los dos, porque una reserva que puede podarse como polvo no protege nada; el canal también se da por fallido si ninguno de los dos saldos de apertura supera la reserva, con lo que no queda nada gastable. Existe una exención porque al principio solo el financiador tiene dinero: un canal nuevo no necesita cumplir ambas reservas a la vez, y el protocolo se conforma con que se avance hacia ellas.
Los canales de financiación dual prescinden del campo. En el establecimiento de canales v2, los mensajes open_channel2 y accept_channel2 omiten channel_reserve_satoshis, y la reserva se establece en el 1 % de la suma de las dos aportaciones de financiación, redondeada hacia abajo a un satoshi entero, o en el límite de polvo si este es mayor. El splicing sigue el mismo principio: si saca dinero de un canal activo, lo que quede de su lado tiene que alcanzar la reserva que corresponde a la nueva capacidad. Quien paga las comisiones on-chain carga con una deducción más, ya que, salvo que se hayan negociado compromisos sin comisión, el financiador paga la comisión del compromiso por encima de su reserva, más un colchón recomendado para el doble de esa comisión por kiloweight.
Dónde aparece
La reserva del canal es la razón habitual por la que la cifra gastable de una billetera Lightning queda por debajo de su saldo.
En un saldo grande la diferencia no se nota; en uno pequeño, sí. Una reserva del 1 % en un canal de 200.000 satoshis equivale a 2.000 satoshis, así que una billetera que tenga 2.300 satoshis en él puede enviar 300 y rechaza cualquier monto mayor con un error de enrutamiento, no con una explicación. El mismo piso existe dentro del canal de cada desconocido por el que pasa su pago, lo que explica en parte por qué las rutas fallan cerca de los extremos de un canal. Los operadores de nodos se la encuentran como el saldo que nunca se mueve: abra un canal de 1.000.000 de satoshis, haga pasar por él todo lo que pueda, y los últimos 10.000 satoshis no se moverán hasta que el canal se cierre.
Lo que conviene recordar: este dinero sigue siendo suyo. Vuelve con el cierre, cooperativo o forzado, menos la comisión de cierre. Compárelo con lo que cobra una billetera Lightning de autocustodia por hacerle sitio: nuestra reseña de Phoenix registra 1.000 satoshis por crear un canal, y eso, una vez pagado, no se recupera. Una reserva es capital bloqueado.
Reserva del canal frente a límite de polvo
La reserva del canal y el límite de polvo son pisos bajo un monto, procedentes de capas distintas. El límite de polvo es política de retransmisión de bitcoin sobre las salidas: por debajo de él, gastar una salida cuesta más de lo que contiene, así que los nodos se niegan a retransmitir la transacción que la crea. La reserva es una regla sobre los saldos de los canales, escrita en la especificación de Lightning para que hacer trampa salga caro, y solo obliga a dos pares. BOLT 2 los relaciona en un solo sentido, al exigir que una reserva sea al menos el límite de polvo para que la salida que la paga siga siendo retransmisible; nada empuja el límite de polvo hacia arriba, hacia la reserva.