Bitcoin Magazine - Bitcoin-Neuigkeiten, Artikel und Experteneinblicke Startseite

Nostr Wallet Connect: Eine Bitcoin-Anwendungskollaborationsebene

NOSTR WALLET CONNECT: EINE KOOPERATIONSEBENE FÜR BITCOIN-ANWENDUNGEN

SHINOBIVOR 48 MINUTEN

Da die Komplexität der Bitcoin-Software und der Bitcoin verwendenden Anwendungen zunimmt, steigt auch der Bedarf an einem einfachen Koordinierungsmechanismus für die Interaktion verschiedener Anwendungen.

Wenn wir uns mit der zukünftigen Einführung und Entwicklung von Bitcoin befassen, gibt es ein Problem der Softwareinteraktion, das Entwicklern immer mehr Hindernisse in den Weg legt: die Kompatibilität. Da Anwendungen und Protokolle in diesem Bereich immer komplexer und funktionsreicher werden, um den Anforderungen tatsächlicher Benutzer und Anwendungsfälle gerecht zu werden, stellt dies ein Dilemma dar, auf das es im Grunde nur zwei echte Antworten gibt: Entweder muss eine Anwendung oder ein Wallet jedes Protokoll und jede Funktion intern integrieren, die erforderlich sind, um die Anforderungen ihres Zwecks zu erfüllen, oder verschiedene Anwendungen müssen miteinander kommunizieren können.

Ein Beispiel, bei dem dieses Problem auftritt, ist die Integration von Lightning in verschiedene Anwendungen und Softwaretools. Lightning ist ein sehr komplizierter Protokollstapel, der zahlreiche Unterprotokolle umfasst, die vorgeben, wie Aktualisierungen des Status eines Lightning-Kanals koordiniert und verarbeitet werden. Dies betrifft die Transaktionsstruktur für jeden Kanalstatus und was er durchsetzt, die Reihenfolge, in der jeder Schritt der Erstellung und Unterzeichnung neuer Transaktionen durchgeführt wird, um die Sicherheit der Benutzergelder zu gewährleisten, und Funktionen zur Überwachung der Blockchain, um automatisch angemessen zu reagieren, wenn ungültige Status jemals an die Blockchain übermittelt werden.

Das ist eine Menge Komplexität für einen einzelnen Anwendungsentwickler, der diese direkt in sein Projekt integrieren muss. Wenn das zu viel Aufwand erfordert, ist die naheliegende Schlussfolgerung, sich auf bereits produzierte Software zu verlassen, die das Problem der Implementierung von Lightning bewältigt, und einfach Ihre Anwendung so zu erstellen, dass sie mit dieser externen Software kommuniziert. Das führt zum nächsten Problem: Was ist, wenn die Benutzer Ihrer Anwendung diese spezielle Lightning-Implementierung oder Wallet nicht verwenden?

Selbst durch das Outsourcing dieser Funktionalität einer App ist das Entwicklungsteam dem Komplexitätsproblem noch nicht vollständig entgangen. Zwar müssen sie Lightning nicht vollständig selbst implementieren, doch ein Entwickler, der diesen Weg einschlägt, muss sich nun darum kümmern, API-Unterstützung für jedes Lightning-Wallet zu integrieren, das der Benutzer seiner Anwendung möglicherweise verwenden könnte. Dies erfordert, mit allen Änderungen oder Anpassungen an mehreren Lightning-Wallets, ihrer API, der Funktionsweise der internen Funktionen dieses Wallets und den von ihnen unterstützten Funktionen Schritt zu halten. Wenn sie mit allen Änderungen an einem bestimmten Wallet nicht Schritt halten, würde dies ihre Anwendung für die Benutzer dieses Wallets beschädigen.

Es muss ein standardisierter Mechanismus für die Software auf beiden Seiten dieser Lücke vorhanden sein, um einfach diese eine Sache implementieren zu können, damit alle diese verschiedenen Tools miteinander kommunizieren können. Dies würde es jedem Anwendungsentwickler und jedem Lightning Wallet-Entwickler ermöglichen, einfach ein einziges Protokoll zu integrieren und zu verwalten, das es ihren Anwendungen ermöglicht, miteinander zu kommunizieren.

Nostr Wallet Connect ist ein Protokoll, das versucht, ein wirklich allgemeiner Mechanismus zur Erfüllung dieses Bedarfs zu sein. Beim Versuch, Lightning-Zahlungen in Nostr einzubetten, traten all diese Komplexitätsprobleme auf, die sich aus der Vorgehensweise ergeben.

BLITZ UND NWC

Das Team hinter Amethyst, einem Nostr-Client, und Alby, der webbasierten Lightning-Wallet, hat NWC entwickelt, um das Problem von Nostr-Benutzern zu lösen, die Lightning in ihr Nostr-Erlebnis integrieren möchten, ohne eine spezielle Wallet verwenden zu müssen. Die Anwendung/das Protokoll basiert auf der Identitätsarchitektur von Nostr, bei der jede über Nostr gesendete Nachricht (Ereignis) mit einem kryptografischen Schlüsselpaar signiert wird, das als Ihre Identität auf Nostr fungiert. Dadurch kann eine Anwendung einfach ein Nostr-Schlüsselpaar generieren und verfügt allein damit über einen kryptografischen Authentifizierungsmechanismus, der bei der Kommunikation mit einer externen Bitcoin-Wallet verwendet werden kann, um die Funktionalität der App zu erfüllen.

[INFO HIER EINFÜGEN]

Mithilfe des Schlüsselpaars kann die externe Anwendung die Lightning-Wallet registrieren und nun Ihr Wallet anpingen, um eine Zahlung zu initiieren. Die Spezifikation unterstützt derzeit das Bezahlen von BOLT 11-Rechnungen, das Tätigen von Keysend-Zahlungen (rechnungslose Zahlungen an den öffentlichen Schlüssel eines Knotens), das gleichzeitige Bezahlen mehrerer Rechnungen, das Generieren einer Rechnung, die Sie jemand anderem zur Bezahlung vorlegen können, und einige weitere Funktionen, um die Abfrage des Zahlungsverlaufs und des Wallet-Guthabens aus der externen Anwendung heraus zu ermöglichen.

All dies wird über Nostr koordiniert, was ein sehr redundantes Kommunikationsmittel ermöglicht, das nicht von einem einzigen zentralen Nachrichtenmechanismus abhängig ist oder den Benutzer dazu zwingt, komplizierte Software wie Tor oder andere Protokolle zu verwenden, um die Netzwerkverbindung zwischen einer Anwendung und der Wallet-Software oder -Infrastruktur herzustellen, die in seinem Heimnetzwerk läuft. Nostr unterstützt auch verschlüsselte Direktnachrichten, was bedeutet, dass die Kommunikation zwischen der Wallet und der Anwendung vollständig privat ist und keine Details über die koordinierten Zahlungen an die zur Kommunikation verwendeten Nostr-Relays preisgibt.

Auf der Wallet-Seite der NWC-Brücke können Sicherheitsbeschränkungen implementiert werden, um zu verhindern, dass die externe Anwendung uneingeschränkten Zugriff auf Wallet-Gelder hat, falls der zur Kommunikation mit der Wallet verwendete Nostr-Schlüssel kompromittiert wurde. Beschränkungen der zulässigen Ausgabebeträge sowie der Zahlungshäufigkeit können auf der Wallet-Seite der Verbindung konfiguriert werden.

NWC ist für weit mehr als nur die Integration von Lightning in Nostr-Anwendungen nützlich. Die gesamte Designphilosophie von Nostr selbst als Protokoll war darauf ausgerichtet, es so einfach zu halten, dass das gesamte Protokoll von jedem Entwickler mit minimalem Zeit- und Ressourcenaufwand problemlos korrekt implementiert werden kann. Anwendungen, die nichts mit Nostr zu tun haben, können NWC oder ähnliche Protokolle problemlos und nahezu ohne Overhead oder Komplexität integrieren, um die zugrunde liegenden Probleme zu lösen, wie man ein Bitcoin-Wallet mit ihrer Anwendung verbindet, ohne es direkt in die App einbauen zu müssen.

MEHR ALS BLITZ

Das Potenzial eines Protokolls wie NWC, Wallet- und Anwendungsentwicklern einen enormen Mehrwert zu bieten, geht weit über die Integration von Lightning Wallets in Spezialanwendungen hinaus. Die gesamte langfristige Richtung der Interaktion mit Bitcoin geht, abgesehen von einem umwerfenden grundlegenden Durchbruch, den noch niemand realisiert hat, in Richtung interaktiver Protokolle zwischen mehreren Benutzern.

Ein perfektes Beispiel hierfür sind Multiparty-Coinpools. Die meisten spezifischen Designvorschläge wie Ark- oder Timeout-Bäume basieren auf einer zentralen Koordinierungspartei oder einem Dienstanbieter, der problemlos einen Nachrichtenaustausch zwischen den Wallets der Benutzer ermöglichen kann, aber den Designraum durch einen einzigen Ausfallpunkt behindert. Wenn hundert Benutzer in einem Coinpool zusammen auf einem einzigen UTXO untergebracht sind, basiert das Sicherheitsmodell darauf, dass jeder Benutzer einen vorsignierten Pfad hat, um seine Coins einseitig on-chain abzuheben. Dieser Mechanismus kann im Falle eines Ausfalls oder Verschwindens des Koordinators eingesetzt werden, um sicherzustellen, dass die Gelder nicht verloren gehen, aber dies ist die am wenigsten effiziente Methode, um mit einem solchen Worst-Case-Szenario umzugehen.

Wenn Benutzer einen Mechanismus finden könnten, um in Abwesenheit des Dienstanbieters oder Koordinators miteinander zu kommunizieren, könnten viel effizientere On-Chain-Exits erreicht werden, indem die größere Gruppe Multisig verwendet wird, um ihre Gelder an einen anderen Ort mit einem viel effizienteren (und daher billigeren) On-Chain-Footprint zu migrieren. NWC und Nostr eignen sich perfekt für ein solches Szenario.

Auch kollaborative Multisignatur-Wallets zwischen mehreren Parteien könnten von einem solchen Protokoll profitieren. In Kombination mit Standards wie PSBT könnte ein einfacher Nostr-Kommunikationsmechanismus die Komplexität verschiedener Wallets mit Multisig-Unterstützung drastisch vereinfachen und die Transaktionssignatur auf reibungslose und benutzerfreundliche Weise koordinieren.

Discreet Log Contracts (DLC) sind eine weitere erstaunliche Anwendung für ein solches Protokoll. Das gesamte DLC-Schema basiert darauf, dass beide Parteien Zugriff auf Orakelsignaturen haben, um einen Vertrag einseitig korrekt abzuschließen, wenn beide Parteien nicht zusammenarbeiten, um ihn gemeinsam abzuschließen. Nostr ist der perfekte Mechanismus für Orakel, um diese Signaturen zu übertragen, und ermöglicht ein einfaches Abonnement ihres Nostr-Schlüssels in den Wallets der Benutzer, um Signaturen automatisch zu verfolgen und abzurufen, wenn sie von Orakeln übertragen werden.

Mit der Zeit werden immer mehr Anwendungen und Protokolle auf der Basis von Bitcoin erstellt, die eine Interaktivität zwischen Benutzern und zwischen verschiedenen Anwendungen erfordern. Daher wird dringend ein allgemeiner Kommunikationsmechanismus benötigt, der dies ermöglicht, ohne auf einen einzelnen Ausfallpunkt angewiesen zu sein.

Nostr ist das perfekte zugrunde liegende Protokoll, um dies zu ermöglichen, da es unglaublich einfach ist und die Redundanz einer großen Anzahl von zu verwendenden Relais bietet. NWC ist das perfekte Beispiel für eine praktikable Lösung.