概述

我们提出了一种新颖的方法,用于在主链和侧链之间构建无信任的双向桥梁。 通过永久停止侧链,即使在乐观的情况下,我们也不再需要严格的同步要求和长时间的退出延迟。而代之的是,只有在侧链暂停很长一段时间后才允许提款。 一旦停止了侧链,就可以通过流动性提供者网络使用原子交换立即提取资金以进行使用。 可以同时启动新的侧链,以终止旧的侧链以接受并开始处理掉期后的资金。

现有提案存在的问题

目前的侧链建议有几个问题,我们在这篇文章中解决。我们将在本节中讨论一些更常见的建议:

合并挖矿(Merge-Mined)侧链

合并挖矿涉及通过允许矿工同时开采两个或更多链条来重复使用工作量证明。这用于像Rootstock这样的系统,作为引导侧链启动的一种方式。

不幸的是,合并挖矿仅提供针对外部哈希率的安全性,而在一般情况下则不提供安全性。另外,它在任何情况下都无法实现不信任的双向资金桥梁(即在不信任第三方的情况下,将代币/代币从主链和侧链转移到主链和侧链)。

Federated Peg(联邦挂钩)侧链

federated peg联邦挂钩)实现主侧链之间的互相转账,通过多个集体构成的联盟共同监督和维护主侧链之间的转账。如果联盟的大多数成员未通过多重签名对此表示同意,则该联盟无法从侧链向主链释放资金。即使联盟不直接控制实际资金,用户也可以将其资金无限期地停留在侧链中,直到大多数人决定解锁资金为止。因此,用户应联邦的要求。

通常在主链的智能合约功能(例如比特币脚本)的表达能力不足时使用。为了有效地锁定和解锁侧链和主链之间的资金,需要在链上验证证明,这可能需要广泛的功能。这就是Liquid 1和Rootstock等系统的工作方式。

还有另一种称为Drivechain的2-way federated peg(双向联邦挂钩)系统,其中联邦是主链矿工的隐式子集。即使在这种情况下,加入联盟是未经许可的,我们仍然遇到与上段所述相同的问题,即大多数矿工可以任意窃取或锁定资金。

Plasma链

受早期CoinWitness的启发,Plasma Cash使用基于代币的数据模型(不同于比特币的UTXO数据模型或以太坊的账户数据模型)。这具有很好的功能,即侧链上的所有代币对主链都是已知的-类似于打开的通道。通过使用复杂的退出博弈来维护不信任的双向挂钩,无论在侧链上发生什么情况(包括操作员扣留区块或产生无效区块),都必须维护该挂钩,这是维持双向交易所必需的。

这些退出游戏产生的问题是它们是交互式的,必须在一个实时的、不断变化的侧链上执行。因此他们需要考虑用过的代币和无效支出的可能的欺诈性退出,这最终阻止了监视塔的有效使用,并要求用户持有状态(代币历史)。这迫使用户进入严格的同步要求,并要求每个用户运行一个完整的节点。

停止的双向桥接

假设与要求

这篇文章使用了“侧链”一词,尽管它可以等效地替换为“具有延迟状态执行的执行环境”,我们将在后面的文章中介绍。

资金通过单向桥存入侧链(即资金被锁定在合约中,没有立即取回的方式)。侧链上的执行按正常情况进行。尽管我们要求侧链区块标头在链上可用,并且对无效区块和不可用数据都提供解决方案,但这种方式通常是正向的。无效的数据区块可以通过有效性证明或欺诈证明解决(尽管首选欺诈证明),而不可用的数据可以通过按请求始终将所有数据作为调用数据发布在链上或通过使用非交互式链上数据可用性证明来解决

任何数据模型都可用于侧链,包括UTXO数据模型(如比特币),账户数据模型(如以太坊)或基于代币的数据模型(如Plasma Cash实际上这里提出的方案可用于增强Plasma结构)。执行模型还可以通过任意断言和程序扩展到广义状态执行。

双向桥接

我们注意到,侧链退出游戏的复杂性、成本和安全假设的大部分允许无可信的双向桥(即Plasma)源于这样一个事实,即在每一个退出尝试中,通过永久性的、在非常紧迫的时间窗口内,必须执行有效性。这使得这些方案特别容易受到链拥塞攻击,并且大大限制了它们的安全容量。

我们可以通过简单地拒绝提款来减少这种复杂性,直到侧链已经停止并且足够长的时间已经过去(比如,几个月或一个系统参数)。在此之前,任何人都可以发布欺诈证明或数据不可用证明来使任何数量的侧链区块失效。

停止侧链

现在最大的悬而未决的问题是“谁来决定何时停止侧链?”多重签名联合会可能具有过多的控制权或者可能永远不会停止。基于权益的投票是可操纵的,也可能导致侧链永不停止。

事实证明,最简单的答案是最优雅的:侧链在预定数量的固定块之后简单地停止。这也具有阻止侧链僵化的良好效果:用户将撤回资金,然后将其存入新的侧链中,这可能会改善规格或减少安全漏洞。可以在钱包级别将其抽象出来,因此不是一个重要的UX阻止程序。

快速提款:流动性提供者

为了避免提款延迟,流动性提供者可以通过原子交换购买侧链上的资金所有权。这与为Plasma提议的代币化快速退出类似,尽管没有资金被提取。流动性提供者将承担欺诈和资本锁定成本的相关风险,并将其转移给用户以获取利润以换取流动性。但是通过运行侧链完整节点,他们将能够对基础资产的有效性充满信心地进行购买。

快速提款只需要一个流动性提供者,而无需执行无信任的双向桥梁。成为流动性提供者只需要提供流动资金而无其他许可。激励流动性提供者以确保他们交换有效资金,并因此通过任何必要手段确保与之交换的侧链技巧有效。

快速恢复:跨侧链发生

尽管现在我们有了让用户能够通过流动性提供商迅速提取其资金以使用的方法,但用户资金现在已处于主链上,这速度可能会很慢,昂贵,拥挤,或者涉及昂贵的gas费用。为了解决这个问题,我们可以在旧的侧链停止后立即启动一个新的侧链,可能会使用新规则(类似于硬分叉)。

新的侧链可以立即接受存款,因此用户可以从旧的侧链进行原子交换资金,然后将其无缝地存入新的侧链(具有UI集成)。在旧的侧链经过很长时间发布欺诈证明之后,新的侧链也可以接受批量取款到存款。

借助正确的钱包集成和无许可的流动性提供商网络,几乎在所有情况下,这都使用户甚至不知道自己使用的是特定的侧链情况下进行资金转移。

本文转载公众号:区块链研究实验室,专注区块链技术,产品社群,经济模型等全方位的知识体系输出,为大家带来不一样的社群学习体验。欢迎加入作者微信社群:csschan1120

区块链研究实验室|构建主链与侧链之间无信任的双向桥接网络相关推荐

  1. 向别人网页注入js_区块链研究实验室 | Web3 .js基于以太坊的Javascript API

    web3.js是一个库集合,你可以使用HTTP或IPC连接本地或远程以太它节点进行交互. web3的JavaScript库能够与以太坊区块链交互. 它可以检索用户帐户,发送交易,与智能合约交互等. V ...

  2. [区块链研究实验室]区块链之工作量证明(POW)

    比特币网络是公开的,因此共识协议的稳定性和防攻击性十分关键. 比特币区块链采用了 Proof of Work(PoW)的机制来实现共识,该机制于 1998 年在 B-money 设计中提出. 目前,P ...

  3. 区块链研究实验室|比较两个革命性的网络:闪电网络和互联网世界

    从亚里斯多德(公元前4世纪)到康德(公元18世纪)的几乎每一个认识论者都同意,我们通过对世界事物进行分类和比较来学习. 苹果和橘子可以相比吗?  问题不是它们是否可以比较,而是我们可以从比较中学到什么 ...

  4. android区块链 钱包_区块链研究实验室|从Android调用区块链智能合约

    本教程将展示如何直接从Android开发环境-Android Studio中调用智能合约. 环境要求 我们将使用Tezos区块链.为了使我们的Android java代码与现有的.部署的智能合约交互, ...

  5. mysql 事件_区块链研究实验室 | 使用MySQL存储以太坊事件

    在本文中,我将演示一种缓存以太坊事件的简单方法.我只想说,通常我们将事务用于链下操作,例如跟踪令牌的传输或检索特定事务的筛选列表,就像一个SQL查询一样. 假设我们想要创建一个跟踪令牌传输的网站,Et ...

  6. 区块链可扩展性的那些技术:侧链、分片、DAG ,子链!

    如果你经常浏览区块链相关的信息,你一定知道比特币交易开始变得拥堵,在社区中对于是扩容还是侧链的讨论喋喋不休.你肯定也知道就连以太坊也因<CryptoKitties>这款养猫游戏没能逃掉网络 ...

  7. 知道创宇区块链安全实验室|Ronin 安全事件分析

    前言 Ronin 是新加坡游戏工作室 Sky Mavis 开发的,是为支持游戏 Axie Infinity 而构建的以太坊侧链,使得用户能够自由地将资产转移到其他链上. 北京时间2022年3月29日, ...

  8. 初识区块链——用JS构建你自己的区块链

    初识区块链--用JS构建你自己的区块链 区块链太复杂,那我们就讲点简单的.用JS来构建你自己的区块链系统,寥寥几行代码就可以说明区块链的底层数据结构.POW挖矿思想和交易过程等.当然了,真实的场景远远 ...

  9. 01区块链研究的最新进展理论、建模和工具

    主流区块链平台 比特币        区块链被视为执行第一个数字加密货币的区块链系统,它建立在以下两种主要技术上:Nakamoto Consensus 和 UTXO Model 以太坊         ...

最新文章

  1. 360数据处理平台的架构演进及优化实践
  2. cm 怎么限制hue数据下载_0724-6.2.0-CM接管rpm方式安装的无CM的CDH集群-2
  3. 【Linux】一步一步学Linux——nice命令(127)
  4. Kaggle 发布首份数据科学从业报告 | 不及美国同行1/3,中国数据科学家平均年薪约3万美元
  5. Ajax基本案例详解之$.ajax的实现
  6. 操作系统课设之简单 shell 命令行解释器的设计与实现
  7. linux--安装完qt出现 /usr/bin/ld: error: cannot find -lGL错误
  8. mysql意外关机_MySQL服务器意外关机-无法启动多实例
  9. 老男孩linux高级架构 百度云盘下载
  10. 2019-06-19 阿里巴巴三面
  11. deepin安装Oracle jdk8,以及添加add-apt-repository命令支持
  12. 网络安全实验4 SQL注入攻击
  13. NAT配置正确,但不能ping通外网的原因
  14. radio后台数据回显
  15. 禁用Windows Defender Antivirus Service
  16. [Java练习] 学生查询系统
  17. 专精特新小巨人企业是什么
  18. 计算机中心英语怎么说,计算机中心,computer center,音标,读音,翻译,英文例句,英语词典...
  19. 详细说明如何在pycharm不联网的情况下,离线安装第三方库及依赖包(如sklearn)
  20. debian10 安装jdk8

热门文章

  1. 新书终于快好了,我为她配了本画册
  2. scratch小课堂——接球
  3. Dsx-5000线缆测试仪的基本功能
  4. SQL Server error '80040e14'的处理
  5. codevs 1154 能量项链
  6. 【python】推箱子
  7. PS模块常用表和表间关联关系-PROJ/PRPS
  8. 国内外著名IT公司技术岗位要求
  9. 三防工业平板电脑搭载大容量聚合物锂电池,满足全天候移动式作业
  10. 转发与重定向是什么?有什么区别