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

基于BitVM的乐观 BTC bridge

1. 引言

前序博客:

  • 区块链互操作协议
  • Bitcoin Bridge:治愈还是诅咒?
  • BitVM:Bitcoin的链下合约

基于BitVM的乐观 BTC bridge:

  • Trust-minimized two-way peg 机制

在这里插入图片描述
在这里插入图片描述

BitVM BTC bridge背后的主要思想是:

  • 为比特币全节点创建仅使用比特币脚本来操作sidechain bridge program的方式,包括sidechain light client。虽然众所周知不可能创建像链上比特币合约这样的程序,但利用 BitVM 的防欺诈机制乐观地在链下执行侧链轻客户端(以及桥接程序的其余部分),仅用链上交易于执行挑战-响应游戏,允许诚实的参与者防止离线或恶意参与者的不诚实行为。
  • 侧链以智能合约的形式实现了等效的bridge program和比特币轻客户端。
    *(注意:需假设有足够的功能可用。或者,侧链也可通过类似 BitVM 的机制来实现bridge program。)

为了将 BTC 从比特币转移到侧链,“Depositor”将 BTC 发送到由 N 个成员组成的委员会(一个 Prover=“Operator”,N-1 个Verifiers=“Watchtowers”)控制的多重签名,作为BitVM setup的一部分,该委员会对bridge program进行commit。只要这些参与者中有一个是诚实的,存款就仍然安全,因为恶意的委员会成员将受到质疑,并且他们对 BTC 存款的访问权限将被删除。每当Depositor请求将Wrapped xBTC 兑换为 BTC 时,当前活跃的Operator都会验证链下侧链的状态,如果一切正确,则从她自己的余额中将 BTC 发送给用户,即将 BTC 付款给用户。然后,Operator要求从多重签名存款中报销已赎回的 BTC 金额。Watchtowers观察该过程并验证正确性。一旦Operator请求报销,若链下程序执行产生不同的结果,如Operator发送了错误的 BTC 金额或支付到错误的地址,那么 Watchtowers 可以在预定义的挑战期内发出链上挑战。若Operator未在预定义的超时期限内支付 BTC,Watchtowers 将挑战不活动状态(inactivity)。在这两种情况下,Watchtowers都会通过 BitVM 触发链上挑战-响应协议。在最坏的情况下,这个过程需要进行多次链上比特币交易,并导致Operator被从委员会中除名,并无法访问存入bridge中的比特币。然后,其中一个Watchtower被选为Operator并恢复bridge的运营。

  • 为确保Watchtowers有足够的动力来执行挑战(并支付最终的链上比特币交易费用),Operator以比特币作为抵押。
  • 同样,为了抑制虚假挑战,Watchtowers还必须存入抵押。

参考资料

[1] BitVM Sidechain Bridge

相关文章:

基于BitVM的乐观 BTC bridge

1. 引言 前序博客: 区块链互操作协议Bitcoin Bridge:治愈还是诅咒?BitVM:Bitcoin的链下合约 基于BitVM的乐观 BTC bridge: Trust-minimized two-way peg 机制 BitVM BTC bridge背后的主要思想是: 为比…...

谷歌浏览器安装扩展程序axure-chrome-extension

注: 文末附扩展附件:axure-chrome-extension_v0.7.0.crx 1、安装扩展程序axure-chrome-extension 找到axure-chrome-extension.crx,把axure-chrome-extension.crx后缀改为zip,然后解压,得到一个文件夹 2、打开谷歌浏览…...

C++学习:大小写转换

islower/isupper函数 islower和isupper是C标准库中的字符分类函数&#xff0c;用于检查一个字符是否为小写字母或大写字母。 islower和isupper函数需要包含头文件&#xff0c;也可用万能头文<bits/stdc.h>包含。 函数返回值为bool类型。 char ch1 A; char ch2 a;//…...

【王道数据结构】【chapter5树与二叉树】【P159t16】

试设计判断两棵二叉树是否相似的算法。所谓二叉树T1和T2相似&#xff0c;指的是T1和T2都是空的二叉树或都只有一个根节点&#xff1b;或者T1的左子树和T2的左子树是相似的&#xff0c;且T1的右子树和T2的右子树是相似的 #include <iostream> #include <stack> #inc…...

代码随想录算法训练营第51天 | 139.单词拆分 多重背包理论基础

单词拆分 这道题最后是判断能否组成&#xff0c;很像回溯法的问题形式&#xff0c;和分割回文串那道题比较类似&#xff0c;所以是可以用回溯法解决的&#xff0c;但是回溯法需要使用记忆化递归来避免超时。 class Solution{ public:bool backtracking(const string s, const …...

weilai8游戏爬虫

#!/usr/bin/python # -*- coding: UTF-8 -*- #!/usr/bin/python # -*- coding: UTF-8 -*- import os,csv import re import random import time import requests from lxml import etreefrom urllib.parse import quote, unquotepage98 sess requests.Session()#创建一个sessi…...

【Java程序设计】【C00261】基于Springboot的休闲娱乐代理售票系统(有论文)

基于Springboot的休闲娱乐代理售票系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的休闲娱乐代理售票系统 本系统分为系统功能模块、管理员功能模块以及用户功能模块。 系统功能模块&#xff1a;休闲娱乐代理…...

【Linux】学习-基础IO拓展篇

Linux基础IO拓展篇—详解文件系统 理解文件系统 在Linux基础IO篇中&#xff0c;我们站在用户的视角对文件进行了理解&#xff0c;主要是针对被打开的文件&#xff0c;那么有没有没有被打开的文件呢&#xff1f;当然有&#xff01;今天我们换个视角&#xff0c;来站在系统的角…...

算法详解(力扣141——环形链表系列)

博主ID&#xff1a;代码小豪 文章目录 环形链表环形链表的性质分析快慢指针法指针的追及相遇问题 环形链表&#xff08;2&#xff09; 环形链表 先来看看环形链表的原题&#xff1a; 中间的部分叙述有点繁杂&#xff0c;简单来概括就是&#xff0c;假如有一个节点&#xff0c…...

浅谈路由器交换结构

一、路由器技术概述 路由器&#xff08;Router&#xff09;是连接两个或多个网络的硬件设备&#xff0c;在网络间起网关的作用&#xff0c;是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。它能够理解不同的协议&#xff0c;例如某个局域网使用的以太网协议…...

Linux第51步_移植ST公司的linux内核第3步_添加修改设备树

1、设备树文件的路径 1)、创建linux中的设备树头文件 在“my_linux/linux-5.4.31/arch/arm/boot/dts/”目录中&#xff0c;以“stm32mp15xx-edx.dtsi”为蓝本&#xff0c;复制一份&#xff0c;并命名为 “stm32mp157d-atk.dtsi”&#xff0c;这就是我们开发板的设备树头文件。…...

【PyTorch】PyTorch中张量(Tensor)统计操作

PyTorch深度学习总结 第五章 PyTorch中张量(Tensor)统计操作 文章目录 PyTorch深度学习总结前言一、最值查找二、特殊值查询 前言 上文介绍了PyTorch中张量(Tensor)的计算操作&#xff0c;本文将介绍张量的统计操作。 一、最值查找 函数描述torch.max()找出张量中的最大值to…...

安卓游戏开发框架应用场景以及优劣分析

一、引言 在移动游戏开发领域&#xff0c;选择合适的开发框架是项目成功的关键因素之一。特别是对于安卓平台&#xff0c;由于其开放性和庞大的用户基础&#xff0c;不同的游戏开发框架应运而生&#xff0c;旨在帮助开发者高效地构建游戏应用。以下是一些流行的安卓游戏开发框架…...

单片机学习笔记---LCD1602

LCD1602介绍 LCD1602&#xff08;Liquid Crystal Display&#xff09;液晶显示屏是一种字符型液晶显示模块&#xff0c;可以显示ASCII码的标准字符和其它的一些内置特殊字符&#xff08;比如日文的片假名&#xff09;&#xff0c;还可以有8个自定义字符 显示容量&#xff1a;…...

django中实现适配器模式

在Django中实现适配器模式&#xff08;Adapter Pattern&#xff09;涉及到创建一个适配器类&#xff0c;它允许不兼容的接口之间进行交互。适配器模式通常用于将一个类的接口转换为另一个客户端期望的接口。 一&#xff1a;实现例子 下面是一个简单的例子&#xff0c;演示如何…...

题记(42)--EXCEL排序

目录 一、题目内容 二、输入描述 三、输出描述 四、输入输出示例 五、完整C语言代码 一、题目内容 Excel可以对一组纪录按任意指定列排序。现请你编写程序实现类似功能。 对每个测试用例&#xff0c;首先输出1行“Case i:”&#xff0c;其中 i 是测试用例的编号&#…...

【学网攻】 第(28)节 -- OSPF虚链路

系列文章目录 目录 系列文章目录 文章目录 前言 一、什么是OSPF虚链路&#xff1f; 二、实验 1.引入 实验目标 实验背景 技术原理 实验步骤 实验设备 实验拓扑图 实验配置 扩展 实验拓扑图 实验配置 实验验证 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻…...

百面嵌入式专栏(面试题)驱动开发面试题汇总1.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍驱动开发面试题 。 1、Linux驱动程序的功能是什么? 对设备初始化和释放。进行内核与硬件的数据交互。检测和处理设备出现的错误。2、内核程序中申请内存使用什么函数? 答案:kmalloc()、kzalloc()、vm…...

Starknet 的 JavaScript 库:Starknet.js、get-starknet和starknet-react

文章目录 Starknet 的 JavaScript 库Starknet.jsget-starknetstarknet-reactStarknet 的 JavaScript 库Starknet.js 官方:https://www.starknetjs.com/ Starknet.js 是一个与 Starknet 交互的 JavaScript 库,通常以脚本或去中心化形式进行交互应用程序。 Starknet.js 的灵感…...

debian11 安装 k8s,containerd ,阿里云镜像(已成功)

1. 环境准备 系统要求&#xff1a;至少 2GB RAM&#xff08;建议 4GB 或更多&#xff09;&#xff0c;网络连接。 节点准备&#xff1a;至少 3 台机器&#xff0c;1 台作为 Master 节点&#xff0c;2 台作为 Worker 节点。 安装sudo apt update apt install sudo设置主机名&a…...

无王无帝定乾坤,来自田间第一人 凰标为律正人心

无王无帝定乾坤&#xff0c;来自田间第一人。 世间最大的乱象&#xff0c;从来不止山河动荡、世道纷争&#xff0c;更是人心失序、良知蒙尘。一、旧世千年&#xff1a;王权为纲&#xff0c;律法为束旧制之弊具体表现规则来源由权贵制定&#xff0c;标准随权势偏移治理逻辑重压制…...

3个神奇步骤:用QRazyBox轻松修复任何损坏的二维码

3个神奇步骤&#xff1a;用QRazyBox轻松修复任何损坏的二维码 【免费下载链接】qrazybox QR Code Analysis and Recovery Toolkit 项目地址: https://gitcode.com/gh_mirrors/qr/qrazybox 你是否曾经遇到过这种情况&#xff1a;一张重要的二维码因为打印模糊、表面划伤或…...

FanControl终极指南:5步打造Windows电脑静音散热系统

FanControl终极指南&#xff1a;5步打造Windows电脑静音散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/…...

对比直接使用官方API通过聚合平台管理网站AI调用的体验

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接使用官方API与通过聚合平台管理网站AI调用的体验 作为一名网站开发者&#xff0c;在项目中集成大模型能力已成为常态。早期…...

JetBrains IDE试用期重置终极指南:三步实现无限开发体验

JetBrains IDE试用期重置终极指南&#xff1a;三步实现无限开发体验 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 还在为JetBrains IDE试用期到期而烦恼吗&#xff1f;ide-eval-resetter是你的理想解决方案&…...

Minecraft MASA模组汉化包:打破语言障碍的终极解决方案

Minecraft MASA模组汉化包&#xff1a;打破语言障碍的终极解决方案 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 还在为Minecraft中MASA模组的英文界面感到困扰吗&#xff1f;MASA模组…...

Claude Code 模型切换脚本 switch.sh 编写

背景 Claude code 使用不同模型&#xff0c;需要切换&#xff0c;之前手动切换重命名 setting.json 和环境变量修改&#xff0c;想着切换麻烦&#xff0c;编写个脚本吧&#xff0c;用 claude code 编写。基本流程是&#xff1a; 将 settings-model.json 复制为 settings-json。…...

基于Adafruit FunHouse与MQTT构建响应式智能家居传感节点

1. 项目概述&#xff1a;从零构建一个响应灵敏的智能家居传感节点如果你手头有一块像Adafruit FunHouse这样的开发板&#xff0c;上面集成了温湿度、气压传感器&#xff0c;还有几个物理按钮和滑块&#xff0c;你可能会想&#xff0c;怎么才能让它真正“活”起来&#xff0c;成…...

我终于把AI应用拆明白了:Agent、RAG、MCP

本文深入剖析AI应用开发的核心要素&#xff0c;指出仅靠强大的大模型&#xff08;LLM&#xff09;不足以构建实用的AI应用。文章详细阐述了Prompt、Skill、RAG、Tool、MCP、Agent等关键模块如何协同工作&#xff0c;使AI能够获取正确资料、调用外部工具、遵循固定流程并稳定交付…...

别再为485传感器没文档发愁了!一个USB转485模块+两款免费软件,5分钟搞定Modbus通信测试

5分钟极简方案&#xff1a;用USB转485模块与开源工具破解Modbus传感器通信 当你拿到一个没有文档的485温湿度传感器时&#xff0c;是否曾为如何读取数据而头疼&#xff1f;本文将分享一套经过实战验证的极简工具组合——仅需一个常见的USB转485转换器和两款免费软件&#xff0c…...