Como Criar um Nó Bitcoin Lightning no Linux

Imagem em Destaque do Nó Bitcoin Lightning

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?

Visualização de Blocos Bitcoin Lightning Node 03

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.

Gráfico da Rede Lightning Bitcoin Lightning Node 04

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

Criar Novo Usuário Bitcoin Lightning Node 05

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/ppa

Instale as dependências do nó:

sudo apt install software-properties-common lightningd snapd

Instalar Dependências Bitcoin Lightning Node 06

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

Snap Instalar Bitcoin Bitcoin Lightning Node 07

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 -daemon

Este 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

Log de Download Bitcoin Lightning Node 08

É 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 stop

Edite seu arquivo de configuração em “ /etc/bitcoin.conf”:

nano/home/$USER/.bitcoin/bitcoin.conf

Arquivo de Configuração do Nó Bitcoin Lightning Node 09

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=0

Reinicie seu nó Bitcoin executando o seguinte comando:

bitcoind -daemon

Iniciando Seu Nó Bitcoin Lightning

Inicie seu nó Lightning executando o seguinte comando:

lightningd --network=bitcoin --log-level=debug --daemon

Inicializar Nó Lightning Bitcoin Lightning Node 11

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

Verificar Informações do Nó Bitcoin Lightning Node 12

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

Gerar Endereço Bitcoin Bitcoin Lightning Node 13

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.

Enviar Fundos da Carteira Externa Bitcoin Lightning Node 14

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 listfunds

Conectando-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.

Lista de Nós 1ml Bitcoin Lightning Node 15

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

Criar Canal de Fundos Bitcoin Lightning Node 16

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

Enviar Bitcoin Lightning Bitcoin Lightning Node 18

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

Obter Bitcoin Lightning Bitcoin Lightning Node 19

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.