比特币第二层解决方案:闪电网络的创新与挑战
闪电网络是一种路由支付渠道网络,最早由 Thaddeus Dryja 和 Joseph Poon 在 2015 年提出。目前主要的实施团队包括 Blockstream (CLN)、Lightning Labs (LND)、ACINQ (Eclair) 和 Spiral (LDK)。
支付通道的概念在比特币中并不新鲜。用户将资金存入一个 2/2 多重签名地址,付款人可以通过预先签署交易逐步向收款人分配资金。早期的支付通道是单向的,并且具有到期时间。在此期限之前,收款人必须关闭通道,否则退款交易会使付款人收回全部资金。
闪电网络引入了两项关键创新:一是支持双向支付通道,没有严格的时间限制;二是通过哈希时间锁合约 (HTLC) 实现跨多个支付通道的自动路由支付。
然而,闪电网络的核心问题在于其流动性动态。用户若想接收资金,必须提前开通支付通道并分配足够的资金。为了确保支付能够顺利路由,每个通道两侧都需要有足够的资金来完成转账。
尽管存在这些限制,自 2018 年上线以来,闪电网络在比特币生态系统中的发展和应用取得了显著成功。
Poon-Dryja 通道
从限时单向支付通道到无时间限制的双向支付通道的关键挑战在于:一旦交易被创建并签名,就无法撤销或收回。这种交易始终有效,直到它所花费的资金被其他交易使用。
Poon-Dryja 通道通过“撤销密钥”机制解决了这一问题。虽然无法撤销预签名交易,但可以设计激励机制,使旧交易变得无效甚至惩罚作弊方。这是通过交换撤销密钥实现的。

在 Poon-Dryja 通道中,每一方都持有一组镜像的预签名交易,称为承诺交易。每次更新余额时,双方都会签署一组新的承诺交易。这些交易会立即返还对方的资金,但接收方需等待时间锁到期才能取回资金,从而确保撤销密钥的有效性。
当通道状态更新时,双方必须交换最近提交的承诺交易的撤销密钥。如果任何一方尝试广播旧交易,受害者可以使用撤销密钥没收作弊方的所有资金。
哈希时间锁合约(HTLC)
HTLC 是一种安全机制,用于在网络中路由支付。其原理类似于不同区块链资产间的原子交换。

HTLC 创建了一个输出,可以通过两种方式解锁:接收方提供正确的哈希原像,或发送方在时间锁过期后取回资金。通过这种方式,发送方可以在网络中锁定支付,接收方则通过揭示原像完成支付。
每跳一次,通道都会更新,将 HTLC 中的资金转移到相应的一侧。从接收方到发送方,时间锁逐跳延长,以确保出现问题时,前序节点能够检测到原像并更新通道。
八卦协议
为了在网络中成功路由支付,闪电网络节点需要了解网络的大致情况。这正是 Gossip 协议的作用所在。它广播有关节点及其开放通道的信息,帮助钱包选择合适的支付路径。
该协议包含三条消息:通道公告、节点公告和通道更新。每条消息都有特定依赖关系,并传播支付通道的相关信息。
通道公告包含证明通道真实性的信息,如 UTXO 和多重签名地址的签名。节点公告则包含节点身份密钥、网络地址和其他元数据。通道更新消息则提供费用和条件信息,例如最小值、最大值、基本费率和时间差。
洋葱路由
闪电网络中的支付路由采用洋葱路由技术。每条消息经过加密,确保每个参与者只能解密与其相关的部分。这种方式为支付提供了隐私保护,因为每个节点只能看到自己的单跳信息。
通过这种方式,发送方可以构建支付路径,确保支付隐私,同时利用 Gossip 协议了解网络状况,选择合适的路径。
流动性动态
闪电网络的一个瓶颈在于流动性分配。用户若想接收支付,必须有人为其开通通道并分配资金。这需要节点对用户的声誉进行评估,判断其是否值得信任。
为了解决这一问题,“闪电服务提供商”(LSP)应运而生。它们专门为主流用户提供接收流动性的基础设施。此外,一些协议级解决方案(如扩展的 Gossip 协议)允许用户广播通道开通报价和费用。
总结
尽管闪电网络仍面临诸多挑战,例如需要预先分配资金以接收支付,但它已经证明了自己作为结算层的实用性。
目前,闪电网络尚未完全成为一种自主托管的支付解决方案,但它的潜力不可忽视。无论是作为终端用户支付系统还是工业结算层,闪电网络都将在比特币生态系统中长期发挥重要作用。