Como Criar um Nó Bitcoin Lightning no Linux

Um dos maiores problemas ao usar Bitcoin são os longos tempos de transação. Isso pode ser frustrante para novos usuários que estão começando a entrar nesta moeda digital. Uma das maneiras mais fáceis de melhorar isso é usar uma camada de pagamento secundária, como o Bitcoin Lightning.
O Bitcoin Lightning é um sistema que usa transações Bitcoin personalizadas para mover ativos rapidamente fora do processo regular da blockchain. Nesse sentido, o Lightning é semelhante à Rede Tor, onde usa TCP/IP como sua espinha dorsal ao roteirizar conexões anônimas.
Índice
- Por que o Bitcoin é Lento?
- Como Funciona a Rede Lightning?
- Configurando Seu Próprio Nó Bitcoin Lightning
- Perguntas Frequentes
Leia também: Como Gerenciar suas Finanças com o Modo Ledger no Emacs
O Bitcoin permite que você troque dinheiro facilmente pela Internet sem uma autoridade central. Cada transação que você faz é direta para o beneficiário, e você a distribui por toda a rede.
Por que o Bitcoin é Lento?

Como resultado, qualquer pagamento que você faça dentro do Bitcoin leva tempo para ser concluído e confirmado. Por exemplo, uma transação regular de Bitcoin normalmente leva de 10 a 30 minutos para ser processada.
Como Funciona a Rede Lightning?
Em sua essência, o Lightning funciona criando um pagamento “on-chain” que estaciona uma quantidade de Bitcoin em seu nó. O Lightning então usa seu Bitcoin estacionado para criar um canal entre outros nós Lightning.

Isso permite que você crie pagamentos adicionais “off-chain” através do Lightning que não precisam ser processados na blockchain, reduzindo significativamente o tempo de pagamento entre dois usuários. Por exemplo, uma transação regular do Lightning leva apenas cerca de um segundo para ser processada.
Leia também: Como Corrigir Alto Uso de CPU no Linux
Configurando Seu Próprio Nó Bitcoin Lightning
Para começar com o Lightning, é bom ter seu próprio nó pessoal. Semelhante à configuração de um nó Bitcoin, um nó Lightning permite que você tenha controle total sobre suas transações em sua rede.
Para iniciar a instalação, você precisa ter uma série de recursos disponíveis e prontos:
- Máquina com uma quantidade decente de armazenamento e memória. No meu caso, estou usando um antigo desktop Dell Optiplex com 1TB de armazenamento e 2GB de RAM.
- Conexão de Internet constante, pois um nó Lightning precisa se comunicar regularmente com outros nós para manter seu estado.
- Pequena quantidade de Bitcoin que você pode usar para “financiar” seu nó Lightning.
Sabendo desses fatores, este tutorial foca na instalação do c-lightning em uma máquina Ubuntu 22.04.1 LTS.
Obtendo as Dependências
O primeiro passo na instalação do c-lightning é criar uma nova conta de usuário para garantir que quaisquer arquivos e configurações para seu nó serão separados de seu usuário principal:
sudo useradd -s/bin/bash-d/home/lightning -m-Gsudo lightning
sudopasswd lightning
Mude para este novo usuário executando: su lightning, em seguida, adicione um repositório de terceiros que conterá todos os programas para o c-lightning funcionar:
sudo add-apt-repository -u ppa:lightningnetwork/ppaInstale as dependências do nó:
sudo apt install software-properties-common lightningd snapd
Leia também: 4 Maneiras de Aumentar a Vida Útil da Bateria do Seu Laptop Linux
Configurando um Nó Bitcoin Simples
A partir daqui, você precisa instalar e configurar um nó Bitcoin simples. Como discutido acima, o Lightning é uma rede sobreposta que funciona usando transações Bitcoin personalizadas para criar “fund channels”.
Para criar esses canais, seu nó Lightning precisa funcionar ao lado de um nó Bitcoin simples que pode ser instalado executando o seguinte comando:
sudo snap install bitcoin-core
Crie um link simbólico entre seu diretório “snap” raiz e a pasta “bin”:
sudoln-s/snap/bitcoin-core/current/bin/bitcoin{d,-cli}/usr/local/bin/Inicie o Download do Bloco Inicial para seu nó Bitcoin:
bitcoind -daemonEste comando enviará o nó para o fundo para baixar e verificar toda a blockchain do Bitcoin. Você pode verificar seu progresso executando o seguinte comando:
tail-f/home/$USER/.bitcoin/debug.log
É importante notar que esse processo pode levar de algumas horas a alguns dias. Por exemplo, meu desktop Dell Optiplex levou 5 dias para se sincronizar completamente com a rede Bitcoin.
Configurando Seu Nó Bitcoin Simples
Uma vez que seu nó esteja sincronizado com a rede, certifique-se de que ele é compatível com o Lightning, parando primeiro o nó Bitcoin:
bitcoind stopEdite seu arquivo de configuração em “ /etc/bitcoin.conf”:
nano/home/$USER/.bitcoin/bitcoin.conf
Desative duas opções: walletbroadcast e prune. A primeira opção diz ao seu nó Bitcoin para usar apenas seus dados com o Lightning, e a segunda opção garante que você está salvando toda a blockchain em seu disco rígido.
walletbroadcast=0
prune=0Reinicie seu nó Bitcoin executando o seguinte comando:
bitcoind -daemonIniciando Seu Nó Bitcoin Lightning
Inicie seu nó Lightning executando o seguinte comando:
lightningd --network=bitcoin --log-level=debug --daemon
Este comando enviará o nó para o fundo e criará seus arquivos de configuração em “ /home/$USER/.lightning”. Teste se seu nó Lightning está funcionando corretamente com este comando:
lightning-cli --lightning-dir=$HOME/.lightning getinfo
Leia também: As Melhores Ferramentas de Código Aberto para Proteger Seu Servidor Linux
Finalizando Seu Nó Bitcoin Lightning
Com o c-lightning em funcionamento, você pode finalizar seu nó criando os “fund channels” entre diferentes pares Lightning. Como discutido acima, um “fund channel” é uma transação Bitcoin personalizada que permite que você mova seu Bitcoin sem se comprometer com a blockchain.
Para criar isso, primeiro “deposite” Bitcoin em seu nó Lightning gerando um endereço de recebimento para seu nó com o seguinte comando:
lightning-cli newaddr
Vá para uma carteira externa e envie Bitcoin para esse endereço de recebimento. No meu caso, enviarei 0.00050000 BTC usando minha carteira Bitcoin Core.

Uma vez que a transação esteja na blockchain, seu nó Lightning atualizará automaticamente seu saldo de fundos. Veja isso executando o seguinte comando:
lightning-cli listfundsConectando-se a Nós Remotos Bitcoin Lightning
Comece a conectar seu nó aos seus pares na rede para permitir que você envie e receba Bitcoin através do Lightning.
Para começar, encontre tanto sua chave pública quanto o endereço IP. Semelhante ao uso de criptografia PGP, isso permite que você conecte e verifique a autenticidade de um nó através da criptografia de chave pública.
Uma das ferramentas mais comuns para fazer isso é o 1ML: um site que lista todos os nós Lightning ativos na rede.

Uma vez que você tenha um nó ativo, use o comando lightning-connect para estabelecer um pedido de par. Por exemplo, este comando conectará meu nó ao ACINQ:
lightning-cli connect 1 03864ef025fde8fb587d989186ce6a4a186895ee44a926bfc370e2c366597a3f8f 3.33.236.230- O primeiro valor indica o número do slot que você deseja atribuir ao par atual. Para este nó, estou usando o slot 1.
- O segundo valor é a chave pública do nó remoto. Neste caso, estou usando a chave pública do ACINQ.
- O terceiro valor é o endereço IP público do nó remoto.
Para finalizar o pedido, envie parte do saldo de Bitcoin do seu nó para o nó remoto para criar um “fund channel” entre você e um nó par.
Por exemplo, este comando criará um “fund channel” para 0.00030000 BTC para o primeiro par da minha lista:
lightning-cli fundchannel 130000
Enviando e Recebendo Pagamentos Lightning
Com um “fund channel” ativo, use seu nó para enviar e receber pagamentos. Por padrão, o Lightning usa o formato BOLT11 que começa com “lnbc” para diferenciá-lo do Bitcoin.
Para enviar Bitcoin através do Lightning, você deve conhecer o endereço BOLT11 do seu destinatário. Por exemplo, o seguinte comando envia 0.00005000 BTC para um endereço remoto:
lightning-cli pay lnbc20m1[...]qdhhwkj 50000
Você também pode receber Bitcoin através do Lightning usando o comando invoice e especificar a quantidade exata de Bitcoin que deseja receber. Por exemplo, este comando cria uma fatura para 0.00010000 BTC:
lightning-cli invoice 100000
Leia também: Como Encontrar Arquivos Grandes no Linux
Perguntas Frequentes
Estou usando Dojo como meu nó Bitcoin. É possível usá-lo com o c-lightning?
Não. Por padrão, o Dojo é um programa que usa contêineres Docker para executar uma instância isolada do Bitcoin Core. Um nó Bitcoin Dojo não será capaz de se comunicar com nenhum programa fora de seu contêiner isolado.
Minha carteira não suporta um endereço “bc1”. É possível depositar em meu nó Lightning?
Sim! Embora o c-lightning gere nativamente em um formato de endereço “bc1”, é possível transferir Bitcoin para um nó Lightning usando o formato P2SH mais antigo. Para fazer isso, execute o seguinte comando: lightning-cli newaddr p2sh-segwit.
Meu pagamento Lightning ocasionalmente falha. Meu nó está quebrado?
Não! Este problema é mais provavelmente devido à falta de conexões de nó entre você e o destinatário. A rede Lightning, por design, depende de cada nó se comunicar consistentemente e diretamente entre si.
Uma maneira de corrigir esse problema é aumentar a quantidade de pares e “fund channels” que seu nó local se conecta. Por exemplo, ter pelo menos dois a três pares ativos permitirá que você se conecte a quase qualquer usuário Lightning.
Crédito da Imagem: Unsplash e Wikimedia Commons. Todas as alterações e capturas de tela por Ramces Red.