Botanix Labs

2025年6月6日

Botanix的Spiderchain:DKG和FROST

Botanix的Spiderchain:DKG和FROST

Botanix 是一个基于比特币的链,引入了 Spiderchain——一种通过一系列依次运行的去中心化多签名钱包提供安全性的协议。

介绍

Botanix 是一个基于比特币的链,引入了 Spiderchain——一种通过一系列按顺序运行的去中心化多签名钱包提供安全性的协议。我们在文章中部分描述了多签名的工作原理 Botanix 如何防止双重支付和冲突输入。该文章还大致讨论了 Spiderchain(协调者)在 peg-in 和 peg-out 过程中主要参与者的角色。

现在,我们将深入研究——逐层分析,就像从研究解剖学转向探索细胞和生化过程一样。在本文章中,我们将详细探讨 Botanix 如何在 Spiderchain 中实现 DKG 和 FROST 等原语:技术架构、为了抵御高网络延迟和包丢失而构建的自定义 DKG 状态机、FROST 在签名和交易验证操作中的集成,以及与比特币和以太坊中的传统多签方法的比较。

如前所述,与传统的联邦侧链不同,Spiderchain 旨在无权限并最小化信任,使用先进的阈值密码学来保护比特币资产。在 Botanix 的背景下,多签名是一个通用过程,结合了分布式密钥生成(DKG)和 FROST(灵活轮次优化史诺尔阈值签名)等密码组件。对于深度嵌入加密空间的用户,这些术语可能已经很熟悉:

  • DKG 是一个密码学过程,允许多个参与者共同生成一个秘密密钥,而无需任何单一方知道完整的密钥。在 Botanix 的背景下,这使得任意子集的验证者(协调者)能够共同生成新的多签名密钥,而没有任何一方对私钥有完整的了解。

  • FROST 是一种密码学协议,用于生成涉及多个参与者的数字签名,同时保持效率和隐私。在 Botanix 的情况下,该机制允许协调者为交易创建一个单一的聚合签名,即使涉及多个方。

现在,让我们更详细地看看协调者如何使用这些密码学原语,以及这一过程在 peg-in 和 peg-out 场景中的深层技术运作方式。

Spiderchain 和协调者:为什么需要 DKG 和 FROST?

要理解为什么需要 DKG 和 FROST,让我们回忆协调者是如何工作的。正如我们可能从以前的材料中记得的那样,随着每个比特币区块的生成,创建一个新的阈值多签名地址,由使用可验证随机函数 (VRF) 选择的随机协调者节点的子集控制。这意味着每笔存款(以及在提款期间的 UTXO 变更)都生活在其独特的多签名地址上,签名者(协调者)是随机选择的。值得一提的是,Spiderchain 当前仅使用一个固定的多签名地址,持续整个过程。这是因为多签名在动态联盟中的生成和轮换频率仍处于建模和研究阶段。

此外,在当前配置中,移动资金通常需要大约 12 个签名者中的 16 个。这在随机选择协调者的基础上增加了一层额外的安全性。如果某个协调者子集恰好是恶意的——这种可能性不大——阈值签名可以防止他们获得多数控制权。即使在多位协调者恶意的情况下,所需的 12/16 阈值也不会得到满足,这会使多签名被冻结并触发新的 VRF 轮次。

此外,由于我们正在深入研究 Spiderchain 的技术运作,另一个关键点是增加一个额外的安全层:Spiderchain 在提款时使用先进后出(LIFO)的方法消费存款。这意味着在处理提款时,最近的存款 UTXO 优先被支出,而旧的 UTXO 保持不变,直到需要(这也目前处于建模和研究阶段)。这增加了另一层保护:所有在攻击者获得影响之前存入的 BTC 保持锁定在较早的多签名密钥后——攻击者没有参与创建的密钥,因此即使他们以某种方式控制了 12 个签名者,他们也无法访问早前存入的资金。

而整个机制依赖于被称为阈值密码学的概念。

阈值密码学是密码学的一个领域,在该领域中,进行给定密码学操作(如签名或加密)需要一定的最小参与者数量。

所有安全性依赖于阈值密码学使得在协调者组中生成和使用密钥的方式,任何单一的协调者永远不会知道完整的私钥,但组织仍能够集体签署交易。FROST 和 DKG 都是属于阈值密码学的机制。Spiderchain 机制首先基于分布式密钥生成(用于去中心化每个多签名地址的密钥设置),然后基于阈值签名(FROST)从这些地址生成有效的比特币交易签名。

现在让我们更仔细地看看这些机制。

Botanix 的 Spiderchain 中的 DKG 状态机

分布式密钥生成(DKG)是一个过程,通过该过程,参与者组共同生成公私钥对,而无需任何受信的中介(您可以阅读更多关于 DKG 的信息,例如 在这里)。在 Spiderchain 中,每当需要一个新的多签名地址——这实质上是每个比特币区块时代——为该“时段”随机选择的协调者运行 DKG 协议以创建一个新阈值密钥。成功 DKG 的结果是,每个‘n’选择的协调者持有私钥的秘密份额,并共同知道相应的公钥(多签名地址)。没有协调者了解其他任何人的份额或完整密钥,但任何 t 份额的阈值(例如 12/16 的 n)可以在以后的交易中用于签名。这种将密钥分割为份额的方式正是 DKG 协议在任何签名发生之前要完成的。在这种情况下,Botanix 不仅提供 DKG,还提供 DKG 状态机。

DKG 状态机

为了理解所谓 DKG 状态机的工作原理,我们需要看一下 DKG 过程。在内部,DKG 通常作为一个多轮协议运行,在其中每个协调者执行以下步骤(从高层来看):

  • 份额生成:每个选定的协调者创建一个秘密多项式,并从中计算出多个秘密份额,每个参与者一个。他们还使用密码承诺计算多项式系数的承诺(使用密码承诺)以便其他人验证份额的一致性。

  • 交换:协调者与组交换他们的承诺和加密的秘密份额。这通常涉及广播承诺并将每个份额私下发送到预定的接收者。

  • 验证:在收到其他人的份额后,每个协调者利用发布的承诺来验证他们所获得的每个份额是否一致(确保没有人通过发送错误份额进行作弊)。如果某个参与者检测到无效的份额或缺失的份额,协议可以识别该参与者为故障者。

  • 公钥计算:一旦所有份额都被验证,每个协调者计算出组的联合公钥(这将成为比特币的多签名公址)。在基于史诺尔的 DKG 中,这是通过汇总来自每个参与者贡献的公承诺(或部分公钥)来完成的。组还同意有效参与者及其份额的名单,排除任何检测到的坏行为者。

因此,整个 DKG 过程的结果是一个共享的阈值密钥,准备使用。在 Botanix 的案例中,这个过程是持续重复的,因为每个区块需要用于输入和输出(peg-in 和 peg-out)的新多签名。

为了可靠地协调这一过程,Botanix 工程团队在协调者节点软件中实现了一个设计用于 DKG 过程的状态机。他们开发了一个可靠的 DKG 状态机,能够在不良网络条件下运行——在通信轮次中容忍数据包丢失。在实践中,这意味着 DKG 协议可以处理丢失或延迟的消息而不会失败:协调者将进行重试,使用超时,并继续尝试启动协议,直到达到消息的法定人数。也就是说,如果数据包丢失,而不是中断流程,所需时间会稍长一些。这种弹性是非常关键的,因为 Spiderchain 在开放互联网中运行,具有无权限的验证者集,网络延迟或数据包丢失可能会干扰密钥生成过程。

这使得 Spiderchain 在异步条件下具有高容错性。DKG 状态机的实施具有重试逻辑和明确的阶段转换(例如,等待承诺,然后转换为份额等),使 Botanix 能够保持协议的连续运行,尽管在异步通信的情况下。这将 DKG 过程划分为定义的阶段和转换,使协调者能够在消息延迟或顺序失序时“追赶”,而不是导致完全失败。此外,最近还添加了一个自动重置机制,以进一步提高稳定性。其背后的想法是,如果 DKG 过程在某个时间段内未能完成,协调者/协调者会自动用新生成的包重置 DKG 过程,要求所有其他参与者也重新生成他们的份额。

DKG 相较于其他阈值签名机制的优势

Botanix 的 DKG 机制的另一个优势是它可以无缝接纳新协调者并优雅地退出参与者。例如,Pedersen DKG 和环签名要求所有参与者在初始设置期间都在场,他们进行握手——类似于一些 MPC 变体。在 Botanix 的情况下,如果某个协调者离开或下线,未来的多签名将简单地不包括他们。“顺序多签名”这个术语也暗示了,随着每个新多签名的形成,协调者的组成可以随时间变化。

随着 Botanix 逐步实现完全去中心化,DKG 变得更加关键:它消除了在移动到无权限协调者节点集时对受信任的经销商或预先建立的固定密钥的需求。因此,Botanix 中 DKG 的实施是 Spiderchain 安全性和去中心化的基础,使网络能够不断地动态形成 n-选- m 的签名组,而不必将私钥托付给任何单一方。

因此,一旦通过 DKG 轮次建立了协调者组的共享密钥,下一步是使用该密钥进行事务签名。这就是 FROST 发挥作用的地方。

Botanix Spiderchain 中的 FROST 签名

如上所述,FROST 在 DKG 之后产生。FROST 是一种专门的协议(最初源自 Chelsea Komlo 和 Ian Goldberg 的密码学 研究),通过要求最小的通信轮次和避免任何单一的失败点来优化史诺尔阈值签名。简单来说,FROST 允许 t 名参与者共同有效地生成对一条消息的有效史诺尔签名,该签名可以与该组的公钥进行验证——就像如果拥有完整私钥的单一方签署一样。这意味着,即使说有 12 个协调者需要共同签署一笔比特币交易,仅在链上会出现一个聚合签名,无法与单一方签名区分开来。

这意味着一旦获得共享密钥(DKG),协调者可以使用聚合的史诺尔签名来签署比特币交易,但比特币区块链并不知道有多个方参与了签署。这种聚合节省了区块空间并通过使阈值签名无法与其他更常见的支出类型区分开来增强了隐私。这种优雅的解决方案避免了列出多个公钥和签名所带来的高开销和费用,尤其是在需要 12 选 16 的传统比特币多签时。相反,FROST 将所有这些压缩为一个密钥和一个链上签名。

FROST 的工作原理概述:

  • 承诺轮次:每个 t 个签名的协调者选择一个随机 nonce,并与其他人分享对此 nonce 的承诺。如果使用协调者,则通常可以通过单一广播完成此操作,或通过逐一交换。

  • 签名轮次:在看到彼此的 nonce 承诺后,一个协调者(或预定义聚合器)计算一个挑战(使用该消息和所有签名者的公钥 nonce)并分享它。然后每个签名者使用他们的秘密密钥份额和他们的 nonce 生成一个部分签名。这些部分签名被收集并组合成最终的史诺尔签名。

FROST 在 Spiderchain 中的 peg-out 和 peg-in 过程中的工作原理:

该过程从用户的存款(peg-in)开始,此阶段不使用 FROST——它用于 peg-out。

  • peg-in 交易:
    1) 当新块协调者集的 DKG 完成后,计算出最终(“聚合”)公钥,可以用于推导比特币接收地址。
    2) 当用户存入 BTC(peg-in)时,他们将比特币发送到这个 Spiderchain 地址,它是一个由该块的协调者控制的阈值多签名。
    3) 此时不需要比特币签名,但这是操作的一个关键部分。FROST 本身在生成地址时并不需要(这由 DKG 处理),但在稍后花费这些资金时将是必需的(如下所述 peg-out)。

  • peg-out 交易——这里使用 FROST:
    1) 当用户从 Botanix 提取 BTC 回到比特币时,协调者组创建一笔比特币交易,支出一个 Spiderchain 多签名的 UTXO 并将 BTC 发送到用户的比特币地址。
    2) 由于这个 UTXO 是由阈值密钥(在该块的多签名协调者之间共享)控制的,因此这些协调者必须共同签署该交易。
    3) 生成的签名在多签名公钥下是有效的,并包含在比特币交易中,能够被广播和挖矿。

DKG 状态机 + FROST 机制与传统多签名(比特币和以太坊)的比较

在回顾 Botanix 机制的运作后,该机制结合了扩展的 DKG 过程与状态机和 FROST 的使用,让我们与其他多签名机制进行比较总结。与传统的比特币或以太坊多签名系统相比,这代表了一种显著更先进的方法:

  • 链上足迹:在比特币原生多签名(例如 P2WSH 或甚至 Taproot 脚本多签名)中,支出来自 m-选-n 多签名的交易通常包括所有 n 个公钥(或其哈希)以及至少 m 个不同的签名。这使得交易的大小(和费用)随着签名者数量的增加而增加。例如,15-选-15 的多签名必须揭示 15 个公钥和 15 个签名,这非常庞大。相比之下,Botanix 的阈值签名在链上始终以单个公钥和单个签名的形式出现,无论实际参与者有多少。这得益于聚合发生在链外,通过 FROST 实现。这在区块空间上节省了巨大的开支,允许大量的签名者而无需承担高昂的成本。在以太坊上,典型的多签名(如 Gnosis Safe)是一个验证多个 ECDSA 签名的智能合约。每个签名都是交易调用中的独立数据,因此随着签名者数量的增加,油费成本也会增加。通过使用阈值密码学,可以将此减少为一个签名验证,但以太坊并不原生支持史诺尔与 ECDSA,因此项目依赖于合约。Botanix 完全避开了这种开销,通过在协议层进行阈值密码学。

  • 隐私:传统的比特币多签名揭示了签署者的确切数量(在较旧的脚本版本中,甚至确切揭示了哪些人签署)。以太坊的多签名合约的事件也揭示了哪些地址批准了转账。在 Botanix 的阈值方法中,生成的链上交易即可与单一签字交易区分。这使得外部观察者无法判断 BTC 是由 5 方还是 50 方锁定的,也无法识别参与的验证者。他们所看到的只是一项有效的 Schnorr 签名(在理想情况下)的 Taproot 输出。这改善了可替代性和隐私。这与 Liquid 等联邦侧链形成鲜明的对比,后者使任何人能够看到使用了 11-选-15 的多签名(因为脚本或控制块揭示了这一点),或者与天真的比特币脚本一样,多个签名的存在显而易见。

  • 安全模型:比特币中的传统多签名假设每个签名者控制一个密钥,并且你信任其中一个阈值是诚实的。这是阈值密码学相同的假设。然而,阈值密码学消除了对任何单个设备或设置完整密钥的信任要求。在经典多签名中,通常有一个地址是所有参与者密钥的组合,但这些密钥是每个参与者单独生成的。多签名中也没有单一的妥协点(因为每个密钥是独立的),但是如果某个密钥被盗,攻击者仍然不能进行支出,除非他们得到足够的密钥。在像 FROST 这样的阈值方案中,如果被盗一份份额,攻击者的处境仍然相同(需要 t 份额)。所以从高层来看,对盗窃的安全性是相似的。但阈值方案在仪式和轮换方面具有优势:如果签署者的成员变化,普通比特币多签名将需要创建一个全新的地址,并生成新的脚本(并将资金转移到其中),而阈值设置可以简单地运行一个新的 DKG,以便在新成员之间重新分配密钥(或为新存款生成新密钥),而无需移动已被锁定的资金。Botanix 利用这一点通过每个区块的轮换多签名——这是用经典多签名手动执行不切实际的事情。在以太坊中,更改多签名合约的签署者是一项链上的管理员操作(费用高并且可能需要当前签署者的批准)。Botanix 的方法则是自然地通过 DKG 创建新密钥来吸纳新签署者。

  • 去中心化和无权限性:比特币 Liquid 侧链中使用的多签名是一种静态联合体(实体被选择并保持,直到协调更改)。该模型不允许无权限地添加签署者;这本质上是封闭的群体。类似地,以太坊中的流行多签名具有权限(你决定哪些地址是签署者)。Botanix 的阈值密码学结合其基于股份加权的随机选择,意味着任何满足质押要求的人都可以成为签名协调者并帮助控制资金。没有中央权威挑选多签名成员;这是由随机性和开放质押决定的。这相比传统多签名在去中心化的重大飞跃。它有效地将一个本该是联合保管模型的设计转变为一个去中心化、开放的验证者集模型(类似于权益证明链)——同时通过密码学保持安全性。换句话说,Botanix 的 DKG + FROST 使用将比特币的保管转变为去中心化共识问题,而不是静态的多签信任假设。

  • 操作复杂性:必须指出的是,阈值密码学(DKG 和 FROST)的实现复杂度高于基本的多签名脚本或合约。在运行协议并确保处理所有边缘情况时有开销。传统多签名的优点在于其简洁性(每方在准备好时只需签署交易,不需交互,除了收集签名)。然而,这种简单性的代价是链上的低效率和缺乏动态灵活性。Botanix 接受了额外的复杂性,以换取可伸缩性和去中心化的巨大收益。一旦在软件中实现,该复杂性在很大程度上对用户进行了抽象——从用户的角度来看,存款和提款是直接的,与联合 peg 的使用没有太大区别。但对于网络而言,幕后的密码学正在做更多的工作。Botanix 在测试网和联邦阶段的成功,证明了这些协议实际可行,随着项目推进到完全主网,它在大规模应用阈值加密方面开辟了新的方向。

总之,与传统的多签名设置相比,我们基于 DKG 和 FROST 的方法提供了更大的可扩展性(在签名者数量上)、更好的隐私和真正的去中心化,虽然增加了协议的复杂性。这代表了一种演变,类似于多签名本身是针对单一密钥保管的演变——现在阈值签名是相对于显式多签脚本的演变。这可能成为未来需要许多签署者或动态签署者集的比特币应用的模型。

此外,阈值密码学是我们无权限质押和去中心化验证者协调愿景的推动者。它使 Spiderchain 能够在没有集中保管人或固定联合体的情况下运作,这是早期比特币侧链所面临的挑战。结果,Spiderchain 可以从比特币的价值(因为验证者质押 BTC)中继承安全性,并从广泛的参与者池中获得去中心化,这一切都是通过分散信任来实现的。

结论

因此,在这篇文章中,我们从更为详细和复杂的过程深入探讨了 Spiderchain 的低层工作,从之前文章中的一般概述转变为更加细致的内容,乍一看可能同时显得非常简单而又复杂。Botanix 不仅仅采用现有的 DKG 和 FROST 协议;相反,它们被调整以适应真正去中心化系统的严峻条件。Botanix DKG 状态机增加了实用的鲁棒性,使 DKG 过程能够在高延迟或包丢失等现实世界网络条件下可靠运行。在这些密钥的基础上,FROST 为验证者提供了一种快速而高效的方法,共同签署交易,使阈值多签与来自比特币的单一签名一样便捷。

此外,在比特币上下文中有效地使用 DKG 和 FROST,可以为阈值密码学在区块链应用中的更广泛采用铺平道路。这种方法生动地表明,即使在没有任何变更或新的操作码的情况下,比特币也可以通过智能链外协议支持扩展功能,而不需要通过 BIP 进行重大或长期的修改。至于那些自称为 L2 的项目,通常意味着将任何证明上传到比特币作为 L1,Botanix 也提供了巧妙且简单的解决方案。这种方法不需要在追求将其打包进比特币区块中的少量空间时开发复杂且小的证明。它也不需要考虑比特币作为 L1 在此上下文中无法执行的以太坊智能合约所需的额外复杂和昂贵的计算。

最终,可以注意到,DKG 状态机和 FROST 不仅仅是理论概念,而是已经成为支撑 Spiderchain 架构的活跃组件。它们共同为比特币提供了一种新的交互形式,同时保留了其重要性——去中心化、高效和安全。这种方法与传统的多签名联合体显著不同,并扩展了阈值密码学可能的边界。相对比较简单且不需要复杂计算和昂贵硬件的新思路为去中心化金融开辟了新路径。