1. 引言

主要参考:

  • Bitcoin Bridges: Cure or Curse?

2. 为何需关注Bitcoin bridge?

当前的Bitcoin bridge,其所谓bridge,实际是deposit:

在其它链上的BTC情况为:

尽管当前约有43.7万枚BTC在其它链上,但其去中心化程度不足0.3%。

3. Bitcoin bridge 101

Bitcoin bridge的目标是:

  • 将BTC存入某appchain(“application chain”)内
  • 在appchain内,将BTC用作某原生资产
  • 将BTC赎回到Bitcoin
  • 用户体验(UX,User Experience):与在中心化交易所内使用BTC一样
  • 安全性(Security):总是能拿回你的BTC

但是需注意:

  • 在Bitcoin和appchain上,二者的信任模型是有差异的
Bitcoin链上的BTC其它appchain上的BTC
所需资源?Bitcoin钱包Bitcoin钱包、appchain钱包、bridge BTC的方式
所需信任?Bitcoin网络是安全的、钱包未损坏Bitcoin网络是安全的、appchain网络是安全的、钱包未损坏、(可能是中心化的)bridge未损坏
如何检查?开源代码开源代码、中心化bridge的声誉

3.1 Wrapping

BTC仅存在于Bitcoin链上。

所谓Wrapping,是指:

  • 在另一条链上,创建1:1的BTC原生token表示。

在计算机科学属于中:

  • 获取某UTXO state的write lock,并确保在该write lock释放之前,在其它链上完成(applied)updates

3.2 为何bridge如此难?


这是一个好的、老的公平交易问题:

  • Alice有BTC,Bob有苹果,如何确保二者交易总是公平的?

在数字世界中,总是有某人先做动作,为确保所有情况下的100%公平性:

  • 需引入可信第三方

这与bridge的关系为:

  • Wrapping:将BTC,替换为,wrapped BTC
  • Unwrapping:将wrapped BTC,替换为,BTC

即,需有人在Bitcoin链上做BTC的锁定和解锁。

bridge的难点在于:

  • 如何确保在锁定的同时,同步,在appchain上mint wrapped BTC?即保证整个bridge操作的原子性。

bridge的挑战在于:

  • 选择合适的custodian(监护人)
    • 中心化实体
    • 委员会/联盟
    • 第三方网络的共识
    • 所关联链的共识

3.3 bridge最好情况:链共识

bridge最好情况:链共识,即继承目标链的安全性/去中心化。

如:

  • 以太坊,验证,Bitcoin SPV proof
  • Bitcoin,验证,以太坊SPV proof
  • 需有一个在线方负责relay proofs

但这需要引入新的Bitcoin opcode,来验证其它网络/系统的lock/unlock。

3.4 当今的BTC bridge:hard模式

希望能实现的目标为:

  • 根据其它链上的事件,来lock/unlock Bitcoin链上的BTC

问题在于:

  • Bitcoin链并不知道其它链上的事件。

因此,需要有人来处理BTC的lock/unlock。
当前大多数(中心化)BTC bridge的mint和redeem操作流程为:

但是,这样的中心化bridge,没有防盗/扣押/审查/丢失保护。

3.5 如何在不改变Bitcoin的情况下,实现去中心化bridge?


如何在不改变Bitcoin的情况下,实现去中心化bridge?
可采用如下措施:

  • 1)支持任何人成为operator/custodian。
  • 2)意识到情况更糟……则将BTC发送给网络上的随机用户。
  • 3)使用与Bitcoin相同的工具来解决:
    • 激励措施:operator锁定抵押
    • 惩罚:若operator行为不端,则slash抵押(且 补偿受害者)

如interBTC:

  • 1)任何人都可在interlay网络注册运行vaults,并存入抵押
  • 2)若用户锁定BTC,其锁定值应小于抵押值(即要求过度抵押)
  • 3)则interlay网络为用户mint iBTC。
  • 4)若用户想要赎回BTC,Good Vault情况下,则:
    • 用户先返还iBTC,
    • 然后Vault将BTC返还给用户,
    • Vault的抵押解锁
  • 5)若用户想要赎回BTC,Bad Vault情况下,则:
    • 用户先返还iBTC,
    • 然后Vault fails,
    • 用户被偿付(或,尝试不同的Vault)

其中,可采用如下方式来验证Bitcoin payment:【用于验证BTC锁定,以及BTC赎回完成】

  • 将Bitcoin light client (SPV) 作为智能合约部署
    • 可跟踪所有Bitcoin区块头
    • 可验证Bitcoin交易
  • 其安全模型为:若在Bitcoin主链上存在,则必须有效(与任何手机钱包一样)
  • 需有人负责持续更新该light client为最新

    总之,interBTC bridge中:
  • issuer为智能合约
  • 任何人可参与的,由Vaults组成的无需许可的网络
  • 作为安全保证,Vaults需过度抵押
  • 验证:SPV light client
  • 安全假设:总是能拿回BTC,或者被偿付。

    在此,忽略了:
  • 抵押管理和流动性
    • Vault抵押市值可能会下降
    • 与lending协议一样,会top up或被清算
  • 如何获得BTC报价?
    • 需要oracle
    • 可混合中心化交易所和去中心化交易所报价

还存在其它扩展:

  • Vault模式
    • Single key
    • Vault = multisig (plain, musig, MPC threshold sig,…)
    • Free for all vs pre-defined group vs one big Vault
  • 抵押类型及金额
    • Full / partial
    • Diversified (USDC, ETH,…) vs native token (risky)
  • 安全假设
    • Pessimistic / optimistic
  • 验证类型
    • Light client / 3rd party oracle / coinvote(共同投票)

4. 现有Bitcoin bridge方案对比

现有Bitcoin bridge方案对比为:

BTC保管/安全模型是否抵押?
RSK由第三方群体组成的多签
Stacks xBTC中心化第三方保管
Stacks sBTC由STX质押者组成的多签,会轮换是,但仅抵押STX token
tBTC v2由大量(50/100)第三方组成的多签,会轮换
Liquid由侧链(联盟系统)operators组成的多签。
Fedmint由mint(联盟系统)operators组成的多签。
CashuSingle Key,为mint(保管系统)operator。
Interlay iBTC由抵押过的第三方保管人组成的去中心化网络是(多种抵押物)

5. 其它bridge模式

5.1 miners强化的bridge

所谓miners强化的bridge,是指:

  • 由Bitcoin miners验证bridge,确保locking/unlocking处理正确。

如:

  • BIP300:基于很长一段时间,miners对peg-in和peg-out交易进行投票。
    • 缺点是:需要硬分叉

更多细节,可参看:

  • https://layertwolabs.com/(https://github.com/LayerTwo-Labs)

5.2 基于zkRollup实现的bridge

所谓基于zkRollup实现的bridge,是指:

  • Bitcoin通过检查cryptographic proof,来验证appchain上的lock/unlock是否正确。

如:

  • 将appchain上状态的验证编码为一个opcode。验证ZK proofs是非常高效的(创建ZK proofs是昂贵的)。
    • 缺点是:需要分叉
    • 需要ZK技术的成熟

更多细节,可参看:

  • Validity Rollups on Bitcoin(https://github.com/john-light/validity-rollups)

6. 总结

Bridge问题,等价为,安全保管问题。

Cure(治愈):

  • 更多应用场景和BTC使用,不对Bitcoin造成安全风险。
  • 若使用安全bridge,客观上比中心化交易所更安全。

Curse(诅咒):

  • 99%的BTC bridge是中心化的,且错误营销的
  • 去中心化很难,而且是有代价的(资本效率)
  • 其他链上增加手续费,而不是Bitcoin

6.1 走向非保管bridge

完全的non-custodial bridge是不可能的。
可能的是:为专有应用设置的non-custodial bridge。

如:

  • Lending:
    • 用户BTC与第三方多签管理
    • 仅当用户贷款时,第三方才能获得其BTC

具体实现方式为:

  • DLC(discrete log contracts):基于交易汇率,编码不同的outcomes。
  • 另一 第三方:oracle基于outcome签署交易(理想情况下,应使用“blind”盲签名)。

但是:

  • 这需要信任oracle。“但是”大多数去中心化的金融应用程序都是这样。

参考资料

[1] Interlay合伙人Alexei Zamyatin Bitcoin Bridges: Cure or Curse?