5.1 KiB
19.4: Expandindo a Lightning Network
ℹ️ NOTA: Esta seção foi adicionada recentemente ao curso e é um rascunho inicial que ainda pode estar aguardando revisão.
Esses dois capítulos cobriram apenas algumas das atividades mais importantes da Lightning. Há muito mais que pode ser feito e muitas variedades possíveis. A seguir, daremos algumas dicas importantes.
Usando plugins c-lightning
O c-lightning é uma implementação leve, altamente personalizável e compatível com o padrão do protocolo Lightning Network. Ele estende a funcionalidade usando plugins. Principalmente, esses são subprocessos que são iniciados pelo daemon lightningd
e podem interagir com o lightningd
de várias maneiras:
- As opções de linha de comando permitem que os plugins registrem os próprios argumentos usando a linha de comando, que são então expostos por meio do
lightningd
; - A passagem de comando JSON-RPC permite que os plugins adicionem os próprios comandos à interface JSON-RPC;
- As assinaturas de fluxo de eventos fornecem plug-ins com um mecanismo de notificação baseados em push para o
lightnind
; - Hooks são uma opção primitiva que permite que os plugins sejam notificados sobre eventos no daemon
lightningd
e modifiquem o comportamento ou transmitam comportamentos personalizados.
Um plugin pode ser escrito em qualquer linguagem e pode se comunicar com o lightningd
através do stdin e stdout do plugin. O JSON-RPCv2 é usado como protocolo no topo dos dois fluxos, com o plugin atuando como servidor e lightningd
atuando como cliente.
O repositório lightningd
GitHub mantém uma lista atualizada de plugins disponíveis.
Usando Mobile Wallets
Atualmente, sabemos de duas carteiras de dispositivos móveis da Lightning que suportam a implementação do c-lightning.
Para dispositivos iOS, o FullyNoded é uma carteira de Bitcoin iOS open source que se conecta através do serviço autenticado Tor V3 ao nosso próprio full node. A funcionalidade FullyNoded está atualmente em desenvolvimento ativo e na fase beta inicial de testes.
O SparkWallet é uma carteira GUI minimalista para a c-lightning, acessível pela web ou por meio de aplicativos móveis e de desktop para Android.
Usando diferentes implementações da Lightning
O c-lightning não é a nossa única opção. Hoje, existem três implementações amplamente utilizadas para a Lightning Network. Todos seguem as Documentações Base para a Tecnologia Lightning (BOLT), que descrevem um protocolo de segunda camada para transferências de bitcoins offchain. As especificações são atualmente um trabalho em andamento que ainda está sendo elaborado.
Nome | Descrição | BitcoinStandup | Linguagem | Repositório |
---|---|---|---|---|
C-lighting | Blockstream | X | C | Download |
LND | Lightning Labs | X | Go | Download |
Eclair | ACINQ | - | Scala | Download |
Fazendo backups
Nosso node Lightning precisa estar online o tempo todo, caso contrário, nossa contraparte pode enviar um status de canal anterior e roubar nossos fundos. No entanto, há outro cenário em que os fundos podem ser perdidos, que é quando ocorre uma falha no hardware que impede o node de estabelecer um fechamento cooperativo com a contraparte. Isso provavelmente significará que, se não tivermos uma cópia exata do estado do canal antes da falha, teremos um estado inválido que pode fazer com que o outro node o considere como uma tentativa de fraude e use a transação penalizada. Nesse caso, todos os fundos serão perdidos. Para evitar esta situação indesejável, uma solução baseada na alta disponibilidade do banco de dados postgresQL existe.
PS: Não testamos esta solução.
Resumo: Expandindo a Lightning Network
Podemos usar diferentes implementações, plugins, carteiras para celular e backups para expandir nossa experiência com a Lightning.
O Que Vem Depois?
Concluímos todo o livro Aprendendo sobre o Bitcoin usando a Linha de Comando, embora não precise visitar os Apêndices que possuem configurações alternativas, podemos fazer isso agora.
Caso contrário, nós o encorajamos a ingressar nas comunidades de desenvolvedores e programadores e também, colocar nosso novo conhecimento para funcionar.
Também podemos nos ajudar aqui em Blockchain Commons com issues ou PRs para aprender sobre o Bitcoin ou para qualquer um de nossos outros repositórios, ou podemos até mesmo nos tornar um patrocinador. Também podemos ajudar divulgando o trabalho, contando às pessoas nas redes sociais sobre o curso e o que aprendemos com ele!
Agora vá lá e faça da comunidade do Bitcoin um lugar melhor!