Bitcoin Magazine - Home Notizie, articoli e approfondimenti di esperti su Bitcoin

Nostr Wallet Connect: un livello di collaborazione dell'applicazione Bitcoin

NOSTR WALLET CONNECT: UN LIVELLO DI COLLABORAZIONE PER APPLICAZIONI BITCOIN

SHINOBI48 MINUTI FA

Man mano che cresce la complessità del software e delle applicazioni Bitcoin che utilizzano Bitcoin, cresce anche la necessità di un meccanismo di coordinamento semplice per consentire alle diverse applicazioni di interagire.

Guardando al futuro dell’adozione e dello sviluppo di Bitcoin, c’è un problema di interazione del software che sta diventando in prima linea tra gli ostacoli che gli sviluppatori devono affrontare: la compatibilità. Poiché le applicazioni e i protocolli in questo spazio diventano più complessi e ricchi di funzionalità per soddisfare le esigenze degli utenti e dei casi d'uso reali, ciò presenta un dilemma che fondamentalmente ha solo due risposte reali; o un'applicazione o un portafoglio devono integrare internamente ogni protocollo e funzionalità necessari per soddisfare i requisiti del suo scopo, oppure diverse applicazioni devono essere in grado di comunicare tra loro.

Un esempio di dove emerge questo problema è l'integrazione di Lightning in diverse applicazioni e strumenti software. Lightning è uno stack di protocolli molto complicato da implementare, che coinvolge numerosi sottoprotocolli che determinano come coordinare ed elaborare gli aggiornamenti allo stato di un canale Lightning. Ciò implica la struttura delle transazioni per ciascuno stato del canale e ciò che sta applicando, l'ordine in cui viene condotta ogni fase di creazione e firma di nuove transazioni per garantire la sicurezza dei fondi degli utenti e funzioni per osservare la blockchain reagire automaticamente in modo appropriato se gli stati non validi vengono mai inviati alla blockchain.

Si tratta di una grande complessità da affrontare per un singolo sviluppatore di applicazioni integrandole direttamente nel proprio progetto. La conclusione ovvia, se ciò richiede uno sforzo eccessivo, è quella di dipendere dal software già prodotto che gestisce il problema dell'implementazione di Lightning e creare semplicemente la propria applicazione per comunicare con quel software esterno. Ciò porta al problema successivo: cosa succede se gli utenti della tua applicazione non utilizzano quella particolare implementazione o portafoglio Lightning?

Anche esternalizzando quella funzionalità di un’app, il team di sviluppo non è ancora riuscito a sfuggire del tutto al problema della complessità. Anche se non deve implementare completamente Lightning da solo, uno sviluppatore che intraprende questa strada ora deve gestire l'integrazione del supporto API per qualsiasi portafoglio Lightning che l'utente della sua applicazione potrebbe potenzialmente utilizzare. Ciò richiede di tenere il passo con eventuali modifiche o alterazioni a più portafogli Lightning, alla loro API, al modo in cui funzionano le funzionalità interne di quel portafoglio e quali supportano. Non tenere il passo con le modifiche in un particolare portafoglio interromperebbe la loro applicazione per gli utenti di quel portafoglio.

È necessario che esista un meccanismo standardizzato affinché il software su entrambi i lati di quel divario sia semplicemente in grado di implementare quell'unica cosa affinché tutti questi diversi strumenti possano comunicare tra loro. Ciò consentirebbe a ogni sviluppatore di applicazioni e a ogni sviluppatore di portafoglio Lightning di integrare e mantenere semplicemente un unico protocollo che consentirebbe alle proprie applicazioni di comunicare tra loro.

Nostr Wallet Connect è un protocollo che tenta di essere un meccanismo veramente generalizzato per soddisfare questa esigenza. Quando si cerca di incorporare i pagamenti Lightning in Nostr, tutti questi problemi di complessità derivanti da come farlo sono emersi.

FULMINI E NWC

Il team dietro Amethyst, un client Nostr, e Alby, il portafoglio Lightning basato sul web, ha creato NWC per risolvere il problema degli utenti Nostr che desiderano integrare Lightning nella loro esperienza Nostr senza dover utilizzare un portafoglio per scopi speciali. L'applicazione/protocollo si basa sull'architettura dell'identità di Nostr in cui ogni messaggio (evento) inviato tramite Nostr è firmato da una coppia di chiavi crittografiche che funziona come la tua identità su Nostr. Ciò consente a un'applicazione di generare semplicemente una coppia di chiavi Nostr e da sola disporre di un meccanismo di autenticazione crittografica da utilizzare nella comunicazione con un portafoglio Bitcoin esterno per soddisfare la funzionalità dell'app.

[INSERISCI QUI]

Utilizzando la coppia di chiavi per registrare l'applicazione esterna con il portafoglio Lightning, l'applicazione ora può eseguire il ping del tuo portafoglio per avviare un pagamento. La specifica attualmente supporta il pagamento di fatture BOLT 11, l'effettuazione di pagamenti con invio di chiavi (pagamenti senza fattura effettuati sulla chiave pubblica di un nodo), il pagamento di più fatture contemporaneamente, la generazione di una fattura da presentare a qualcun altro per pagarti e alcune altre funzionalità per consentire la cronologia dei pagamenti e query sul saldo del portafoglio dall'applicazione esterna.

Tutto questo è coordinato su Nostr, consentendo un mezzo di comunicazione molto ridondante non dipendente da un singolo meccanismo di messaggistica centralizzato o dalla necessità dell'utente di dipendere da software complicati come Tor o altri protocolli per facilitare la connessione di rete tra un'applicazione e il software del portafoglio o l'infrastruttura in esecuzione sulla propria rete domestica. Nostr supporta anche messaggi diretti crittografati, il che significa che la comunicazione tra il portafoglio e l'applicazione è completamente privata e non rivela alcun dettaglio sui pagamenti coordinati ai relè Nostr utilizzati per comunicare.

Sul lato portafoglio del bridge NWC, è possibile implementare restrizioni di sicurezza per impedire all'applicazione esterna di avere accesso illimitato ai fondi del portafoglio nel caso in cui la chiave Nostr utilizzata per comunicare con il portafoglio fosse compromessa. Le restrizioni sugli importi consentiti da spendere, nonché la frequenza dei pagamenti, sono configurabili sul lato portafoglio della connessione.

NWC è utile per molto di più della semplice integrazione di Lightning anche nelle applicazioni Nostr. L'intera filosofia progettuale di Nostr stesso come protocollo era incentrata sul mantenerlo sufficientemente semplice da consentire all'intero protocollo di essere facilmente implementato correttamente da qualsiasi sviluppatore con tempo e risorse minimi. Le applicazioni che non hanno nulla a che fare con Nostr possono facilmente integrare NWC o protocolli simili senza quasi alcun sovraccarico o complessità per affrontare i problemi di fondo su come connettere un portafoglio Bitcoin con la loro applicazione senza doverlo creare direttamente nell'app.

OLTRE IL FULMINO

Il potenziale di un protocollo come NWC nel fornire un enorme valore ai portafogli e agli sviluppatori di applicazioni va ben oltre l’integrazione dei portafogli Lightning in applicazioni per scopi speciali. L’intera direzione a lungo termine dell’interazione con Bitcoin, a parte qualche svolta fondamentale e strabiliante che nessuno ha ancora realizzato, è verso protocolli interattivi tra più utenti.

I coinpool multiparty sono un esempio perfetto. La maggior parte delle proposte di progettazione specifiche come gli alberi Ark o Timeout sono costruite attorno a un soggetto di coordinamento centrale o a un fornitore di servizi, che può facilmente facilitare un mezzo di passaggio di messaggi tra i portafogli degli utenti, ma ciò ostacola lo spazio di progettazione con un singolo punto di fallimento. Se un centinaio di utenti vengono raggruppati insieme in un coinpool sopra un singolo UTXO, il modello di sicurezza si basa sul fatto che ciascun utente abbia un percorso prefirmato per ritirare unilateralmente le proprie monete sulla catena. Questo meccanismo può essere esercitato in caso di fallimento o scomparsa del coordinatore per garantire che i suoi fondi non vadano persi, ma questo è il modo meno efficiente per gestire uno scenario così peggiore.

Se gli utenti fossero in grado di trovare un meccanismo per comunicare tra loro in assenza del fornitore di servizi o del coordinatore, si potrebbero ottenere uscite on-chain molto più efficienti utilizzando il gruppo multisig più grande per migrare i propri fondi altrove con un metodo molto più efficiente ( e quindi più economico) ingombro on-chain. NWC e Nostr si adattano perfettamente a uno scenario del genere.

Anche i portafogli multifirma collaborativi tra più parti potrebbero trarre vantaggio da un tale protocollo. In combinazione con standard come PSBT, un semplice meccanismo di comunicazione Nostr potrebbe semplificare drasticamente la complessità di diversi portafogli con supporto multisig coordinando la firma delle transazioni in modo fluido e facile da usare.

I contratti di registro discreti (DLC) sono un altro utilizzo straordinario per tale protocollo. L'intero schema DLC si basa sulla capacità di entrambe le parti di accedere alle firme oracolari per chiudere unilateralmente un contratto correttamente se entrambe le parti non collaborano per risolverlo in modo collaborativo. Nostr è il meccanismo perfetto per consentire agli oracoli di trasmettere queste firme e consentire un semplice abbonamento alla chiave Nostr nei portafogli degli utenti per tracciare e acquisire automaticamente le firme quando vengono trasmesse dagli oracoli.

Col passare del tempo e sempre più applicazioni e protocolli vengono costruiti su Bitcoin con il requisito dell'interattività tra utenti e tra diverse applicazioni, sarà estremamente necessario un meccanismo di comunicazione generale per facilitarlo senza fare affidamento su un singolo punto di errore. .

Nostr è il protocollo sottostante perfetto per facilitare ciò, data la sua incredibile semplicità e la ridondanza di un ampio set di relè da utilizzare. NWC è l’esempio perfetto di una soluzione praticabile.