Glossário / Lightning e camada 2
Endereço Lightning
- O que é um endereço Lightning?
- Um endereço Lightning se parece com um endereço de e-mail, usuário arroba domínio, e é resolvido em um endpoint web desse domínio que entrega à sua carteira uma fatura Lightning nova quando solicitado.
Ninguém quer ler em voz alta uma fatura de cem caracteres. Um endereço Lightning a substitui por algo que você pode dizer em um podcast, e funciona porque o endereço não é uma solicitação de pagamento, apenas um ponteiro para um servidor que as gera. A especificação tem uma página, LUD-16, e todo o fluxo é uma única solicitação HTTPS.
Como funciona
Um endereço Lightning é uma regra de reescrita de uma string com forma de e-mail para uma URL.
Dado satoshi@example.com, uma carteira monta a URL https://example.com/.well-known/lnurlp/satoshi e envia uma solicitação GET. O servidor responde com o JSON padrão do LNURL-pay: uma URL de callback, um mínimo e um máximo que aceitará em milisatoshis, e um bloco de metadados que descreve o destinatário. A carteira mostra essa descrição, você informa um valor, e ela chama o callback com o seu valor. Volta uma fatura BOLT11 exatamente por esse valor, que a carteira verifica e paga.
A parte do nome de usuário se limita a letras minúsculas, dígitos, hífens, sublinhados e pontos, com um sinal de mais opcional para serviços que aceitam tags no estilo user+label@domain. Um @example.com isolado é permitido como identidade padrão e é resolvido no nome de usuário reservado sublinhado. Domínios onion usam HTTP simples, já que o Tor já fornece a segurança de transporte que o TLS daria.
Essa é toda a especificação. Não há criptografia nova, nenhum tipo de mensagem nova, nenhuma mudança em qualquer nó. Um endereço Lightning é uma convenção de nomes sobre o LNURL-pay, que por sua vez se apoia em uma fatura normal, e cada camada pode ser removida sem quebrar a camada abaixo dela.
Onde você o vê
Os endereços Lightning são como a maioria das pessoas publica uma forma de receber pagamentos.
Carteiras custodiais e aplicativos nativos de Lightning entregam um no cadastro, porque o provedor já opera o servidor web e o nó que o endereço precisa. Feeds de podcast os carregam para pagamentos em streaming. Perfis em redes sociais, potes de gorjeta e crachás de conferência os usam pela mesma razão que um cartão de visita traz um endereço de e-mail em vez de um modelo de transferência bancária.
Manter o seu próprio exige um domínio e um pequeno serviço que responda ao caminho well-known, o que dá mais trabalho do que parece até você ter um lugar confiável para hospedá-lo. É por isso que a esmagadora maioria dos endereços Lightning em circulação pertence a um provedor de serviços, e é a parte sobre a qual vale pensar antes de imprimir o seu em alguma coisa.
Dali decorrem dois limites práticos. Primeiro, quem opera o domínio vê cada solicitação de fatura, incluindo os valores e o momento, então um endereço é uma troca de privacidade mesmo quando a carteira por trás dele não é custodial. Segundo, um endereço só funciona enquanto o domínio funcionar. Se o provedor encerrar as atividades, mudar seus termos ou perder o domínio, todo lugar onde você publicou o endereço passa a apontar para nada. Trate-o como uma camada de conveniência, não como uma identidade que você possui, a menos que o domínio seja um que você controla.
Endereço Lightning vs endereço de Bitcoin
Um endereço Lightning é uma chave de consulta na web; um endereço de bitcoin é uma condição de gasto na blockchain. Envie bitcoin on-chain para satoshi@example.com e nada acontece, porque não existe transação on-chain para um nome de domínio. Envie um pagamento Lightning para bc1q seguido de 38 caracteres e nada acontece também. Eles se parecem superficialmente no campo "send" de uma carteira e não compartilham nenhum mecanismo: um dispara uma solicitação HTTPS, o outro codifica um script que os mineradores vão fazer cumprir. Um endereço de bitcoin funciona para sempre e não precisa de servidor; um endereço Lightning precisa de um servidor ativo e deixa de funcionar no dia em que esse servidor deixa de funcionar.