闪电网络的承诺是让比特币支付能够得到近乎瞬时的结算。但是,以自治的方式实现这个目标构成了持续的技术挑战,主因是通道余额的不透明,但这也是内化于闪电网络的设计的。在本文中,我们会深入了解闪电网络中的寻路程序(在更广泛的意义上,是支付的规划),尤其是 LND 客户端中的相关实现。我们将讨论现有的、让支付
深入了解如何打包支付转发路径上各个节点沟通的数据,使得沿路转发支付时泄露的信息尽可能少。
本文深入探讨了闪电网络中寻路程序,特别是LND客户端的实现。文章介绍了支付发起的前提、LND中的支付试错循环以及寻路算法,重点分析了概率和手续费之间的权衡,以及LND如何通过先验模型估算路径成功率,并通过引入容量因子来优化路径选择,提升支付的可靠性和效率。
BitVM 2:比特币上的免许可验证
本文介绍了闪电网络中转发支付流程的背景知识,包括节点如何找出到达目标节点的路径以及如何告知路径上的每个节点他们要干什么。文章通过一个 Alice 向 Dave 支付咖啡钱的例子,解释了构造路径所需的信息以及节点必须知道的信息,并介绍了粗糙的洋葱包裹构造方法,为理解 Sphinx 消息包构造打下基础。
本文回顾了比特币通过软分叉在交易操作安全性上的改进,包括禁用OP_RETURN、修复数值溢出漏洞、BIP30和BIP34,以及隔离见证和Taproot升级。重点分析了这些改进如何提升用户资金安全,解决第三方和第二方熔融性问题,并便利硬件签名器的使用。文章旨在纠正比特币完美无缺的迷思,强调持续改进的重要性。
本文介绍了BitVM 2,它是对比特币BitVM的改进方案,旨在解决BitVM的局限性。BitVM 2通过使用零知识证明和连接器输出,缩短了挑战-应答协议的长度,并允许任何人都可作为验证者挑战不诚实的证明者,从而提高了双向锚定的灵活性和信任模型。
本文提出了一种在比特币MuSig2签名会话中最小化状态存储的方法,该方法通过在PSBT层面上同步生成必要的状态,解决了硬件签名设备存储空间有限的问题。该方法基于BIP-0327,通过为每个输入和公钥生成随机数来计算nonce,从而减少了设备需要持久化存储的状态量,同时确保了安全性。
BitVM2 是一种对初版 BitVM 的改进,允许任何人作为验证者参与,优化了信任假设,并简化了设计,将审判的最长轮次降低到两轮。文章介绍了 BitVM2 的原理,通过 Lamport 签名将程序分割成多个步骤,并使用 Taptree 包含多个脚本来验证计算的正确性,同时还讨论了手续费和诚实操作员的局限性,并提供了相应的解决方案。
本文对比了 ElectrumX、Electrs 和 Fulcrum 三种 Electrum 服务端在树莓派 4 上的性能表现,重点关注钱包初始化和刷新两个常见操作。测试结果表明,Fulcrum 在性能上明显优于其他两者,尤其是在钱包深度较大时。文章还深入探讨了不同服务端实现的数据存储方式及其对性能的影响,为用户选择合适的 Electrum 服务端提供了参考。