MSTR Cat

区块链/等级 V · 分层扩展/5.1 闪电网络(Lightning)/课程 1

支付通道

两个签名,数千笔支付:链下结算的运作机制

材料能够查看多签输入信息的区块浏览器(例如:mempool.space)BOLT #2 规范文档一种用于将注资交易与承诺交易结构可视化的绘图工具

好奇

  1. 双方如何能在仅向比特币区块链提交两笔交易的情况下完成数千笔即时支付?
  2. 是什么机制阻止参与者广播对其余额更有利的旧承诺交易?
  3. 为什么 Jeremy Spilman 在2013年描述的最早的支付通道只能单向使用?

探索

  1. 比特币的基础层大约每十分钟结算一次交易,这给高频小额支付带来了延迟和手续费方面的限制。支付通道将状态更新的计算负担转移到链下,使参与者无需在网络中传播,就能无限次地交换已签名的余额状态。链上的区块链仅作为结算层,只负责验证最初的注资和最终的关闭这两个事件。
  2. 通道始于一笔注资交易:一个2-of-2多签输出,锁定由 Alice 和 Bob 共同控制的资金。如果双方各投入1 BTC,通道容量就是2 BTC。没有另一方的签名,任何一方都无法单方面花费这些资金。这种结构把参与者绑定在一个共享账户中,而这个账户仅作为对主链的一种潜在索取权而存在。
  3. 通道运行期间,Alice 和 Bob 会交换代表新余额分配的承诺交易。每次更新都会取代之前的状态;如果 Alice 向 Bob 发送0.1 BTC,双方就会签署一笔新交易,把资金从 Alice 的输出转移到 Bob 的输出。这些已签名但尚未广播的交易都是有效的比特币交易,因此任何最终状态都可以在链上强制执行,而无需依赖对手方的信任。
  4. 此外,还必须阻止任何一方广播对其更有利的过时状态。闪电网络通过撤销秘密和时间锁来做到这一点,相关内容将在后续课程中讲解;简而言之,公开一个已被撤销的状态,会让另一方取走整个通道的余额,这使作弊成为一场必输的赌局。
  5. 关闭可以以合作方式或单方面方式进行。在合作关闭中,双方签署一笔结算交易,立即支付各自的最终余额,没有时间锁。如果一方断开连接或采取恶意行为,另一方可以广播最新的承诺交易来强制关闭通道。在这种单方面关闭的路径上,发起强制关闭的一方必须等待一个相对时间锁到期,才能花费自己的份额,从而为惩罚索取留出时间;而另一方的输出几乎可以立即使用。
  6. 其前身包括 Jeremy Spilman 的单向通道(2013年),其中资金只能从付款方流向收款方;以及 Christian Decker 和 Roger Wattenhofer 的双工通道(2015年)。Joseph Poon 和 Thaddeus Dryja 的闪电网络论文(2015年草稿,2016年版本)引入了可撤销的承诺,使通道可以无限期保持开放,并引入了 HTLC,使支付可以经由多个通道路由。如今,LND、Core Lightning 和 Eclair 等主网实现负责管理这些状态,大规模采用从2018年起真正开始。

关键事实

  • 支付通道将资金锁定在一个2-of-2多签输出中,在链上花费需要双方的签名。
  • 承诺交易是已签名但未广播的更新,用于重新分配通道余额;每个新状态都会取代上一个状态。
  • 撤销秘密使对手方能够在过时的承诺交易被广播时,取走通道的全部余额。
  • 合作关闭通过一笔无时间锁的结算交易立即结清余额;单方面关闭则会施加相对时间锁,以便核查是否需要惩罚。
  • Jeremy Spilman 于2013年提出的单向通道,以及 Decker/Wattenhofer 于2015年提出的双工通道,是闪电网络最主要的前身。
  • 主要的实现方案包括 LND(Lightning Labs)、Core Lightning(Blockstream)、Eclair(ACINQ)以及 LDK,其主网应用从 2018 年开始加速发展。

练习 九、六、三、一

9收集列出在打开、更新和关闭支付通道过程中涉及的9种不同的技术组件或协议。
6归类按功能将这9项分为6类:注资、状态管理、安全强制执行、关闭机制、路由前提或实现标准。
3提炼将这6组归纳为3条核心原则,确保双方之间能够以无需信任的方式运作。
1凝结写一句话,说明为什么两笔链上交易就能结算任意数量的链下支付。

事实核查

日期、数字及数据均依据下方列出的已发表资料进行核实。

在互动学院中打开 →

EN PT ES JA KO RU DE FR MS