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?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《UE5_C++多人TPS完整教程》学习笔记6 ——《P7 在线会话控制(Online Sessions)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P7 在线会话控制(Online Sessions)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译者&…

【Jmeter】JDK及Jmeter的安装部署及简单配置

JDK的安装和环境变量配置 对于Linux、Mac和Windows系统,JDK的安装和环境变量配置方法略有不同。以下是针对这三种系统的详细步骤: 对于Linux系统: 下载适合Linux系统的JDK安装包,可以选择32位或64位的版本。 将JDK的安装包放置…

《UE5_C++多人TPS完整教程》学习笔记3 ——《P4 测试多人游戏(Testing Mutiplayer)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P4 测试多人游戏(Testing Mutiplayer)》 的学习笔记,该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版,UP主(也是译…

三、yolov8训练结果查看和模型预测

训练结果查看 1、在模型训练结束后,如下图所示,找到该文件夹。 2、然后找到weights文件夹中的best.pt文件,这就是该数据训练后的模型。 模型预测 1、在assets文件夹下创建FPC-2文件夹,放入一些同类FPC预测结果。 2、和训练…

中小学信息学奥赛CSP-J认证 CCF非专业级别软件能力认证-入门组初赛模拟题第一套(阅读程序题)

CCF认证CSP-J入门组模拟测试题 二、阅读程序题 (程序输入不超过数组或字符串定义的范围&#xff1b;除特殊说明外&#xff0c;判断题 1.5分&#xff0c;选择题3分&#xff0c;共计40分) 第一题 1 #include<iostream> 2 using namespace std; 3 int a,b,c; 4 int main…

【Linux】学习-进程信号

进程信号 信号入门 生活角度的信号 你在网上买了很多件商品,再等待不同商品快递的到来。但即便快递没有到来,你也知道快递来临时,你该怎么处理快递。也就是你能“识别快递”,也就是你意识里是知道如果这时候快递员送来了你的包裹,你知道该如何处理这些包裹当快递员到了你…

2.13 数组练习

1、选择题 1.1、若有定义语句&#xff1a;int a[3][6]; &#xff0c;按在内存中的存放顺序&#xff0c;a 数组的第10个元素是 B A&#xff09;a[0][4] B) a[1][3] C)a[0][3] D)a[1][4] 解析&#xff1a;二维数组在内存中是以行优先的方式存放的。这意味着首先填充第一行的…

读十堂极简人工智能课笔记01_人工智能简史

1. 2400年前 1.1. 希腊罗德岛 1.1.1. 是个神奇的岛屿&#xff0c;以机械发明著称&#xff0c;包括真人大小的、大理石制成的自动机 1.1.2. 早在罗马帝国诞生之前&#xff0c;公元前400多年的希腊就有这样的机器人技术&#xff0c;似乎不可思议 2. 公元前970到前931年 2.1.…

LeetCode:83和82.删除排序链表中的重复元素I,II

这两题算是链表的基础题&#xff0c;就遍历删除没啥特点&#xff0c; 83甚至不需要考虑第一个结点的特殊情况&#xff0c;属实是名副其实的easy了 LeetCode&#xff1a;21.合并两个有序链表之第一次的特殊情况-CSDN博客 83. 删除排序链表中的重复元素 - 力扣&#xff08;Lee…

controller-manager学习三部曲之三:deployment的controller启动分析

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 《controller-manager学习三部曲》完整链接 通过脚本文件寻找程序入口源码学习deployment的controller启动分析 本篇概览 本文是《controller-manager学习三…

【C++初阶】第三站:类和对象(中) -- 类的6个默认成员函数

目录 前言 类的6个默认成员函数 构造函数 概念 特性 析构函数 概念 特性 拷贝构造函数 概念 特征 赋值运算符重载 运算符重载 赋值运算符重载 const成员 const修饰类成员函数 取地址及const取地址操作符重载 本章总结&#xff1a; 前言 有时候我们写好了一个栈&#xff0c;头脑…

C#中implicit和explicit

理解: 使用等号代替构造函数调用的效果以类似重载操作符的形式定义用于类型转换的函数前者类型转换时候直接写等号赋值语法,后者要额外加目标类型的强制转换stirng str -> object o -> int a 可以 int a (int)(str as object)转换通过编译,但没有转换逻辑所以运行会报错…

《UE5_C++多人TPS完整教程》学习笔记14 ——《P15 创建我们自己的子系统(Creating Our Own Subsystem)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P15 创建我们自己的子系统&#xff08;Creating Our Own Subsystem&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&…

G85银昆高速宝鸡天台山隧道群荣获交通运输部科技示范工程,北京恒星科通隧道无线通信与广播系统应用于该项目

2023年9月12日&#xff0c;全国交通运输科技示范工程现场推进会在河南省平顶山市召开&#xff0c;会上为全国已通过验收的10项科技示范工程进行了授牌&#xff0c;其中由陕西交控集团负责实施的“秦岭天台山超长隧道群安全绿色科技示范工程”名列其中。 【授牌仪式现场】 据了解…

我让ChatGPT帮我钓妹子,它一口气撩了5000人

来自俄罗斯的一名AI开发者、社交平台TenChat的产品经理 AleksandrZhadan于1月30日在推特上发布了自己的婚讯&#xff0c;他将要与自己的女友Karina Imranovna在今年的8月结婚。令人震惊的是Aleksandr Zhadan介绍的认识女友的窍门-ChatGPT 帮他找到了另一半&#xff0c;并且通过…

vue-进阶语法(四)

目录 v-model原理 v-model应用于组件 sync修饰符 ref 和 $refs&#xff08;重点&#xff09; $nextTick v-model原理 原理&#xff1a;v-model本质上是一个语法糖。例如应用在输入框上&#xff0c;就是 value属性 和 input事件 的合写。 作用&#xff1a;提供数据的双向…

测试西门子博途S7-PLCSIM Advanced V5.0的使用

原创 honeytree 西门子博途S7-PLCSIM Advanced V5.0能支持S7-1500&#xff0c;S7-1500R/H&#xff0c;ET200SP&#xff0c;ET200pro的仿真&#xff0c;用此仿真器可以模拟实际的PLC&#xff0c;用于其他软件的连接&#xff0c;比如上位机软件、触摸屏软件,自己用高级语音开发…

VUE学习之路——列表渲染

<p v-for"item in items">{{ item }}</p>使用v-for进行列表的渲染。 这仅仅是一个简单的demo&#xff0c;使用v-for可以用来遍历数组和对象&#xff0c;具体如下&#xff1a; 注意&#xff1a;遍历数组或对象的时候&#xff0c;&#xff08;&#xff09;…

java客运管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java客运管理系统是一套完善的java web信息管理系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.0&#…

几个好用的 iphone 手机模板贴图样机

整理了几个好用的 iphone 手机模板贴图&#xff0c;分享一下。 关注订阅号「设计师工作日常」&#xff0c;发送关键词 iphone mockup ,获取下载链接。 [1] 原文阅读 我是 Just&#xff0c;这里是「设计师工作日常」&#xff0c;求点赞求关注&#xff01;