比特币杂志 - 比特币新闻、文章和专家见解主页
Nostr Wallet Connect:比特币应用程式协作层
NOSTR WALLET CONNECT:比特币应用程式协作层
忍48 分钟前
随著比特币软体和使用比特币的应用程式的复杂性不断增加,对不同应用程式互动的简单协调机制的需求也随之增长。
展望比特币采用和开发的未来,软体互动的一个问题将成为开发人员必须解决的首要障碍:相容性。随著该领域的应用程式和协定变得更加复杂和功能强大,以满足实际用户和用例的需求,这就出现了一个困境,从根本上来说只有两个真正的答案:应用程式或钱包必须在内部整合满足其目的要求所需的每个协定和功能,或者不同的应用程式必须能够相互通讯。
这个问题出现的一个例子是将闪电整合到不同的应用程式和软体工具中。闪电网路是实作起来非常复杂的协定栈,涉及许多子协议,规定如何协调和处理闪电通道状态的更新。这涉及每个通道状态的交易结构及其所执行的内容、为确保用户资金安全而制定和签署新交易的每个步骤的顺序,以及观察区块链在以下情况下自动以适当方式做出反应的功能:无效状态会提交到区块链。
对於单一应用程式开发人员来说,直接整合到他们的专案中是非常复杂的。如果这需要太多的努力,那么显而易见的结论是依赖已经生产的软体来处理实施闪电网路的问题,并简单地建立您的应用程式来与外部软体进行通讯。这导致了下一个问题:如果应用程式的用户不使用特定的闪电网路实作或钱包怎么办?
即使透过外包应用程式的功能,开发团队仍然没有完全摆脱复杂性问题。虽然他们不必自己完全实现闪电网络,但采取这种方式的开发人员现在必须处理为其应用程式用户可能使用的任何闪电网络钱包提供 API 支援。这就需要跟上多个闪电钱包、它们的 API、该钱包的内部功能如何运作以及它们支援哪些功能的任何更改或变更。如果不跟上特定钱包的任何变化,就会破坏该钱包用户的应用程式。
需要存在一些标准化机制,以便该差距两侧的软体能够简单地实现所有这些不同工具之间相互通信的一件事。这将允许每个应用程式开发人员和每个闪电钱包开发人员都可以简单地整合和维护一个协议,使他们的应用程式能够相互通讯。
Nostr Wallet Connect 是一种协议,试图成为满足这一需求的真正通用机制。当寻求将闪电支付嵌入 Nostr 时,所有这些因如何实现而产生的复杂性问题突然出现。
闪电和 NWC
Nostr 用户端 Amethyst 和基于网路的闪电钱包 Alby 背后的团队创建了 NWC,以解决 Nostr 用户希望将闪电整合到他们的 Nostr 体验中而无需使用特殊用途钱包的问题。该应用程式/协定基于 Nostr 的身份架构,其中透过 Nostr 发送的每个讯息(事件)均由加密金钥对签名,充当您在 Nostr 上的身份。这使得应用程式可以简单地产生 Nostr 金钥对,并由此拥有一个加密身份验证机制,用于与外部比特币钱包进行通信,以实现应用程式的功能。
[在此插入讯息]
使用金钥对向闪电钱包注册外部应用程序,应用程式现在可以 ping 您的钱包以发起付款。该规范目前支援支付BOLT 11 发票、进行keyend 支付(对节点的公钥进行无发票支付)、同时支付多张发票、产生发票以向其他人付款,以及一些其他功能,以允许支付历史记录和来自外部应用程式的钱包余额查询。
所有这些都是透过Nostr 进行协调的,允许一种非常冗余的通讯方式,而不依赖单一的集中式讯息传递机制,或者使用者需要依赖复杂的软体(例如Tor 或其他协定)来促进应用程式和钱包软体之间的网路连接或在其家庭网路上运行的基础设施。 Nostr 还支援加密的直接讯息,这意味著钱包和应用程式之间的通讯完全私密,不会透露有关与用于通讯的 Nostr 中继协调的付款的详细资讯。
在 NWC 桥的钱包端,可以实施安全限制,以防止外部应用程式在用于与钱包通讯的 Nostr 金钥被泄露的情况下不受限制地存取钱包资金。允许花费的金额以及付款频率的限制可以在连接的钱包端进行配置。
NWC 的用途远不止于将闪电网路简单地整合到 Nostr 应用程式中。 Nostr 本身作为协议的整个设计理念是围绕保持足够简单,以便任何开发人员都可以用最少的时间和资源轻松正确地实现整个协议。与 Nostr 无关的应用程式可以轻松整合 NWC 或类似协议,几乎没有开销或复杂性,以解决如何将比特币钱包与其应用程式连接的根本问题,而无需将其直接建置到应用程式中。
超越闪电
像 NWC 这样的协议为钱包和应用程式开发人员提供巨大价值的潜力远远超出了将闪电钱包整合到特殊用途应用程式的范围。除了尚未实现的一些令人兴奋的根本性突破之外,与比特币互动的整个长期方向是朝著多个用户之间的互动协议发展。
多方币池就是一个完美的例子。大多数具体的设计方案(例如方舟或超时树)都是围绕中央协调方或服务提供者构建的,这可以轻松地促进用户钱包之间的讯息传递方式,但这会因单点故障而限制设计空间。如果一百个用户在单一 UTXO 之上一起打包到一个币池中,则安全模型基于每个用户都有一个预签署的路径来单方面在链上提取他们的币。如果协调员出现任何故障或失踪,可以行使该机制,以确保其资金不会丢失,但这是处理这种最坏情况的效率最低的方法。
如果使用者能够找到一种在没有服务提供者或协调员的情况下相互通信的机制,则可以透过使用更大的群体多重签名以更有效率的方式将资金迁移到其他地方,从而实现更有效率的链上退出(因此更便宜)链上足迹。 NWC 和 Nostr 非常适合这种情况。
多方之间的协作多重签名钱包也可以从这样的协议中受益。与 PSBT 等标准相结合,简单的 Nostr 通讯机制可以透过多重签名支援以流畅且用户友好的方式协调交易签名,从而大大简化不同钱包的复杂性。
离散日志合约(DLC)是这种协议的另一个令人惊讶的用途。整个 DLC 方案依赖双方能够存取预言机签名,以便在双方不合作解决问题的情况下单方面正确地关闭合约。 Nostr 是预言机广播这些签名的完美机制,并允许简单订阅用户钱包中的 Nostr 金钥,以便在预言机广播时自动追踪和获取签名。
随著时间的推移,越来越多的应用程式和协定建立在比特币之上,满足用户之间以及不同应用程式之间的互动性要求,将迫切需要一种通用的通讯机制来促进这一点,而不依赖单点故障。
Nostr 是一个完美的底层协议,鉴于其令人难以置信的简单性和大量继电器的冗余性,可以促进这一点。 NWC 是可行解决方案的完美范例。