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

文章详细介绍了Clementine,一个基于BitVM的区块链项目,通过零知识证明实现的信任最小化双向桥。它通过轻节点证明、peg-in和peg-out机制,以及防止operator超额报销的设计,保证了系统的安全性。Clementine展示了如何在不依赖软分叉的前提下,显著减少信任需求,推动了区块链领域的创新。
摘要由CSDN通过智能技术生成

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
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值