Cointime

扫码下载App
iOS & Android

何为 “双向注资的闪电通道”?

媒体

简单解释通道拼接

就其核心而言,“拼接(splicing)” 是一个简单的概念,就是指重设闪电通道大小的能力。但随着时间推移,越来越显而易见的是,这种重设闪电通道大小的能力,将给我们带来许多额外的好处,这些好处往往在意料之外,而且从根本上提高了闪电网络的可用性。

通道拼接带来了两个方面的提升:

  • 面向用户的提升
  • 后台的流动性提升

面向用户的提升

第一方面是相对容易解释的:现在有许多的比特币钱包 app —— 这当然很好。但在这些开发者开发自己的 app 时,就会遇上一个问题:这个 app 到底做成比特币钱包呢,还是闪电钱包呢?

大部分钱包会选择其中之一,但一些更有雄心的钱包会选择两者都做!从更加根本的视角来看,当然两者都做是最好的解决方案。

但这就带来了一个问题。这些钱包将拥有 “两套余额” —— 一套是(“链上的”)比特币余额,另一套是闪电通道中的比特币余额。我不知道你有没有引导过新人了解比特币,我可以告诉你:两套余额会让新用户很困惑。对于资深的、 “老炮儿” 比特币人来说,这不是什么问题,但是,我们希望每个人都能用上比特币。

这个 “两套余额” 问题并不是一个设计问题,而且因为这两种模式(链上资金 vs. 闪电通道)根本不同,所以无法变成 “一套”,不然就会产生新的用户问题:更长的支付时延 以及/或者 高不可攀的手续费。

而通道拼接,如果能在网络中实现,就会成为一个秘密武器,让 “一套余额” 的钱包成为可能。因为通道拼接让这两种余额可以低成本地互通(互相转换)。

后端流动性提升

第二方面,后端的流动性提升,可能更难理解,但(相比于 “一套余额” 的 app)对闪电网络有更加重大的影响。

闪电网络的运行靠的是分散在网络中的许多 “微型” 银行。这些银行只提供一种服务:往某个方向移动资金。

传统的银行业需要一个巨型的 “中心” 银行批准少量 “真正” 的银行进入一个受信任的网络。但闪电网络反其道而行之:我们为什么不让每个人都自己开银行呢?许许多多可以互通的小银行,能不能变成一个 “去中心化的银行”?只要足够多人这么做,我们最终就能创造跟中心银行一样可靠 —— 甚至更可靠的东西!

这在事实上已经发生了。闪电网络中的 “微型银行” 的数量一直在增长,而且很快我们将拥有 10 万个微型银行 —— 远远超过美国境内的 5000 家。

这些微型银行将为了路由你的交易而相互竞争,因此会提供最便宜的服务。这样的银行为了路由一笔支付,必须已经在比特币的某个 “闪电账户” 里面存储了一些资金。

再给你提供一些具体的数字:一个成功的闪电银行一般要维护 100 个闪电账户;TA 要在这些账户之间不断移动资金、预测下一个用户需要向哪个方向发起支付。如果他们恰巧在通往 “Sally 的三明治商店” 的路径上有 10 0000 聪的账户余额,那么,当你要跟 Sally 买一个三明治的时候,他们可能就被你选中来路由你的支付。

现在,想象其中一个管理着 100 个账户的微型银行,持续地在账户间转移资金,以猜测消费者的行为。这是相当难的事情!因为事实上,人们的行为都是非常难以预测的,而且你还有很多竞争者,想跟你做一样的事情。

那么,通道拼接跟这个有什么关系呢?嗯哼,在这些账户之间移动资金是很贵的 —— 现实中,这些闪电银行需要不停地关闭和开启账户。他们还需要保留一笔资金作为 “储备”,以备在意外需求出现的时候可以部署到闪电网络中。

通道拼接既消除了昂贵的关闭和开启账户的必要,也消除了保留闲置的 “储备” 资金的必要。这将极大地降低这些微型银行的运营成本、复杂性,以及闲置资本挑战。通道拼接是通过允许直接在 “闪电账户” 之间转移资金(同时是尽可能地成本的)来做到这一切的。更棒的事情是,通道拼接也通过让这些微型银行可以保持独立 —— 不再需要依赖于所谓的 “中心化的流动性提供者” —— 让整个网络更加强壮。

这个事情对于运行闪电微型银行的人来说是非常令人振奋的,当然,对你这样的闪电网络用户来说应该也一样。如果这些微型银行能够更加高效地运行,那么,节约的成本自然也能以惠及用户,其表现是更加便宜的手续费和更加可靠的支付。

通道拼接技术概述

通道拼接指的是将一条闪电通道中的资金(这个通道的注资 UTXO)移动到一个新的 “拼接后” 的 UTXO 中。具体的操作非常简单 —— 签名 2-of-2 的多签名交易,将资金移动到一个新的位置。但是,想要让这个过程保持免信任性,就不是那么简单了

在实际移动原注资 UTXO 以及任何子 HTLC 交易之前,必须为新的 “拼接后” 的 UTXO 重新构造承诺交易。

但是,在我们为新通道重新创建一个复制的承诺状态之前,我们需要保证当前通道中的状态不会在工作中被改变。所以,我们引入了一种新的闪电状态,称为 “SomeThing Fundamental is Underway”,缩写为 “STFU”。

STFU 将在一段时间内禁止改变当前通道的承诺状态。

然后,参与通道的两个节点使用 interactive-tx 协议开始交易协商:每一方在轮到自己时都可以同时添加输入和输出。当前通道的注资 UTXO 会被添加作为被协商的交易的一个输入。

双方都可以任意为不相关的活动添加额外的输入和输出,比如开启另一条通道,甚至处理另一次通道拼接。所有这些活动都会被合并到一笔交易中。

完成交易协商和构造之后,双方都验证最终的交易,确认交易的余额符合预期,并为矿工支付了合理数量的手续费。然后,他们签名交易,并将自己的签名交给对方。

交易广播之后,双方都等待这笔交易获得 6 次区块确认,然后这次拼接就被认为 “完成” 了。这时候,他们就可以删掉原来那条通道的状态,只关心拼接之后的通道的状态了。这样可以节约许多的数据库空间。

(译者注:此处的描述还嫌太粗糙了一些。假定双方现有的通道 UTXO 为 UTXO A;而他们希望形成的拼接后的通道 UTXO 为 UTXO B。首先,双方要为 UTXO B 构造一笔承诺交易作为新通道内的第一个状态,这也是免信任性的保证;然后双方签名产生 UTXO B 的交易并广播出去。在 UTXO B 获得足够区块确认之前,原通道继续运行,双方每在原通道内更新一次状态,也要相应在新通道内更新一次状态。当 UTXO B 获得足够多区块确认之后,就可以不再为原通道更新状态,也可以删掉原通道相关的数据了。这就实现了在改变通道大小的同时不影响通道的正常运行。)

如何实现通道拼接

让一个闪电实现从不支持拼接到支持拼接,有许多步骤。

首先,你必须决定,你的通道状态是否支持其注资详情被覆写,或是将拼接后的通道的状态视作一个完全新的状态。两种办法都可以工作,至于哪一个更理想,则取决于你的实现是如何构造通道状态的。

两套复制通道状态的好处:

  • 通道状态(基本上)不必理会拼接

两套复制通道状态的坏处:

  • 你的承诺码(commitment code)必须在两套状态中复制,这就打破了一条通道在管理其状态时候的 “黑盒子” 特性

只有一个通道状态的好处:

  • 承诺的结构保持不变,只有承诺状态需要少许调整
  • 通道状态更接近于根本上发生的事情

只有一个通道状态的缺点:

  • 所有预设或者缓存了一条通道的注资详情和余额信息的代码,都必须 “理解” 通道拼接

无论采取哪一种方法,都需要额外的工作来管理通道 id 以及短通道 id,尤其是把它们当作 key 的时候,需要在整个代码基础上处理。

对于给定的代码基础,你应该考虑每一种方法的优点和缺点 —— 既要考虑重构的难度,又要考虑引入 bug 的风险。

下一步,你将需要一个可以复用的交互式交易构造模块。这个模块要处理所有的 TX_ADD_INPUT/TX_ADD_OUTPUT 类型的消息。你也需要这个模块来支持双向注资(dual funding),也正因此,许多实现都是为双向注资而开发这样的模块的。

这个模块在未来的 “splice to close” 中也会很有用,可能也对其它的闪电网络规范附加项有帮助。

交互式交易协议非常类似于双向注资的变种,但也有一些区别。在开发的时候请记住这些区别,以便这样的模块可以运行在不同的场景中。

下一个自然而然的步骤是实现 “STFU” 逻辑。许多人都发现 STFU 协议比想象中更加复杂。这是因为 STFU 消息实际上是对 STFU 模式的一次请求。除非收到回传的 “STFU”,否则它就不会激活。

如果对方忙于别的事情,比如添加一个 HTLC 并更新承诺交易,它就不会回复 STFU,直至它做完手上的操作。

截至本文撰写之时,只有通道拼接使用 STFU 模式,但以后很有可能会发生变化。所以,在开发你的 STFU 模块时,想想未来有什么用途,是很好的注意。

关于 STFU 模式,还有一些特殊的考量。是一种罕见情形,就是双方同时都想初始化一次通道拼接。请记得正确地处理这些打结的情形。

在初始化中,一般来说,你需要处理一个由输入和输出组成的 PSBT(部分签名的比特币交易)。你的用户可能想要给这笔交易添加输入和输出,以及一个相对的通道大小变化数量。你将需要发送相对数量变更,以发送 splice 以及 splice_ack。请记住,双方都可以提供变化数量,所以,一定要为接收的一方开发一个插件程序、提示他们 PSBT 的变化。

评论

所有评论

推荐阅读

  • 美国防监督机构将调查美国在加勒比海对船只的攻击行为

    5月19日,美国国防部内部监督机构将调查美军在加勒比海的船只打击行动是否符合目标选择准则,此前外部团体声称这些袭击是非法的。美国国防部监察长办公室表示,此项调查是自行发起的,并非应国会质询要求。助理监察长布莱恩·克拉克在5月11日致美国南方司令部司令约瑟夫·多诺万将军的一份备忘录中写道,此次评估的目标是确定五角大楼是否遵守了名为“联合命中周期”的六阶段流程。克拉克表示,我们将在五角大楼和南方司令部总部进行评估。

  • BTC跌破77000美元

    行情显示,BTC跌破77000美元,现报76995.01美元,24小时跌幅达到0.25%,行情波动较大,请做好风险控制。

  • 中金:美联储年内或难以降息

    5月19日,中金公司研报表示,近期多项美国通胀数据超预期,就业市场则趋于稳定。债券出现抛售,市场对通胀的担忧持续升温。与此同时,美伊和平谈判未见实质性进展,霍尔木兹海峡仍处于事实封闭状态,能源价格上行风险难以消退。基准情形下,我们预计美国PCE通胀全年或将维持在3.5%以上,核心PCE通胀将在3%以上,均显著高于美联储2%的政策目标。在此背景下,美联储政策立场将转为更加审慎的方向,年内或难以进一步降息(此前预计下一次降息在第四季度)。新任主席沃什上任后,建立政策公信力将是首要任务,及时向市场传递明确的抗通胀信号,既是应有之义,也是稳定预期的必要之举。对市场而言,这意味着美元流动性边际收紧的概率上升,单纯依靠流动性驱动的资产或将持续承压。

  • 特朗普高调主持沃什在白宫的宣誓就职仪式,重现格林斯潘时刻

    5月19日,据华尔街日报报道,白宫官员透露,特朗普将于周五在白宫为即将上任的美联储主席凯文·沃什主持宣誓就职仪式。这一仪式凸显了特朗普对这一任命的高度重视。特朗普在2018年首个任期内提名执掌美联储的鲍威尔,其宣誓就职仪式在美联储举行,特朗普并未出席。上一位在白宫宣誓就职的美联储主席是1987年上任的格林斯潘。此后的仪式均在美联储举行。而上一位出席此类仪式的总统是乔治·布什,他于2006年出席了伯南克的宣誓就职仪式。同年晚些时候,沃什在艾森豪威尔行政办公大楼由副总统迪克·切尼主持宣誓就任美联储理事。本周五的宣誓就职仪式将为美联储高层这场异常漫长的过渡画上句号。

  • 美国SEC拟推出代币化股票交易创新豁免

    5月19日,据知情人士透露,美国证券交易委员会(SEC)预计本周发布针对代币化股票的创新豁免计划,为在去中心化平台上交易未获公司授权的“第三方代币”建立框架。这类代币允许投资者在不享有投票权或分红的情况下,投机上市公司股票价格走势。该举措标志着美国股票交易向加密基础设施迁移的一次重大监管实验,也引发市场碎片化和投资者保护不足的担忧。SEC主席Paul Atkins和委员Hester Peirce推动该豁免,旨在为代币化证券提供合法试验空间,但业内包括Citadel Securities在内的机构警告可能削弱现有市场保护机制。

  • 法官驳回马斯克对OpenAI及其CEO奥尔特曼的诉讼

    5月19日,OpenAI及其CEO奥尔特曼被美国陪审团裁定无需对埃隆·马斯克承担责任,原因是马斯克提起诉讼时间过晚。陪审团认为,OpenAI偏离“慈善使命”的指控在法律时效上已过期,因此不构成可追责事项。此前,埃隆·马斯克指控OpenAI在奥尔特曼领导下背叛了其造福公众的使命,转变为了一家营利性企业。

  • 消息人士:如果未来几天未能取得进展,特朗普倾向于采取军事行动

    据半岛电视台:美国方面消息人士表示,伊朗只有几天而非几周的时间向特朗普总统拿出点东西来打破僵局。如果在几天内未能从伊朗获得任何成果,特朗普总统倾向于采取军事行动。

  • BitMine上周增持超7.1万枚ETH,总持仓超527万枚ETH

    截至美国东部时间5月17日,BitMine加密货币+现金总持有量+“登月计划”总计126亿美元。BitMine持有5,278,462枚ETH(较上周增持 71672枚ETH),Bitmine持有的以太坊占以太坊总供应量(1.207亿枚以太坊)的4.37%。此外还持有202枚BTC、价值2亿美元的Beast Industries股份,Eightco Holdings(纳斯达克代码:ORBS)的8300万美元股份以及6.85亿美元无抵押现金。 截至2026年5月17日,Bitmine共质押了4,712,917个ETH(按每个ETH 2,191美元计算,总价值103亿美元)。

  • Strategy上周斥资约20.1亿美元购入24,869枚比特币

    Strategy上周已购入24,869枚比特币,总价约20.1亿美元,单价约80,985美元,并实现了2026年至今12.6%的比特币收益率。截至2026年5月17日,Strategy持有843,738枚比特币,这些比特币的总价约为638.7亿美元,单价约75,700美元。

  • CoinShares:上周数字资产投资产品流出10.7亿美元

    5月18日,CoinShares发布最新周报表示,上周数字资产投资产品遭遇10.7亿美元的资金流出,这是七周以来的首次负增长,也是2026年以来第三大单周资金流出,仅次于1月下旬的两周。比特币资金流出9.82亿美元,年初至今累计资金流出达39亿美元。以太坊资金流出2.49亿美元,创下自1月30日以来的最大单日流出。区块链股票ETF也受到避险情绪的影响,累计资金流出1.33亿美元。 山寨币表现尤为出色。XRP 录得 6760 万美元资金流入,Solana 录得 5510 万美元,两者近几周均有所加速增长。Ton(770 万美元)、Sui(470 万美元)、Ondo(410 万美元)、Chainlink(390 万美元)和 Doge(320 万美元)的资金流入规模虽小但同样可观,表明投资者正越来越多地将目光投向比特币和以太坊之外的其他加密货币,寻求选择性投资。