Revista Bitcoin - Notícias, artigos e insights de especialistas sobre Bitcoin home
Nostr Wallet Connect: uma camada de colaboração de aplicativos Bitcoin
NOSTR WALLET CONNECT: UMA CAMADA DE COLABORAÇÃO DE APLICATIVOS BITCOIN
SHINOBI48 MINUTOS ATRÁS
À medida que cresce a complexidade do software Bitcoin e dos aplicativos que usam Bitcoin, cresce também a necessidade de um mecanismo de coordenação simples para a interação de diferentes aplicativos.
Indo para o futuro da adoção e desenvolvimento do Bitcoin, há uma questão de interação de software que está chegando ao primeiro plano dos obstáculos com os quais os desenvolvedores devem lidar: compatibilidade. À medida que os aplicativos e protocolos neste espaço se tornam mais complexos e cheios de recursos para atender às necessidades dos usuários e casos de uso reais, isso apresenta um dilema que fundamentalmente tem apenas duas respostas reais; ou um aplicativo ou carteira deve integrar internamente todos os protocolos e recursos necessários para atender aos requisitos de sua finalidade, ou diferentes aplicativos devem ser capazes de se comunicar entre si.
Um exemplo de onde esse problema surge é a integração do Lightning em diferentes aplicativos e ferramentas de software. O Lightning é uma pilha de protocolos muito complicada de implementar, envolvendo vários subprotocolos que determinam como coordenar e processar atualizações no estado de um canal do Lightning. Isso envolve a estrutura de transação para cada estado de canal e o que ele está aplicando, a ordem em que cada etapa de elaboração e assinatura de novas transações é conduzida para garantir a segurança dos fundos do usuário e funções para observar o blockchain reagir da maneira apropriada automaticamente se estados inválidos são sempre enviados ao blockchain.
Isso é muita complexidade para um único desenvolvedor de aplicativo assumir a integração direta ao seu projeto. A conclusão óbvia, se isso exigir muito esforço, é depender de um software já produzido para lidar com o problema de implementação do Lightning e simplesmente construir seu aplicativo para se comunicar com esse software externo. Isso leva ao próximo problema: e se os usuários do seu aplicativo não usarem aquela implementação ou carteira específica do Lightning?
Mesmo terceirizando essa funcionalidade de um aplicativo, a equipe de desenvolvimento ainda não escapou totalmente do problema da complexidade. Embora eles não precisem implementar totalmente o Lightning por conta própria, um desenvolvedor que segue esse caminho agora precisa lidar com a incorporação de suporte de API para qualquer carteira Lightning que o usuário de seu aplicativo possa estar usando. Isso exige acompanhar quaisquer alterações ou alterações em várias carteiras Lightning, sua API, como funcionam os recursos internos dessa carteira e quais eles suportam. Não acompanhar quaisquer alterações em uma carteira específica interromperia o aplicativo para os usuários dessa carteira.
É necessário que exista algum mecanismo padronizado para que o software em ambos os lados dessa lacuna seja simplesmente capaz de implementar algo para que todas essas ferramentas diferentes se comuniquem entre si. Isso permitiria que cada desenvolvedor de aplicativos e cada desenvolvedor de carteira Lightning simplesmente integrasse e mantivesse um único protocolo que permitiria que seus aplicativos se comunicassem entre si.
Nostr Wallet Connect é um protocolo que tenta ser um mecanismo verdadeiramente generalizado para atender a essa necessidade. Ao tentar incorporar pagamentos Lightning no Nostr, surgiram todos esses problemas de complexidade decorrentes de como fazê-lo.
RELÂMPAGO E NWC
A equipe por trás do Amethyst, um cliente Nostr, e da Alby, a carteira Lightning baseada na web, criou o NWC para resolver o problema dos usuários do Nostr que desejam integrar o Lightning em sua experiência Nostr sem ter que usar uma carteira para fins especiais. O aplicativo/protocolo é baseado na arquitetura de identidade do Nostr, onde cada mensagem (evento) enviada pelo Nostr é assinada por um par de chaves criptográficas que funciona como sua identidade no Nostr. Isso permite que um aplicativo simplesmente gere um par de chaves Nostr e, a partir disso, tenha um mecanismo de autenticação criptográfica para usar na comunicação com uma carteira Bitcoin externa para cumprir a funcionalidade do aplicativo.
[INSERIR INFORMAÇÕES AQUI]
Usando o par de chaves para registrar o aplicativo externo na carteira Lightning, o aplicativo agora pode executar ping em sua carteira para iniciar um pagamento. A especificação atualmente suporta o pagamento de faturas BOLT 11, a realização de pagamentos por envio de chaves (pagamentos sem fatura feitos para a chave pública de um nó), o pagamento de múltiplas faturas simultaneamente, a geração de uma fatura para apresentar a outra pessoa para pagar a você e algumas outras funcionalidades para permitir o histórico de pagamentos e consultas de saldo da carteira do aplicativo externo.
Tudo isso é coordenado pelo Nostr, permitindo um meio de comunicação muito redundante, não dependente de um único mecanismo de mensagens centralizado ou do usuário precisar depender de software complicado como Tor ou outros protocolos para facilitar a conexão de rede entre um aplicativo e o software de carteira. ou infraestrutura em execução em sua rede doméstica. O Nostr também oferece suporte a mensagens diretas criptografadas, o que significa que a comunicação entre a carteira e o aplicativo é totalmente privada, não revelando detalhes sobre os pagamentos coordenados com os retransmissores Nostr usados para comunicação.
No lado da carteira da ponte NWC, restrições de segurança podem ser implementadas para evitar que o aplicativo externo tenha acesso irrestrito aos fundos da carteira, caso a chave Nostr usada para se comunicar com a carteira tenha sido comprometida. As restrições sobre os valores que podem ser gastos, bem como a frequência dos pagamentos, são configuráveis no lado da carteira da conexão.
O NWC é útil para muito mais do que simplesmente integrar o Lightning aos aplicativos Nostr. Toda a filosofia de design do próprio Nostr como protocolo foi centrada em mantê-lo simples o suficiente para que todo o protocolo pudesse ser facilmente implementado corretamente por qualquer desenvolvedor com o mínimo de tempo e recursos. Os aplicativos que não têm nada a ver com o Nostr podem integrar facilmente o NWC ou protocolos semelhantes com quase nenhuma sobrecarga ou complexidade para resolver os problemas subjacentes de como conectar uma carteira Bitcoin ao seu aplicativo sem ter que construí-la diretamente no aplicativo.
ALÉM DO RELÂMPAGO
O potencial de um protocolo como o NWC fornecer valor massivo para desenvolvedores de carteiras e aplicativos vai muito além da integração de carteiras Lightning em aplicativos para fins especiais. Toda a direção de longo prazo da interação com o Bitcoin, a não ser por algum avanço fundamental alucinante que ninguém ainda percebeu, é em direção a protocolos interativos entre vários usuários.
Os coinpools multipartidários são um exemplo perfeito. A maioria das propostas de design específicas, como árvores Ark ou Timeout, são construídas em torno de uma entidade coordenadora central ou provedor de serviços, o que pode facilmente facilitar a passagem de mensagens entre as carteiras dos usuários, mas isso prejudica o espaço de design com um único ponto de falha. Se cem usuários forem agrupados em um coinpool em cima de um único UTXO, o modelo de segurança será baseado em cada usuário tendo um caminho pré-assinado para retirar suas moedas unilateralmente na cadeia. Este mecanismo pode ser exercido em caso de falha ou desaparecimento do coordenador para garantir que os seus fundos não sejam perdidos, mas esta é a forma menos eficiente de lidar com o pior cenário possível.
Se os usuários conseguissem encontrar um mecanismo para se comunicarem entre si na ausência do provedor de serviços ou coordenador, saídas on-chain muito mais eficientes poderiam ser alcançadas usando o grupo maior multisig para migrar seus fundos para outro lugar com um método muito mais eficiente ( e, portanto, mais barato) pegada na rede. NWC e Nostr são perfeitos para tal cenário.
Carteiras colaborativas com múltiplas assinaturas entre várias partes também poderiam se beneficiar desse protocolo. Em combinação com padrões como PSBT, um mecanismo simples de comunicação Nostr poderia simplificar drasticamente a complexidade de diferentes carteiras com suporte multisig coordenando a assinatura de transações de uma forma fácil e fácil de usar.
Contratos de registro discreto (DLC) são outro uso incrível para esse protocolo. Todo o esquema DLC depende de ambas as partes serem capazes de acessar assinaturas oráculo para fechar unilateralmente um contrato corretamente, se ambas as partes não cooperarem para resolvê-lo de forma colaborativa. Nostr é o mecanismo perfeito para os oráculos transmitirem essas assinaturas e permite uma simples assinatura de sua chave Nostr nas carteiras dos usuários para rastrear e adquirir assinaturas automaticamente quando transmitidas pelos oráculos.
À medida que o tempo passa e mais aplicações e protocolos são construídos em cima do Bitcoin com a exigência de interatividade entre usuários e entre diferentes aplicações, um mecanismo de comunicação de uso geral para facilitar isso sem depender de um único ponto de falha será extremamente necessário .
Nostr é o protocolo subjacente perfeito para facilitar isso, dada sua incrível simplicidade e a redundância de um grande conjunto de relés a serem utilizados. NWC é o exemplo perfeito de que essa é uma solução viável.