NOSTR WALLET CONNECT:比特币应用程序协作层

比特币2年前 (2024)更新 qkledit
310 0

展望比特币采用和开发的未来,软件交互的一个问题将成为开发人员必须解决的首要障碍:兼容性。随着该领域的应用程序和协议变得更加复杂和功能强大,以满足实际用户和用例的需求,这就出现了一个困境,从根本上来说只有两个真正的答案:应用程序或钱包必须在内部集成满足其目的要求所需的每个协议和功能,或者不同的应用程序必须能够相互通信。

这个问题出现的一个例子是将闪电集成到不同的应用程序和软件工具中。闪电网络是一个实现起来非常复杂的协议栈,涉及许多子协议,规定如何协调和处理闪电通道状态的更新。这涉及每个通道状态的交易结构及其所执行的内容、为保证用户资金安全而制定和签署新交易的每个步骤的顺序,以及观察区块链在以下情况下自动以适当方式做出反应的功能:无效状态会被提交到区块链。

对于单个应用程序开发人员来说,直接集成到他们的项目中是非常复杂的。如果这需要太多的努力,那么显而易见的结论是依赖于已经生产的软件来处理实施闪电网络的问题,并简单地构建您的应用程序来与外部软件进行对话。这导致了下一个问题:如果应用程序的用户不使用特定的闪电网络实现或钱包怎么办?

即使通过外包应用程序的功能,开发团队仍然没有完全摆脱复杂性问题。虽然他们不必自己完全实现闪电网络,但采取这种方式的开发人员现在必须处理为其应用程序用户可能使用的任何闪电网络钱包提供 API 支持。这就需要跟上多个闪电钱包、它们的 API、该钱包的内部功能如何工作以及它们支持哪些功能的任何更改或变更。如果不跟上特定钱包的任何变化,就会破坏该钱包用户的应用程序。

需要存在一些标准化机制,以便该差距两侧的软件能够简单地实现所有这些不同工具之间相互通信的一件事。这将允许每个应用程序开发人员和每个闪电钱包开发人员都可以简单地集成和维护一个协议,使他们的应用程序能够相互通信。

Nostr Wallet Connect 是一种协议,试图成为满足这一需求的真正通用机制。当寻求将闪电支付嵌入 Nostr 时,所有这些因如何实现而产生的复杂性问题突然出现。

闪电和NWC

Nostr 客户端 Amethyst 和基于网络的闪电钱包 Alby 背后的团队创建了 NWC,以解决 Nostr 用户希望将闪电集成到他们的 Nostr 体验中而无需使用特殊用途钱包的问题。该应用程序/协议基于 Nostr 的身份架构,其中通过 Nostr 发送的每条消息(事件)均由加密密钥对签名,充当您在 Nostr 上的身份。这使得应用程序可以简单地生成 Nostr 密钥对,并由此拥有一个加密身份验证机制,用于与外部比特币钱包进行通信,以实现应用程序的功能。

NOSTR WALLET CONNECT:比特币应用程序协作层

使用密钥对向闪电钱包注册外部应用程序,应用程序现在可以 ping 您的钱包以发起付款。该规范目前支持支付 BOLT 1​​1 发票、进行 keyend 支付(对节点的公钥进行无发票支付)、同时支付多张发票、生成发票以向其他人付款,以及一些其他功能,以允许支付历史记录和来自外部应用程序的钱包余额查询。

所有这些都是通过 Nostr 进行协调的,允许一种非常冗余的通信方式,而不依赖于单一的集中式消息传递机制,或者用户需要依赖复杂的软件(例如 Tor 或其他协议)来促进应用程序和钱包软件之间的网络连接或在其家庭网络上运行的基础设施。 Nostr 还支持加密的直接消息,这意味着钱包和应用程序之间的通信完全私密,不会透露有关与用于通信的 Nostr 中继协调的付款的详细信息。

在 NWC 桥的钱包端,可以实施安全限制,以防止外部应用程序在用于与钱包通信的 Nostr 密钥被泄露的情况下不受限制地访问钱包资金。允许花费的金额以及付款频率的限制可以在连接的钱包端进行配置。

NWC 的用途远不止于将闪电网络简单地集成到 Nostr 应用程序中。 Nostr 本身作为协议的整个设计理念是围绕保持足够简单,以便任何开发人员都可以用最少的时间和资源轻松正确地实现整个协议。与 Nostr 无关的应用程序可以轻松集成 NWC 或类似协议,几乎没有开销或复杂性,以解决如何将比特币钱包与其应用程序连接的根本问题,而无需将其直接构建到应用程序中。

超越闪电

像 NWC 这样的协议为钱包和应用程序开发人员提供巨大价值的潜力远远超出了将闪电钱包集成到特殊用途应用程序的范围。除了尚未实现的一些令人兴奋的根本性突破之外,与比特币交互的整个长期方向是朝着多个用户之间的交互协议发展。

多方币池就是一个完美的例子。大多数具体的设计方案(例如方舟或超时树)都是围绕中央协调方或服务提供商构建的,这可以轻松地促进用户钱包之间的消息传递方式,但这会因单点故障而限制设计空间。如果一百个用户在单个 UTXO 之上一起打包到一个币池中,则安全模型基于每个用户都有一个预签名的路径来单方面在链上提取他们的币。如果协调员出现任何故障或失踪,可以行使该机制以确保其资金不会丢失,但这是处理这种最坏情况的最有效方法。

如果用户能够找到一种在没有服务提供商或协调员的情况下相互通信的机制,则可以通过使用更大的群体多重签名以更高效的方式将资金迁移到其他地方,从而实现更高效的链上退出(因此更便宜)链上足迹。 NWC 和 Nostr 非常适合这种情况。

多方之间的协作多重签名钱包也可以从这样的协议中受益。与 PT 等标准相结合,简单的 Nostr 通信机制可以通过多重签名支持以流畅且用户友好的方式协调交易签名,从而大大简化不同钱包的复杂性。

离散日志合约(DLC)是这种协议的另一个令人惊奇的用途。整个 DLC 方案依赖于双方能够访问预言机签名,以便在双方不合作解决问题的情况下单方面正确地关闭合同。 Nostr 是预言机广播这些签名的完美机制,并允许简单订阅用户钱包中的 Nostr 密钥,以便在预言机广播时自动跟踪和获取签名。

随着时间的推移,越来越多的应用程序和协议建立在比特币之上,满足用户之间以及不同应用程序之间的交互性要求,将迫切需要一种通用的通信机制来促进这一点,而不依赖于单点故障。

Nostr 是一个完美的底层协议,鉴于其令人难以置信的简单性和大量继电器的冗余性,可以促进这一点。 NWC 是可行解决方案的完美示例。 

© 版权声明

相关文章