当前位置: 首页 > news >正文

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?

相关文章:

Bitcoin Bridge:治愈还是诅咒?

1. 引言 主要参考: Bitcoin Bridges: Cure or Curse? 2. 为何需关注Bitcoin bridge? 当前的Bitcoin bridge,其所谓bridge,实际是deposit: 在其它链上的BTC情况为: 尽管当前约有43.7万枚BTC在其它链上…...

Netty应用(七) 之 Handler Netty服务端编程总结

目录 15.Handler 15.1 handler的分类 15.1.1 按照方向划分 15.1.2 handler的结构 15.2 输入方向ChannelInboundHandlerAdapter 15.2.1 输出方向Handler的顺序 15.2.2 多个输入方向Handler之间的数据传递 15.2.2.1 handler消失了 15.2.2.2 手动编写netty提供的new Strin…...

LeetCode、1268. 搜索推荐系统【中等,前缀树+优先队列、排序+前缀匹配】

文章目录 前言LeetCode、1268. 搜索推荐系统【中等,前缀树优先队列、排序前缀匹配】题目类型及分类思路API调用(排序前缀匹配)前缀树优先队列 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创…...

计算机视觉基础:矩阵运算

矩阵及其表示方式 一个矩阵是由行(row)和列(column)组成的一个矩形数组,通常包含数字。我们可以用大写字母(如 A、B)来表示一个矩阵。例如,矩阵 A 可能看起来像这样: A [ a11 a12 a13 ][ a21 a22 a23 ][ a31 a32 a3…...

Gateway中Spring Security6统一处理CORS

文章目录 一、起因二、解决方法 一、起因 使用了gateway微服务作为整体的网关,并且整合了Spring Security6;还有一个system微服务,作为被请求的资源,当浏览器向gateway发送请求,请求system资源时,遇到CORS…...

突破编程_C++_基础教程(输入、输出与文件)

1 流和缓冲区 C中,流( stream )和缓冲区( buffer )是两个紧密相关的概念,它们在处理输入和输出时起着重要的作用。 流( Stream ) 流是一种抽象的概念,用于表示数据的流动…...

UE的 HUD 类中的必备方法和属性

在屏幕上绘制的方法 1. DrawText() DrawText() 方法允许开发者在屏幕上渲染文本。参数包括文本内容、位置、颜色、字体、缩放等。 void DrawText(const FString& Text, const FLinearColor& TextColor, float ScreenX, float ScreenY, UFont* Font, float Scale 1.…...

单片机的认识

单片机的定义 先简单理解为: 在一片集成电路芯片上集成了微处理器(CPU )存储器(ROM和RAM)、I/O 接口电路,构成单芯片微型计算机,即为单片机。 把组成微型计算机的控制器、运算器、存储器、输…...

转发:udig安装 用来为geoserver上shp地图配置显示样式 颜色

下载udig,解压缩 这东东是基于eclipse的,需要Java JRE 把 JDK 1.8 里面的jre目录拷贝到 udig目录下面 udig下载、安装及汉化,简单生成geoserver图层样式sld-CSDN博客...

Linux--常用命令(详解)

详细目录 一、终端命令格式二、显示文件列表命令-ls2.1作用2.2格式2.3 ls常用选项2.3.1 ls -a2.3.2 ls -l(等价于 ll)2.3.2 ls -h 三、相对路径与绝对路径3.1绝对路径3.2相对路径 四、目录操作命令 -cd4.1作用4.2格式4.3案例4.3.1 cd -: 返回上一次所在目录4.3.2 cd…...

SouthLeetCode-打卡24年02月第1周

SouthLeetCode-打卡24年02月第1周 // Date : 2024/02/01 ~ 2024/02/04 034.合并两个有序链表 (1) 题目描述 034#LeetCode.21.#北岸计划2024/02/01 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给定的两个链表的所有节点组成的。 (2) 题解代码 cla…...

vscode的cmake工具小三角符号旁边没有目标的解决方法

vscode里面写了个项目,找了半天没办法用cmake调试,最后发现是cmake里面的set(CMAKE_BUILD_TYPE Release)导致的,都是release模式了当然不能调试了;改成Debug就行了 参考:https://stackoverflow.com/questions/7549672…...

Servlet JSP-Eclipse安装配置Maven插件

Maven 是一款比较常用的 Java 开发拓展包,它相当于一个全自动 jar 包管理器,会导入用户开发时需要使用的相应 jar 包。使用 Maven 开发 Java 程序,可以极大提升开发者的开发效率。下面我就跟大家介绍一下如何在 Eclipse 里安装和配置 Maven 插…...

os模块

os 模块是 Python 中用于与操作系统进行交互的标准库之一。它提供了许多函数来执行文件和目录操作,管理进程以及与操作系统交互的其他功能。 下面是一些 os 模块中常用的函数和功能: 文件和目录操作: os.getcwd(): 返回当前工作目录的路径。…...

【C语言进阶】深度剖析数据在内存中的存储--上

1. C语言中的数据类型的简单介绍 注:C99标准里面,定义了bool类型变量。这时,只要引入头文件stdbool.h ,就能在C语言里面正常使用bool类型。 1.1 在C语言中各类型所占内存空间的大小如下 char类型的数据类型大小为1字节即8比特位。…...

【doghead】VS2022 win11 安装配置WSL2 以编译linux端的cmake项目并运行2

【bifrost】VS2022 win11 安装配置WSL2 以编译linux端的cmake项目并运行1 完成了WSL2的安装。13900K 的电脑安装了ubuntu22.04构建中出现了一些问题,fix了。发现libuv 似乎不识别,认为是libuv.so ,无法让worker识别到uv 从而没构建。干脆单独构建好了,官方的脚本如此:而且…...

【教程】C++语言基础学习笔记(七)——Array数组

写在前面: 如果文章对你有帮助,记得点赞关注加收藏一波,利于以后需要的时候复习,多谢支持! 【C语言基础学习】系列文章 第一章 《项目与程序结构》 第二章 《数据类型》 第三章 《运算符》 第四章 《流程控制》 第五章…...

BUGKU-WEB GET

题目描述 没有提示,就一个get,启动场景看看: 解题思路 显然是PHP语言解读分析代码吧写出你的payload 相关工具 略 解题步骤 进入场景分析代码 $what$_GET[what]; echo $what; if($whatflag) echo flag{****};前两句:使用get…...

蓝桥杯每日一题----唯一分解定理

唯一分解定理 1.内容 任何一个大于1的整数n都可以分解成若干个质数的连乘积,如果不计各个质数的顺序,那么这种分解是惟一的,即若n>1,则有 n ∏ p i j n\prod{p^j_i} n∏pij​ 这里的 p i p_i pi​是质数。可以进行简单证明…...

openssl3.2 - osslsigncode工程的学习

文章目录 openssl3.2 - osslsigncode工程的学习概述笔记工程库地址工程的编译osslsigncodeM工程文件列表osslsigncodeM工程搭建细节原始工程实现的改动自己封装的包含openssl和curl的实现osslsigncodeM工程命令行的用法备注 - VS2019调试环境备注 - 如果要单步openssl的API学学…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!

5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...

linux 下常用变更-8

1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践

作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来,一直在光谱成像领域深度钻研和发展,始终致力于研发高性能、高可靠性的光谱成像相机,为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

SpringAI实战:ChatModel智能对话全解

一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM&#xff0…...

Python实现简单音频数据压缩与解压算法

Python实现简单音频数据压缩与解压算法 引言 在音频数据处理中,压缩算法是降低存储成本和传输效率的关键技术。Python作为一门灵活且功能强大的编程语言,提供了丰富的库和工具来实现音频数据的压缩与解压。本文将通过一个简单的音频数据压缩与解压算法…...