Cómo crear un nodo Lightning de Bitcoin en Linux

Uno de los mayores problemas al usar Bitcoin son los largos tiempos de transacción. Esto puede ser frustrante para los nuevos usuarios que recién están comenzando en esta moneda digital. Una de las maneras más fáciles de mejorar esto es usar una capa de pago secundaria como Bitcoin Lightning.
Bitcoin Lightning es un sistema que utiliza transacciones personalizadas de Bitcoin para mover activos rápidamente fuera del proceso regular de la blockchain. En este sentido, Lightning es similar a la red Tor, donde utiliza TCP/IP como su columna vertebral al enrutar conexiones anónimas.
Tabla de Contenidos
- ¿Por qué es lento Bitcoin?
- ¿Cómo funciona la red Lightning?
- Configurando tu propio nodo Lightning de Bitcoin
- Preguntas Frecuentes
También lee: Cómo gestionar tus finanzas con el modo Ledger en Emacs
Bitcoin te permite intercambiar dinero fácilmente a través de Internet sin una autoridad central. Cada transacción que realizas es directa al beneficiario, y la distribuyes a través de toda la red.
¿Por qué es lento Bitcoin?

Como resultado, cualquier pago que realices dentro de Bitcoin toma tiempo para completarse y confirmarse. Por ejemplo, una transacción regular de Bitcoin normalmente toma de 10 a 30 minutos en procesarse.
¿Cómo funciona la red Lightning?
En su núcleo, Lightning funciona creando un pago “on-chain” que estaciona una cantidad de Bitcoin en tu nodo. Lightning luego utiliza tu Bitcoin estacionado para crear un canal entre otros nodos Lightning.

Esto te permite crear pagos adicionales “off-chain” a través de Lightning que no necesitan procesarse en la blockchain, reduciendo significativamente el tiempo de pago entre dos usuarios. Por ejemplo, una transacción regular de Lightning solo toma alrededor de un segundo en procesarse.
También lee: Cómo solucionar el alto uso de CPU en Linux
Configurando tu propio nodo Lightning de Bitcoin
Para comenzar con Lightning, es bueno tener tu propio nodo personal. Similar a configurar un nodo de Bitcoin, un nodo Lightning te permite tener control total sobre tus transacciones en su red.
Para comenzar la instalación, necesitas tener disponibles y listos varios recursos:
- Máquina con una cantidad decente de almacenamiento y memoria. En mi caso, estoy usando un viejo Dell Optiplex de escritorio con 1TB de almacenamiento y 2GB de RAM.
- Conexión a Internet constante, ya que un nodo Lightning necesita comunicarse regularmente con otros nodos para mantener su estado.
- Pequeña cantidad de Bitcoin que puedes usar para “financiar” tu nodo Lightning.
Conociendo estos factores, este tutorial se centra en instalar c-lightning en una máquina Ubuntu 22.04.1 LTS.
Obtención de las dependencias
El primer paso para instalar c-lightning es crear una nueva cuenta de usuario para asegurar que cualquier archivo y configuración para tu nodo estará separada de tu usuario principal:
sudo useradd -s/bin/bash-d/home/lightning -m-Gsudo lightning
sudopasswd lightning
Cambia a este nuevo usuario ejecutando: su lightning, luego agrega un repositorio de terceros que contendrá todos los programas para que c-lightning funcione:
sudo add-apt-repository -u ppa:lightningnetwork/ppaInstala las dependencias del nodo:
sudo apt install software-properties-common lightningd snapd
También lee: 4 maneras de aumentar la duración de la batería de tu laptop Linux
Configurando un nodo Bitcoin simple
Desde aquí, necesitas instalar y configurar un nodo Bitcoin simple. Como se discutió anteriormente, Lightning es una red de superposición que funciona utilizando transacciones personalizadas de Bitcoin para crear “canales de financiamiento”.
Para crear estos canales, tu nodo Lightning necesita funcionar junto a un nodo Bitcoin simple que se puede instalar ejecutando el siguiente comando:
sudo snap install bitcoin-core
Crea un enlace simbólico entre tu directorio raíz “snap” y la carpeta “bin”:
sudoln-s/snap/bitcoin-core/current/bin/bitcoin{d,-cli}/usr/local/bin/Inicia la descarga del bloque inicial para tu nodo Bitcoin:
bitcoind -daemonEste comando enviará el nodo al fondo para descargar y verificar toda la blockchain de Bitcoin. Puedes verificar su progreso ejecutando el siguiente comando:
tail-f/home/$USER/.bitcoin/debug.log
Es importante tener en cuenta que este proceso puede tomar entre unas pocas horas y unos días. Por ejemplo, mi escritorio Dell Optiplex tardó 5 días en sincronizarse completamente con la red Bitcoin.
Configurando tu nodo Bitcoin simple
Una vez que tu nodo esté sincronizado con la red, asegúrate de que sea compatible con Lightning deteniendo primero el nodo de Bitcoin:
bitcoind stopEdita su archivo de configuración en “ /etc/bitcoin.conf”:
nano/home/$USER/.bitcoin/bitcoin.conf
Desactiva dos opciones: walletbroadcast y prune. La primera opción le dice a tu nodo Bitcoin que solo use sus datos con Lightning, y la segunda opción asegura que estás guardando toda la blockchain en tu disco duro.
walletbroadcast=0
prune=0Reinicia tu nodo Bitcoin ejecutando el siguiente comando:
bitcoind -daemonIniciando tu nodo Lightning de Bitcoin
Inicia tu nodo Lightning ejecutando el siguiente comando:
lightningd --network=bitcoin --log-level=debug --daemon
Este comando enviará el nodo al fondo y creará sus archivos de configuración en “ /home/$USER/.lightning”. Prueba si tu nodo Lightning está funcionando correctamente con este comando:
lightning-cli --lightning-dir=$HOME/.lightning getinfo
También lee: Las mejores herramientas de código abierto para asegurar tu servidor Linux
Finalizando tu nodo Lightning de Bitcoin
Con c-lightning en funcionamiento, puedes finalizar tu nodo creando los “canales de financiamiento” entre diferentes pares Lightning. Como se discutió anteriormente, un “canal de financiamiento” es una transacción personalizada de Bitcoin que te permite mover tu Bitcoin sin comprometerlo a la blockchain.
Para crear esto, primero “deposita” Bitcoin en tu nodo Lightning generando una dirección de recepción para tu nodo con el siguiente comando:
lightning-cli newaddr
Ve a una billetera externa y envía Bitcoin a esa dirección de recepción. En mi caso, enviaré 0.00050000 BTC usando mi billetera Bitcoin Core.

Una vez que la transacción esté en la blockchain, tu nodo Lightning actualizará automáticamente su saldo de fondos. Visualiza esto ejecutando el siguiente comando:
lightning-cli listfundsConectando con nodos Lightning de Bitcoin remotos
Comienza a conectar tu nodo con sus pares en la red para permitirte enviar y recibir Bitcoin a través de Lightning.
Para comenzar, encuentra tanto su clave pública como su dirección IP. Similar a usar cifrado PGP, esto te permite conectar y verificar la autenticidad de un nodo a través de la criptografía de clave pública.
Una de las herramientas más comunes para hacer esto es 1ML: un sitio web que lista todos los nodos Lightning activos en la red.

Una vez que tengas un nodo activo, usa el comando lightning-connect para establecer una solicitud de par. Por ejemplo, este comando conectará mi nodo a ACINQ:
lightning-cli connect 1 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f 3.33.236.230- El primer valor indica el número de ranura que deseas asignar al par actual. Para este nodo, estoy usando la ranura 1.
- El segundo valor es la clave pública del nodo remoto. En este caso, estoy usando la clave pública de ACINQ.
- El tercer valor es la dirección IP pública del nodo remoto.
Para finalizar la solicitud, envía parte del saldo de Bitcoin de tu nodo al nodo remoto para crear un “canal de financiamiento” entre tú y un nodo par.
Por ejemplo, este comando creará un “canal de financiamiento” por 0.00030000 BTC al primer par en mi lista:
lightning-cli fundchannel 130000
Enviando y recibiendo pagos Lightning
Con un “canal de financiamiento” activo, usa tu nodo para enviar y recibir pagos. Por defecto, Lightning utiliza el formato BOLT11 que comienza con “lnbc” para diferenciarlo de Bitcoin.
Para enviar Bitcoin a través de Lightning, debes conocer la dirección BOLT11 de tu destinatario. Por ejemplo, el siguiente comando envía 0.00005000 BTC a una dirección remota:
lightning-cli pay lnbc20m1[...]qdhhwkj 50000
También puedes recibir Bitcoin a través de Lightning usando el comando invoice y especificar la cantidad exacta de Bitcoin que deseas recibir. Por ejemplo, este comando crea una factura por 0.00010000 BTC:
lightning-cli invoice 100000
También lee: Cómo encontrar archivos grandes en Linux
Preguntas Frecuentes
Estoy usando Dojo como mi nodo Bitcoin. ¿Es posible usarlo con c-lightning?
No. Por defecto, Dojo es un programa que utiliza contenedores Docker para ejecutar una instancia aislada de Bitcoin Core. Un nodo Bitcoin de Dojo no podrá comunicarse con ningún programa fuera de su contenedor aislado.
Mi billetera no soporta una dirección “bc1”. ¿Es posible depositar en mi nodo Lightning?
¡Sí! Aunque c-lightning genera nativamente en un formato de dirección “bc1”, es posible transferir Bitcoin a un nodo Lightning utilizando el formato P2SH más antiguo. Para hacer esto, ejecuta el siguiente comando: lightning-cli newaddr p2sh-segwit.
Mi pago Lightning ocasionalmente falla. ¿Está roto mi nodo?
¡No! Este problema se debe probablemente a una falta de conexiones de nodo entre tú y el destinatario. La red Lightning, por diseño, depende de que cada nodo hable de manera consistente y directa entre sí.
Una forma de solucionar este problema es aumentar la cantidad de pares y “canales de financiamiento” a los que tu nodo local se conecta. Por ejemplo, tener al menos dos o tres pares activos te permitirá conectarte a casi cualquier usuario de Lightning.
Crédito de imagen: Unsplash y Wikimedia Commons. Todas las alteraciones y capturas de pantalla por Ramces Red.