作者:ZmnSCPxj 来源:https://delvingbitcoin.org/t/superscalar-laddered-timeout-tree-structured-decker-wattenhofer-factories/1143 我们这样定义 LSP(闪电网络服务商)的 “最后一公里” 问题: 除了上述问题,我们的解决方案还必须受到下列条件的约束: 我们必须保证 LSP 不能偷盗资金,即,仅仅实现 “只需一个诚实参与者” 的安全假设 是不够的,除非每个终端用户都可以为自己担当那个诚实参与者。 必须无需变更区块链的共识。 当 LSP 必须重新分配资金的时候,我们必须能够对付少量终端用户离线的情形。 上述约束立即排除了 Ark 和 BitVM2 桥。如果没有限制条款,这两者都有 “至少一个诚实参与者” 假设,而依照上文的推理,限制条款在现实中不会激活(OP_CTV 提议在 2020 年就已经大体完成了,但到今天(2024年)也还未获得共识;这已经超过了减半周期,所以永远不能获得共识了;SIGHASH_NOINPUT 的遭遇甚至更加糟糕)。两者都可以取消 “至少一个诚实参与者” 假设,仅当 LSP 需要重新分配资金时所有终端用户都同时在线;这就违反了上述最后一个约束。 在本文中我会提出一种叫做 “SuperScalar” 的构造,实际上,是一种分层超时树结构的 Decker-Wattenhofer 通道工厂。 首先,我要(希望是)简单介绍一下组合出这种构造的三个模块: 请随意跳过你已经很熟悉的部分。 Decker-Wattenhofer 递减 nSequence 机制是一种链下的密码货币系统,允许一组利益相关的用户对一些状态变更达成一致,而无需每一个状态变更都发布到区块链上(这就是它被归类为 “链下” 机制的原因)。这听起来跟 Poon-Dryja 机制(译者注:即闪电通道机制)很像,但有如下区别: Decker-Wattenhofer 机制和 Poon-Dryja 机制都无需共识变更就可以在比特币中实现。 跟 Poon-Dryja 机制一样,Decker-Wattenhofer 递减 nSequence 机制具有一个链上 UTXO 作为 “注资输出点(funding outpoint)”。这个输出点是一个简单的 n-of-n 多签名装置,由签名状态变更的所有签名人组成。 如果是一个单层的 Decker-Wattenhofer 递减 nSequence 机制,那就只有两笔交易: 对于最初的状态,“状态” 交易的 nSequence 是设计好的最大相对时间锁。 举个例子,对一个意在允许 4 次状态变更的设计而言,合理的初始状态是 432 个区块的相对时间锁。 在变更状态的时候,如果所有签名人都同意一个新状态,他们就创建一笔花费注资输出点的新的状态交易,但带有比上一笔状态交易更短的 nSequence 相对时间锁。举个例子,对一个允许 4 次状态更新的设计来说: 这就是它为什么叫做 “递减 nSequence ”机制;每次签名人们要批准一个新的状态时,表示新状态的交易就会使用一个更小的 nSequence 数值,直到它变成 0 。 因为最新的状态总是具有更短的相对时间锁(相比任何旧状态),它就总是可以比较早的状态更快获得确认。这一机制保证了,假设区块链层不拥堵,最新的状态就是在单方退出场景中会得到确认的那一笔交易。 nSequence 相对时间锁的差值需要足够大,以使各方都可以合理假设,即使在拥堵状态下,最先的状态也能比旧的状态先一步得到确认。因此,上文的案例使用的差值是 144 个区块。 如上文所说,这样的一套构造,只能更新少量几次状态,就会达到 “最终状态”。因此,Decker-Wattenhofer 建议在实际使用中连锁多个这样的构造。整个链条的第一个构造有一个输出,是签名人的 n-of-n 多签名装置;这个输出又作为下一个构造的输入,以此类推。只有最后一个构造具有状态交易(有多个输出)、表示整个系统中的资金的最新状态。 实际上,上一个构造的 “状态” 交易是通过下一个构造的 “弹出”
Читать на cryptowiki.ru