本文深入探讨了闪电网络中的原子化多路径支付(AMP)技术,这是一种将大额比特币付款拆分成多个小额付款,并通过不同支付通道同时发送的技术。AMP 旨在解决闪电网络在处理大额交易时遇到的流动性和容量限制,并通过原子性保证了要么所有部分付款都成功,要么全部失败。
作者:Tobi Ojuolape
来源: https://tobiojuolape.hashnode.dev/a-comprehensive-guide-to-lightnings-atomic-multipath-payments-amp
闪电网络能够在比特币上实现即时小额付款(微付款),因为传统比特币交易通常需要较长的确认时间,其交易费对于小额付款来说也并不划算。专注于微付款是人们采用闪电网络的关键因素,因为它解锁了很多以往实现不了的应用场景。
有了闪电网络,我们就可以用比特币买咖啡、买礼品、付话费,甚至捐款。数百万人可以即时完成链下闪电网络付款,无需与链上比特币交互。
虽然闪电网络之前的应用场景都聚焦于微付款,但现如今新的改进措施都是为了增强闪电网络在大额比特币付款方面的可靠性和适用性。在本文中,我们将探索原子化多路径支付(Atomic Multipath Payment, AMP)的概念,以及如何使用它们在闪电网络上实现快捷可靠的大额比特币付款。
原子化多路径支付(AMP)是由 Ind 0.13.0 beta 版实现的新型闪电网络付款,可以将单笔付款拆分成多笔较小的付款,然后同时经由不同的支付通道发送。
在 AMP 的帮助下,一笔付款可以被拆分成一系列较小的付款部分。每个付款部分都会被分配唯一的付款哈希,就像是由付款方生成的单个原像的一个碎片。接着,这些付款部分会经由不同的支付通道发送出去,每个都有对应的哈希时间锁合约(HTLC)。如此一来,收款方只需证明自己知道每个 HTLC 的原像,即可将各个付款部分重组成一笔付款。
在闪电网络中,多路径付款(MPP)并非新概念。但是,原子化多路径付款有别于 MPP,因为它遵循原子化性原则,即,“ 要么所有付款都成功结算,要么所有付款都结算失败”。MPP 对所有付款部分都使用同一个付款哈希,这使得关联单个路由变得非常容易,而且可能会出现只有部分付款结算成功的情况。相比之下,AMP 只有全部结算和全不结算之分。
由于原子化多路径付款是端到端升级,只有付款方和收款方需要了解此付款类型,因此在此新功能能够广泛使用之前无需升级闪电网络。
路由一笔闪电网络付款时,路由节点能否协助付款方将闪电网络付款转移至收款方取决于以下因素:
在上述 6 大因素中,闪电网络通道的 流动性和容量 对于大额付款路由来说仍是最主要的阻碍。这是因为闪电网络中支付通道的容量是有限的,取决于通道内锁定的比特币数量。如果一笔付款超出了支付通道的容量,则无法得到处理。在原子化多路径付款的帮助下,此付款能够被拆分成多笔较小的付款,分别由不同的支付通道路由。这样一来,付款不再受单条支付通道容量的限制,从而提高闪了电网络的总体效率。
AMP 支持将付款拆分后经由闪电网络中的不同路径发送。
以下例子反映了 AMP 运作原理:
接下来,我会将原子化多路径付款与其它已有的和即将广泛实现的闪电网络功能进行详细的对比分析。
Bolt 11 闪电网络发票是闪电网络上最简单的收付款方式。发票是付款请求,包含应付款额、收款方的公钥和付款哈希等信息。然后,付款方可以使用上述信息创建一条支付通道,将付款发送给收款方。如果你想了解更多关于闪电网络发票的内容,请阅读 这篇文章。
AMP 的功能比起发票更加强大,因为它们支持在闪电网络上处理更大额的付款,从而增强闪电网络的可扩展性,带来更多应用场景。AMP 也能增强隐私性和安全性,因为付款经由多条支付通道传递,能够降低第三方跟踪和不完全结算的风险。相较之下,闪电网络发票无法被用来执行大额付款,因为它们经常为路由节点的流动性和容量所限。此外,AMP 发票可以重复使用,而且支持订阅和捐款场景,而闪电网络发票只能使用一次。
特征 | 原子化多路径付款(AMP) | BOLT 11 发票 |
---|---|---|
用途 | 将单笔大额付款拆分成多笔较小的付款 | 要求付款方付款 |
路由 | 付款被拆分后经由多条支付通道路由 | 付款经由单条支付通道路由 |
要求 | 收款方必须支持 AMP 才能接收付款 | 收款方必须为付款方生成发票 |
付款额 | 可用于超出单条支付通道容量和流动性的大额付款 | 通常只能用于一次性小额付款 |
安全性 | 提供更高的隐私性和安全性,降低非完全结算和第三方追踪的风险 | 简单安全的付款请求方式 |
复杂性 | 可能会增加路由付款的复杂性,提高出现错误和延迟的可能性 | 生成发票很简单 |
应用场景 | 适于大额付款和经常性付款,可增强隐私性和安全性 | 适合想要在闪电网络上接收付款的商家和个人 |
原像 | 由付款方生成,但是只有当所有付款部分完成结算后,收款方才知晓 | 由收款方生成 |
Keysend 是 bLIP(比特币与闪电网络改进协议)功能,无需发票即可通过闪电网络发送一次性小额付款。这赋予了 Keysend 简单性和易用性,因为 Keysend 能够让付款方不再依赖收款方提供发票。但是,Keysend 需要收款方与付款方共享一次密钥,之后付款方就可以随时向收款方支付任意金额。付款方选择付款哈希的哈希原像,并使用收款方的公钥加密,确保只有收款方能够解密付款哈希并拿到付款。
AMP 专为超出单条通道容量的大额付款设计。通过将付款拆分成多个部分,AMP 可以让用户通过多条支付通道路由付款,让原本不可能完成的大额交易成为可能。另外,为每个付款部分生成单独的付款哈希提高了安全性和隐私性,降低非完全结算和第三方追踪的风险。
相比之下,Keysend专为一次性小额付款设计,无需发票即可将付款直接发送至收款方节点。由于简单易用,Keysend非常适用于给小费、捐款等微付款场景,因为为这类场景生成发票既无必要,也不切实际。
特征 | 原子化多路径付款(AMP) | Keysend |
---|---|---|
用途 | 将单笔大额付款拆分成多笔较小的付款 | 无需发票即可发送一次性小额付款 |
路由 | 付款被拆分后经由多条支付通道路由 | 付款经由洋葱路由直接发送给收款方 |
付款额 | 可用于超出单条支付通道容量和流动性的大额付款 | 通常用于小额付款 |
发票/收据 | 支持使用静态发票作为付款收据 | 完全无需使用发票 |
应用场景 | 用于大额付款和经常性付款,可增强隐私性和安全性 | 用于微付款和不适用发票的场景 |
原像 | 由付款方生成,但是只有当所有付款部分完成结算后,收款方才知晓 | 由付款方生成并知晓 |
Offer 是相对较新的闪电网络功能,支持用户创建可反复使用的发票,让订阅之类的经常性付款变得更容易执行。通过让用户创建可多次使用的发票,Offer 可简化发票开具流程,减少出错和漏付的风险。
Offer 和原子化多路径付款都是非常强大的功能,能够以独特的方式增强闪电网络的能力。Offer 与 AMP 之间的主要区别在于 AMP 更适用于大额付款,因为它支持多路径付款。
特征 | 原子化多路径付款(AMP) | Offers |
---|---|---|
用途 | 适用于需要通过多条支付通道路由的大额付款 | 适用于单个发票可以多次使用的经常性交易 |
复杂性 | AMP 路由会更加复杂一些,而且会带来额外的延迟和潜在的路由错误 | Offers 相对更简单易用 |
应用场景 | 适用于需要多通道路由的高额低频交易 | 适用于订阅、经常性付款和小额交易 |
缺点 | 路由会变得更加复杂,可能会带来额外的延迟,不适用于小额交易 | 不适用于超过通道容量的大额交易,隐私性较弱,经常性付款出错风险较高 |
原像 | 由付款方生成,但是只有当所有付款部分完成结算后,收款方才知晓 | 可用于接收付款和请求付款,可由收款方或付款方生成 |
如果你想要接收 AMP,将你的 lnd 软件升级到最新版本之后,在启动节点之前,需要先在你的 lnd.conf
文件里设置
accept-amp=1
接下来,你就可以调用下方命令向其它启用了 AMP 的节点付款:
lncli sendpayment --amt <amount in satoshis> --dest <recipient’s public key> --amp
随着越来越多人开始使用闪电网络完成日常付款,人们对闪电网络的某些局限性愈发重视,其中之一就是它不适用于大额付款。有了 AMP,我们就可以打破这一限制,帮助闪电网络解锁更多强大的新型应用场景,使之应用于原本被认为只适合链上比特币交易的大额付款。
原子化多路径付款: https://docs.lightning.engineering/lightning-network-tools/lnd/amp
精通闪电网络: github.com/lnbook/lnbook
(完)
- 本文转载自: btcstudy.org/2023/04/14/... , 如有侵权请联系管理员删除。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!