Glosario / Lightning y capa 2
Nodo de enrutamiento
- ¿Qué es un nodo de enrutamiento?
- Un nodo de enrutamiento es un nodo Lightning que mantiene canales abiertos en ambos sentidos y reenvía a través de ellos los pagos de otras personas, cobrando una pequeña comisión por cada salto que reenvía.
Alguien tiene que estar en medio. Los nodos de enrutamiento son los voluntarios remunerados del grafo Lightning: inmovilizan capital, permanecen en línea y ganan una comisión base más una comisión proporcional por cada reenvío. Cualquiera puede ejecutar uno, muy pocos ganan con ello un dinero significativo, y la red depende de ellos de todos modos.
Cómo funciona
Un nodo de enrutamiento anuncia sus canales y sus precios, y luego reenvía los pagos que otros nodos deciden enviar a través de él.
Primero viene el anuncio. Un canal público se propaga por gossip en un mensaje channel_announcement que lleva cuatro firmas: una de la clave de identidad de cada nodo y una de cada una de las claves que controlan la salida de financiación. Eso es lo que demuestra que el canal es real y no una afirmación, porque la salida de financiación es visible on-chain y las firmas la asocian a los dos nodos. Un mensaje node_announcement aparte lleva el alias, el color y las direcciones de red del operador.
Los precios se anuncian en el mensaje channel_update, y hay dos por salto. La comisión por reenviar es el valor de fee_base_msat más el monto multiplicado por fee_proportional_millionths y dividido entre 1.000.000. Un salto que cobra una base de 1 satoshi y 200 partes por millón se queda con 21 satoshis por reenviar 100.000 satoshis: 1 satoshi fijo más 20 satoshis proporcionales. El mismo mensaje lleva el campo cltv_expiry_delta, el número de bloques de bloqueo temporal (timelock) que el nodo exige mantener entre el pago que recibe y el pago que envía, y el campo htlc_minimum_msat, el reenvío más pequeño que está dispuesto a atender.
El reenvío en sí es mecánico. Llega un paquete cebolla, el nodo pela su propia capa, conoce solo el siguiente salto y el monto, y ofrece un contrato de bloqueo temporal con hash correspondiente en el canal saliente. Si la ruta se completa, la preimagen viaja de vuelta y el nodo se queda con la diferencia. Si no, todo expira y se deshace. Nada de lo que hace el nodo requiere confianza: no puede ver al remitente, al destinatario ni la longitud de la ruta, y no puede quedarse con el dinero sin presentar la preimagen.
Los límites son físicos. No más de 483 reenvíos pendientes por cada lado de un canal, porque cada uno añade una salida a la transacción que haría cumplir el canal on-chain. Y cada satoshi inmovilizado en un canal es un satoshi que no hace ninguna otra cosa, lo cual es el costo real del negocio.
Dónde aparece
Los nodos de enrutamiento son invisibles en el uso normal e ineludibles en lo económico.
Cuando una billetera le cotiza una comisión antes de que usted envíe, está sumando las comisiones anunciadas de cada salto que piensa usar. Por eso el mismo pago puede costar 2 satoshis hoy y 40 mañana: la ruta cambió. Los grandes nodos públicos gestionados por exchanges y procesadores de pagos mueven la mayor parte del volumen, y directorios como los exploradores Lightning públicos los clasifican por capacidad total, que mide el capital inmovilizado y no la fiabilidad.
Si usted está pensando en ejecutar uno, haga las cuentas antes de ir de compras. Los ingresos por comisiones son una fracción del uno por ciento del valor que usted reenvía, así que un nodo con 0,5 BTC desplegados que reenvía unos pocos millones de satoshis al mes gana miles de satoshis, frente al costo on-chain de abrir y cerrar canales y al riesgo de un cierre forzado con una comisión por vB desfavorable. La mayoría de los operadores ejecutan uno porque quieren que la red exista, no porque rinda más que el almacenamiento en frío.
Nodo de enrutamiento frente a un nodo de bitcoin
Un nodo de enrutamiento es un nodo Lightning que reenvía pagos para otros; un nodo de bitcoin en el sentido corriente valida bloques y retransmite transacciones. Ejecutan software distinto, hablan protocolos distintos y responden a preguntas distintas. Un nodo completo de bitcoin le dice si una transacción es válida según las reglas de consenso y no guarda el dinero de nadie salvo el suyo. Un nodo de enrutamiento mantiene fondos en canales activos, tiene que estar en línea para ser útil y gana comisiones. La mayoría de los operadores de nodos de enrutamiento ejecutan ambos, porque un nodo Lightning necesita una visión fiable de la cadena, pero las dos funciones están separadas y solo una de ellas pone sus monedas en una billetera caliente.