Bitcoin Bridge:治愈还是诅咒?

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?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/468216.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Spring Boot的美容院管理系统设计与实现,计算机毕业设计(带源码+论文)

源码获取地址: 码呢-一个专注于技术分享的博客平台一个专注于技术分享的博客平台,大家以共同学习,乐于分享,拥抱开源的价值观进行学习交流http://www.xmbiao.cn/resource-details/1757434902285987841

如何写好一个简历

如何编写求职简历 论Java程序员求职中简历的重要性 好简历的作用 在求职过程中,一份好的简历是非常重要的,它甚至可以直接决定能否被面试官认可。一份出色或者说是成功的个人简历,最根本的作用是能让看这份简历的人产生一定要见你的强烈愿…

代码随想录算法训练营第三十天 | 重新安排行程、N皇后、解数独

目录 重新安排行程N皇后解数独总结 LeetCode 332.重新安排行程 LeetCode 51. N皇后 LeetCode 37. 解数独 重新安排行程 给定一个机票的字符串二维数组 [from, to],子数组中的两个成员分别表示飞机出发和降落的机场地点,对该行程进行重新规划排序。所有…

【教程】MySQL数据库学习笔记(一)——认识与环境搭建(持续更新)

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【MySQL数据库学习】系列文章 第一章 《认识与环境搭建》 第二章 《数据类型》 文章目录 【MySQL数据库学习】系列文章一、认…

Vue+SpringBoot打造超市商品管理系统

目录 一、摘要1.1 简介1.2 项目录屏 二、研究内容2.1 数据中心模块2.2 超市区域模块2.3 超市货架模块2.4 商品类型模块2.5 商品档案模块 三、系统设计3.1 用例图3.2 时序图3.3 类图3.4 E-R图 四、系统实现4.1 登录4.2 注册4.3 主页4.4 超市区域管理4.5 超市货架管理4.6 商品类型…

GraphicsMagick 的 OpenCL 开发记录(结语)

所有代码及开发记录见:“gm-ocl”。

VueCLI核心知识1:ref属性、props配置、mixin混入

1 ref 属性 ref属性类似于js原生获取DOM元素 <template><div><h1 v-text"msg" ref"title"></h1><button click"showDom">点我输出上方的Dom元素</button><School ref"sch"></School>…

机器学习:数据集划分笔记

数据集划分是机器学习中非常关键的步骤&#xff0c;能直接影响模型的训练效果和泛化能力。它的主要目的是为了评估模型对新数据的泛化能力&#xff0c;即模型在未见过的数据上能表现良好。 数据集通常被划分为三个部分&#xff1a;训练集&#xff08;Training set&#xff09;、…

《剑指 Offer》专项突破版 - 面试题 44 : 二叉树中每层的最大值(两种方法 + C++ 实现)

目录 前言 一、只用一个队列 二、使用两个队列 前言 题目链接&#xff1a;LCR 044. 在每个树行中找最大值 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 输入一棵二叉树&#xff0c;请找出二叉树中每层的最大值。例如&#xff0c;输入下图中的二叉树&#x…

【网工】华为设备命令学习(综合实验一)

实验要求和实验成果如图所示。 LSW2不需要其他配置&#xff0c;其下就一台设备&#xff0c;不需要区分。 LSW3配置如下&#xff1a; <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]un in en //关闭系统提示信息 Info: Information …

Imgui(1) | 基于imgui-SFML改进自由落体小球

Imgui(1) | 基于imgui-SFML改进自由落体小球 0. 简介 使用 SFML 做2D图形渲染的同时&#xff0c;还想添加一个按钮之类的 GUI Widget, 需要用 Dear Imgui。由于 Imgui 对于2D图形渲染并没有提供类似 SFML 的 API, 结合它们两个使用是一个比较好的方法, 找到了 imgui-SFML 这个…

Java类加载

Java类加载机制是Java虚拟机&#xff08;JVM&#xff09;的一个核心组成部分&#xff0c;它负责将Java类从不同的数据源&#xff08;如本地文件系统、网络等&#xff09;加载到JVM中&#xff0c;并为之生成对应的java.lang.Class对象。理解Java类加载机制对于深入理解Java运行时…