La documentación de BOLT#2 para open_channel
el mensaje tiene dos puntos ( dust_limit_satoshi
y htlc_min_msat
) en el data
mensaje que encontré confuso. A continuación se muestra la declaración relacionada con dust_limit_satoshi
:
dust_limit_satoshis
es el umbral por debajo del cual no se deben generar salidas para el compromiso de este nodo o las transacciones de HTLC (es decir, los HTLC por debajo de esta cantidad más las tarifas de transacción de HTLC no son exigibles en la cadena)
y parahtlc_minimum_msat
htlc_minimum_msat
indica el valor más pequeño de HTLC que aceptará este nodo.
Mi pregunta es ¿cómo podré aceptar un htlc con valor que está en sub-satoshi, si mi dust_limit_satoshi
está en Satoshis? Según tengo entendido y la primera declaración entre comillas, mi nodo no aceptará transacciones HTLC que estén por debajo del dust_limit
. Si ese es el caso, ¿por qué no hacer cumplir htlc_minimum_msat
eso dust_limit_satoshi
?
El límite de polvo es una externalidad al rayo que el protocolo debe respetar. De hecho, si una transacción de compromiso codificara un htlc por debajo del límite de polvo, no podría forzar el cierre del canal ya que la red de Bitcoin no aceptaría esa transacción en particular.
Cuando se trata de htlcs por debajo del nivel de polvo, trabajamos con un poco de confianza en el canal de pago. Esto significa que ofrecer un htlc significa que eliminamos un poco de blance de nuestro lado del canal. En lugar de convertirlo en una salida htlc, simplemente lo agregamos a las tarifas de la transacción de compromiso. Técnicamente, nuestro socio de canal podría dañarnos forzando el cierre ahora y nuestra cantidad de htlc se perdería para siempre si no encontramos la preimagen. Solo con la entrega de la preimagen se negocia un nuevo compromiso tx en el que la tarifa se reduce en el monto de htlc y se agrega al saldo de sus socios de canal.
Habiendo dicho eso. Para los cálculos de tarifas de pagos pequeños, incluso permitimos montos subsatoshi que nuevamente no son exigibles y se agregarán a las tarifas redondeando hacia abajo el saldo real en el compromiso tx. Cualquier nodo de enrutamiento podría implementar (en realidad, solo configurar) una regla como la que sugirió. Esto reforzaría el efecto de que el canal puede funcionar sin confianza.
No puedo decirle por qué esto no está codificado en el protocolo. Creo que porque la gente quería permitir micro transacciones.