Clementine:Citrea的基于BitVM的信任最小化双向bridge

1. 引言

前序博客有:

Clementine:Citrea的基于BitVM的信任最小化双向bridge,开源代码实现见:

本文重点介绍Clementine的核心组件及其工作原理。

2. Clementine的核心组件

Clementine的核心组件有:

  • 轻节点proof
    • Bitcoin轻节点proof
    • Citrea轻节点proof
  • BitVM内的ZKP(Zero-knowledge Proof)Verifier

2.1 轻节点proof

Clementine的轻节点proof为recursive递归ZKP:

  • 基于Bitcoin,通过inclusion和soundness proofs,聚合Citrea proofs
  • 从而为Citrea轻节点和Bitcoin轻节点,生成单个简洁proof。
    该proof会输出Citrea和Bitcoin的多个identifiers标识符,其中最重要的标识符有:
    • “Citrea Withdrawal Merkle Root”:即L2出金记录
    • “Last Scanned Bitcoin Blockhash”:即监听到的最新L1区块记录

3. Clementine工作原理

Clementine:

  • 基于BitVM
  • 仅支持static size的UTXO的peg-in和peg-out
    • 为简化表示,假设只能支持正好1BTC的peg-in和peg-out

3.1 peg-in

为peg-in,用户将1BTC锁定到某UTXO,该UTXO的花费条件为:

  • N+1 of N+1多签:其中N-1 个verifiers,1个bridge operator和1个用户
  • 200个区块之后,用户自身签名

在锁定该UTXO之后,用户将下图所示交易的签名发送给verifiers。
在这里插入图片描述
一旦所有verifiers对上图交易签名,且该交易在Bitcoin上固化,用户锁定的资金将流向一个新的N-of-N多签。用户在L2,通过向L2 Citrea合约展示一个该交易的SPV proof,用户就可在L2 mint出其pegged BTC。同时,上图L1交易中,包含了一个L2 EVM地址,来确定该用户在L2 Citrea上的mint收款地址。

3.2 peg-out

为发起L2->L1取款,用户必须:

  • 将1 BTC转给L2 Citrea上某合约,同时指定一个Bitcoin地址。
  • 该收款Bitcoin地址会被作为新叶子节点,记录在 “Citrea Withdrawal Merkle tree”中。
  • 然后将该1 BTC在L2上burn掉。

此处为简化描述(但也不失通用性),假设:

  • 每个收款Bitcoin地址都是唯一的

在Bitcoin上,任何向指定Bitcoin地址做1 BTC的转账,都是有效取款。

3.3 避免Operator过度报销——Connector Source UTXO

Clementine需确保:

  • bridge Operator报销的金额,不得多于其垫付的取款
  • 否则,该bridge Operator将永远失去其bridge资金

当bridge Operator向Clementine发起报销时,其不得不使用Connector Source UTXO。为可访问Connector Source UTXO,bridge Operator必须诚实行事,即:

  • 1)其垫付了所有取款。
  • 2)其inscribe写下了足够多preimages,使其仅可报销所有取款金额等量的BTC。

Connector UTXO Trees为:

  • trees of UTXOs
  • bridge Operator用于证明其可报销,与其所垫付的取款等量的BTC

Clementine的Connector Source UTXO 和 Connector UTXO Trees 示意为:
在这里插入图片描述
每个Connector Source UTXO可被打开为a binary tree,该binary tree中:

  • 每个leaf为bridge Operator可拿走的每笔预签名deposit存款。
  • 每个节点的花费路径有:
    • 知悉某preimage
    • 或,7天时间锁 + bridge Operator签名

即,这意味着bridge Operator可确认可打开的leaf UTXOs数量,从而通过公开某些preimages,来表示可报销的bridge funds。

4. Clementine时间轴

Clementine时间轴为:
在这里插入图片描述
其中各阶段含义为:

  • 1)Light Client Cut-off:表示BitVM承诺来检查取款的区块高度。
    • Light Client Cut-off每6个月发生一次,并以相同的间隔持续进行。
  • 2)Commit period:bridge Operator的指定时间以满足剩余提款和记录preimages。
  • 3)K-deep assumption:确保最新固化Bitcoin区块的period。由于某Verifier可就最新区块的PoW发起挑战,bridge Operator应不能以不同的blockhash来做private fork。
  • 4)BitVM challenge response period:该期间,如有必要,Verifiers挑战bridge Operator,并发生交互验证游戏。在该阶段末期,仅有2个可能的结果:
    • Connector Source UTXO(s) 可被bridge Operator花费,使得bridge Operator可报销其所覆盖取款等量的BTC。
    • Connector Source UTXO(s) 与 BitVM response UTXO一起被burn掉,吊销了Operator对Clementine bridge资金的访问权限。

5. Clementine逻辑

Clementine中,bridge Operator,负责覆盖每笔取款,一旦:

  • 包含该取款的proof在Bitcoin上固化

每个period之后:

  • Operator通过在Bitcoin上公开 log ⁡ 2 ( n ) \log_2(n) log2(n)个preimages数量,来对其可从Clementine中报销的bridge funds进行commit。
  • 该bridge funds金额,等于自前一checkpoint以来,Operator所垫付的资金总量。

5.1 Operator对其可从Clementine中报销的bridge funds进行commit

基于效率考虑,Operator必须能对其可从Clementine中报销的bridge funds进行commit。该报销金额,必须与其垫付的金额一样。

以上binary transaction tree,使得可支持该commitment架构。该binary transaction tree中的每个UTXO,有2种花费路径:

  • 1)7天后Operator花费
  • 2)知道指定哈希的preimage的任何人都可花费

每个transaction output有仅Operator知悉的随机preimage。若Operator公开了某UTXO的preimage,则该transaction tree的该branch可被任何人burn掉。

  • 由于每个Clementine deposit都预签名为Operator可报销的leaf UTXOs,这样,Operator就无法在当前period再拿走那些资金。

对于具有M个leaf的binary tree,通过公开 log ⁡ 2 ( M ) \log_2(M) log2(M)个preimages,Operator可对其可报销的bridge funds资金量进行commit。

5.2 Guarding the Peg

在commit period结束之后,若发生如下情况,至少有一个诚实的Verifier可发起挑战:

  • 若Operator试图报销多于其垫付金额的BTC
  • 若Operator在该checkpoint之前,未能覆盖任何取款

Verifiers通过提供:

  • Bitcoin区块头
  • 和 直至该checkpoint的total proof

来发起挑战:

  • 若Operator的total PoW,远远高于,Verifier的PoW,则Operator赢。

  • 若Verifier的PoW足够,则表示该Verifier在正确的区块高度发起挑战,则Operator必须证明:

    • 其覆盖了所有取款
    • 其公开了匹配所覆盖取款的preimages

    为此,Operator提供证明了如下信息的单个ZK Proof:

    • Bitcoin Light Client Proof + Citrea Light Client Proof;
    • 取款的Bitcoin SPV (Simplified Payment Verification) Proofs;
    • Revealed Preimages的Bitcoin SPV Proofs。

    若Operator的ZK Proof失败,则Verifier可burn掉其connector source UTXO,即意味着:

    • Operator将永远会失去对该bridge funds的访问权限。

6. 结论

Citrea团队,通过Clementine,支持首个,由ZK proofs和BitVM赋能的,trust-minimized two-way peg机制。只要BitVM setup中有一个Verifier是诚实的,Clementine就是安全的。这表示了对现有开放和闭环联盟解决方案的大幅改进。Clementine的设计,与Citrea的trustless light client耦合,可在无需soft fork的情况下,将Citrea的two-way peg信任需求最小化。

参考资料

[1] Citrea团队2024年3月21日博客 Unveiling Clementine 🍊-Citrea’s BitVM Based Trust-Minimized Two-Way Peg Program

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值