Revista Bitcoin - Știri Bitcoin, articole și informații despre experți
Nostr Wallet Connect: un strat de colaborare pentru aplicații Bitcoin
NOSTR WALLET CONNECT: UN STRAT DE COLABORARE A APLICATIEI BITCOIN
SHINOBI în urmă cu 48 de minute
Pe măsură ce complexitatea software-ului și a aplicațiilor Bitcoin care utilizează Bitcoin crește, crește și nevoia unui mecanism simplu de coordonare pentru interacțiunea diferitelor aplicații.
În ceea ce privește viitorul adoptării și dezvoltării Bitcoin, există o problemă a interacțiunii software care vine în prim-planul blocajelor cu care dezvoltatorii trebuie să se confrunte: compatibilitatea. Pe măsură ce aplicațiile și protocoalele din acest spațiu devin mai complexe și mai caracteristice pentru a răspunde nevoilor utilizatorilor actuali și a cazurilor de utilizare, aceasta prezintă o dilemă care are în principiu doar două răspunsuri reale; fie o aplicație sau portofel trebuie să integreze intern fiecare protocol și caracteristică necesare pentru a îndeplini cerințele scopului său, fie diferite aplicații trebuie să poată comunica între ele.
Un exemplu în care apare această problemă este integrarea Lightning în diferite aplicații și instrumente software. Lightning este o stivă de protocoale foarte complicată de implementat, implicând numeroase sub-protocoale care dictează cum să coordoneze și să proceseze actualizările la starea unui canal Lightning. Aceasta implică structura tranzacției pentru fiecare stat al canalului și ceea ce este aplicat, ordinea în care fiecare pas de elaborare și semnare de noi tranzacții este efectuat pentru a garanta siguranța fondurilor utilizatorilor și funcții pentru a urmări ca blockchain-ul să reacționeze în mod automat în mod corespunzător dacă stările invalide sunt trimise vreodată la blockchain.
Aceasta este o mare complexitate pentru un singur dezvoltator de aplicații pentru a se integra direct în proiectul său. Concluzia evidentă, dacă acest lucru necesită prea mult efort, este să depindeți de software-ul deja produs care gestionează problema implementării Lightning și pur și simplu să vă construiți aplicația pentru a vorbi cu acel software extern. Asta duce la următoarea problemă: ce se întâmplă dacă utilizatorii aplicației tale nu folosesc acea implementare sau portofel Lightning?
Chiar și prin externalizarea acestei funcționalități a unei aplicații, echipa de dezvoltare încă nu a scăpat pe deplin de problema complexității. Deși nu trebuie să implementeze pe deplin Lightning pe cont propriu, un dezvoltator care urmează această cale acum trebuie să se ocupe de încorporarea suportului API pentru orice portofel Lightning pe care utilizatorul aplicației lor ar putea să îl folosească. Acest lucru necesită ținerea pasului cu orice modificări sau modificări ale mai multor portofele Lightning, API-ul acestora, cum funcționează funcțiile interne ale portofelului respectiv și pe care le acceptă. Nu ține pasul cu nicio modificare dintr-un anumit portofel ar distruge aplicația acestora pentru utilizatorii acelui portofel.
Trebuie să existe un mecanism standardizat pentru ca software-ul de ambele părți ale acelui decalaj pentru a putea pur și simplu să implementeze acel lucru pentru ca toate aceste instrumente diferite să poată vorbi între ele. Acest lucru ar permite fiecărui dezvoltator de aplicații și fiecărui dezvoltator de portofel Lightning să integreze și să mențină pur și simplu un singur protocol care ar permite aplicațiilor lor să comunice între ele.
Nostr Wallet Connect este un protocol care încearcă să fie un mecanism cu adevărat generalizat pentru a îndeplini această nevoie. Când am încercat să încorporați plățile Lightning în Nostr, au apărut toate aceste probleme de complexitate legate de modul în care se face.
FULNER ŞI NWC
Echipa din spatele Amethyst, un client Nostr, și Alby, portofelul Lightning bazat pe web, au creat NWC pentru a rezolva problema utilizatorilor Nostr care doresc să integreze Lightning în experiența lor Nostr fără a fi nevoie să folosească un portofel special. Aplicația/protocolul se bazează pe arhitectura de identitate a Nostr, în care fiecare mesaj (eveniment) trimis prin Nostr este semnat de o pereche de chei criptografice care funcționează ca identitatea ta pe Nostr. Acest lucru permite unei aplicații să genereze pur și simplu o pereche de chei Nostr și numai din aceasta să aibă un mecanism de autentificare criptografică de utilizat în comunicarea cu un portofel extern Bitcoin pentru a îndeplini funcționalitatea aplicației.
[INSEREȚI INFORMAȚII AICI]
Folosind perechea de chei pentru a înregistra aplicația externă cu portofelul Lightning, aplicația vă poate trimite acum portofelul pentru a iniția o plată. Specificația acceptă în prezent plata facturilor BOLT 11, efectuarea de plăți prin chei (plăți fără factură efectuate la cheia publică a unui nod), plata mai multor facturi simultan, generarea unei facturi pe care să o prezinte altcuiva pentru a vă plăti și alte câteva funcționalități pentru a permite istoricul plăților și interogări privind soldul portofelului din aplicația externă.
Toate acestea sunt coordonate prin Nostr, permițând un mijloc de comunicare foarte redundant care nu depinde de un singur mecanism de mesagerie centralizat sau utilizatorul trebuie să depindă de software complicat, cum ar fi Tor sau alte protocoale pentru a facilita conexiunea la rețea între o aplicație și software-ul portofel. sau infrastructura care rulează în rețeaua lor de domiciliu. Nostr acceptă, de asemenea, mesaje directe criptate, ceea ce înseamnă că comunicarea dintre portofel și aplicație este în întregime privată, fără a dezvălui detalii despre plățile coordonate cu releele Nostr utilizate pentru comunicare.
Pe partea de portofel a podului NWC, pot fi implementate restricții de securitate pentru a preveni ca aplicația externă să aibă acces neîngrădit la fondurile portofelului în cazul în care cheia Nostr folosită pentru a comunica cu portofelul a fost compromisă. Restricțiile privind sumele permise a fi cheltuite, precum și frecvența plăților, sunt configurabile în partea de portofel a conexiunii.
NWC este util pentru mult mai mult decât simpla integrare a Lightning în aplicațiile Nostr. Întreaga filozofie de proiectare a Nostr în sine ca protocol a fost centrată pe menținerea acesteia suficient de simplă încât întregul protocol să poată fi implementat cu ușurință corect de către orice dezvoltator cu timp și resurse minime. Aplicațiile care nu au nimic de-a face cu Nostr pot integra cu ușurință NWC sau protocoale similare, fără aproape nicio suprasolicitare sau complexitate, pentru a rezolva problemele de bază legate de modul de conectare a unui portofel Bitcoin cu aplicația lor, fără a fi nevoie să-l construiască direct în aplicație.
Dincolo de fulger
Potențialul ca un protocol precum NWC să ofere o valoare masivă dezvoltatorilor de portofel și aplicații depășește cu mult integrarea portofelelor Lightning în aplicații cu scop special. Întreaga direcție pe termen lung a interacțiunii cu Bitcoin, cu excepția unei descoperiri fundamentale uimitoare pe care nimeni nu și-a dat seama încă, este către protocoale interactive între mai mulți utilizatori.
Grupurile de monede multipartite sunt un exemplu perfect. Majoritatea propunerilor de proiectare specifice, cum ar fi arborii Ark sau Timeout, sunt construite în jurul unei părți de coordonare centrală sau a unui furnizor de servicii, ceea ce poate facilita cu ușurință un mijloc de transmitere a mesajelor între portofelele utilizatorilor, dar acest lucru limitează spațiul de proiectare cu un singur punct de eșec. Dacă o sută de utilizatori sunt împachetati într-un grup de monede împreună pe un singur UTXO, modelul de securitate se bazează pe fiecare utilizator care are o cale pre-semnată pentru a-și retrage monedele unilateral în lanț. Acest mecanism poate fi exercitat în cazul oricărei eșecuri sau dispariții a coordonatorului pentru a se asigura că fondurile acestora nu sunt pierdute, dar acesta este cel mai puțin eficient mod de a gestiona un astfel de scenariu cel mai rău.
Dacă utilizatorii ar fi putut găsi un mecanism pentru a comunica între ei în absența furnizorului de servicii sau a coordonatorului, ieșirile în lanț mult mai eficiente ar putea fi realizate prin utilizarea grupului mai mare multisig pentru a-și migra fondurile în altă parte, cu un sistem mult mai eficient ( și deci mai ieftin) amprenta pe lanț. NWC și Nostr se potrivesc perfect pentru un astfel de scenariu.
Portofelele colaborative cu mai multe semnături între mai multe părți ar putea beneficia, de asemenea, de un astfel de protocol. În combinație cu standarde precum PSBT, un mecanism simplu de comunicare Nostr ar putea simplifica drastic complexitatea diferitelor portofele cu suport multisig care coordonează semnarea tranzacțiilor într-un mod ușor și ușor de utilizat.
Contractele de jurnal discret (DLC) sunt o altă utilizare uimitoare pentru un astfel de protocol. Întreaga schemă DLC se bazează pe faptul că ambele părți pot accesa semnăturile oracle pentru a închide unilateral un contract corect, dacă ambele părți nu vor coopera pentru a-l soluționa în colaborare. Nostr este mecanismul perfect pentru ca oracolele să difuzeze aceste semnături și să permită un simplu abonament la cheia lor Nostr în portofelele utilizatorilor pentru a urmări și obține automat semnături atunci când sunt difuzate de către oracole.
Pe măsură ce timpul trece și mai multe aplicații și protocoale sunt construite pe baza Bitcoin, cu cerințele de interactivitate între utilizatori și între diferite aplicații, va fi extrem de necesar un mecanism de comunicare cu scop general pentru a facilita acest lucru, fără a se baza pe un singur punct de eșec. .
Nostr este protocolul de bază perfect pentru a facilita acest lucru, având în vedere simplitatea sa incredibilă și redundanța unui set mare de relee de utilizat. NWC este exemplul perfect al că aceasta este o soluție viabilă.