Polkadot <> Kusama 桥:打造无信任互操作性的开创性范例

在这里插入图片描述

原文:https://www.parity.io/blog/trustless-interoperability

作者:Adrian Catangiu|Rust 区块链核心工程师,Parity Technologies

编译:OneBlock+

在这里插入图片描述

Polkadot <> Kusama 桥是无信任互操作性的开创性范例。本文深入探讨了该桥的功能、演变过程,并展望了其对区块链整体潜在的广泛影响。

自区块链技术诞生以来,不同网络之间的互操作性和高效资产转移一直亟待解决的关键问题。Polkadot <> Kusama 桥是第一个以信任方式实现这一点的桥梁,为区块链世界的发展带来了无限可能。

这个「桥」的旅程始于早期在两个以太坊 PoA(权威证明)链之间启用消息交换的尝试。2019 年 11 月,重点转向在使用 Polkadot SDK(当时称为 Substrate)构建的链与其他 PoA 链之间建立桥梁,这项工作由 Parity Technologies 牵头。

在面对各种挑战后,团队决定再次转向,开发连接两个使用 Polkadot-SDK(Substrate)构建的链的桥梁。平行链和 XCM(跨共识消息)在 2022 年和 2023 年期间被开发并部署到 Kusama 和 Polkadot 网络。

同时,「桥」从基于中继链的方式演变为基于平行链的模型,自定义执行协议被 XCM 功能取代。最终结果是一个非托管、信任的、去中心化的「桥」,扩展了 XCM 程序在生态系统中的应用范围。

什么是 Polkadot Bridge Hub?

Bridge Hub 是 Polkadot 和 Kusama 生态系统中的一个专门系统平行链,专门用于促进「桥」之间的操作。它作为各种「桥」之间活动的中央节点或枢纽,是 Polkadot 构想的互联区块链网络基础设施的重要组成部分。

核心功能

1、消息处理: Bridge Hub 负责管理「桥」操作中的入站和出站消息。它可以处理并准备这些消息,确保它们在不同连接的区块链之间得到正确处理和传输。

2、托管桥梁组件: 系统平行链在其运行环境中托管所有必需的「桥」组件。这些组件包括消息组件、平行链证明组件、Grandpa 轻客户端、BEEFY 轻客户端等,这些都是「桥」功能的核心。

3、治理和所有权: 作为系统链,Polkadot 和 Kusama 生态系统中的多个「桥」由生态系统的治理系统托管和拥有。这确保了民主化、去中心化、信任和安全的「桥」操作管理方式。

Bridge Hub 遵循 Polkadot 的去中心化和信任原则,消除了对可信第三方中介或参与者的需求,使「桥」操作更加安全可靠。

Polkadot <> Kusama 桥现已上线!现在有一个漏洞赏金计划,任何能够识别问题的人都可以参与,一旦修正,将最大限度地提高「桥」的稳定性。此外,它为开发人员提供了灵活性。作为 Polkadot 上「桥」操作的标准化平台,Bridge Hub 允许开发者创建和实现跨共识应用程序,而无需使用专门的功能,只需使用 XCM 协议。

Bridge Hub 的设计注重可扩展性和效率,确保「桥」能够无缝处理多区块链网络之间的大量交易和交互。

在这里插入图片描述

BUG Bounty

在区块链技术中,「桥」已成为连接不同区块链生态系统的重要组件。作为一种概念,「桥」使数据、资产等在多条链之间进行转移成为可能。然而,由于其关键角色和高交易量,「桥」同时也成为恶意活动的热点。一旦被利用,这些漏洞可能导致巨大的财务损失。详细的风险评估详见 Polkadot/Kusama 桥威胁模型。

BUG Bounty 的范围有哪些?
Parity Bridges Common 是构建「桥」的组件集合,如用于同步消息头的 Substrate 组件、传递任意消息的组件以及用于构建中继器以提供跨链通信功能的库。

Bridges Common:

https://github.com/paritytech/parity-bridges-common

https://github.com/paritytech/polkadot-sdk/tree/master/bridges

XCM 和 BridgesHub:

https://github.com/paritytech/polkadot-sdk/tree/master/cumulus/parachains/runtimes/bridge-hubs

https://github.com/polkadot-fellows/runtimes/tree/main/system-parachains/bridge-hubs

什么是好的 BUG 提交?
提供有效的概念验证(或等效证据)——假设你的研究没有产生不可恢复的变化。这有助于官方评估你的提交是否在计划范围内并且在可能的攻击中可用。包括你对潜在影响和可能攻击场景的设想,包括所需的攻击条件。

漏洞必须是原创的且未被报告过(在公共问题或内部审核中没有报告痕迹),但请附上你在发现或引入漏洞时所引用的问题或 PR 链接。

如何获取报酬?
符合奖励资格的漏洞猎手需要进行 KYC 以证明其身份。漏洞猎手需要签署奖励信。有关付款时间和更多详细信息将会在信中详细说明,官方会请求一个 DOT/KSM 地址以发送奖励。

提交你的发现!
将你的发现仅发送到以下电子邮件地址 bridgesbugbounty@polkadot.network,请确保仔细检查“什么是好的提交?”部分以避免提交被拒绝。你可以随时查看链上公投文档以了解有关该计划及其动态的更多详细信息。

💰 查看 BUG Bounty 详情:https://polkadot.network/development/bridges-bug-bounty/

📑 查看 Proposal 文档:https://docs.google.com/document/d/1j-Nb7FYgSJpChgbvkbkHCM_dsjENhrh4Vqc4rNsmNGY/edit#heading=h.v6is2ta0txr1

免责声明:

OneBlock+ 社区仅做 BUG Bounty 科普与介绍,具体规则与奖励由 Polkadot 和 Kusama 社区官方完全决定。

传输层如何工作

传输层是 Polkadot <> Kusama 桥的重要组成部分,旨在处理两个不同区块链网络之间安全和信任消息传递的复杂性。

在这里插入图片描述

主要功能和特点

1、高安全性和低级实现: 传输层强调高安全性,并在系统内以低级实现。它负责将一侧桥接到另一侧,依赖最终性(finality proofs)证明和轻客户端验证(light client verification),以确保消息的真实性和可信度。

2、轻客户端的实现: 链上轻客户端用于使桥的一侧信任地跟随另一侧的最终性共识,从而允许其在不复制其整个状态的情况下“导入”另一侧的消息头(headers)。

3、处理平行链头和消息/状态验证: 传输层通过使用加密存储证明对导入的消息头进行验证,从而允许信任地同步另一侧的平行链消息头。

4、信任消息传递: 该层负责在 Polkadot Bridge Hub 和 Kusama Bridge Hub 之间进行信任消息传递。它使用加密存储证明对发送者平行链消息头进行验证来认证消息。消息由无许可、去中心化的中继者(relayers)传递。

5、对用户和开发者透明: 尽管技术复杂,传输层设计为对终端用户和开发者透明。此方法通过抽象底层技术过程,增强了用户体验,使「桥」更易于使用。

6、支持多种状态传输类型: 尽管主要集中于消息传递,传输层可以传输多种类型的状态信息。这种灵活性使其能够比简单的资产转移支持更广泛的用例。

Polkadot <> Kusama 桥执行/Dapp 层

Dapp 层,也称为跨共识 XCM 程序层,是 Polkadot <> Kusama 桥的重要组成部分,因为它使去中心化应用程序能够在 Polkadot 和 Kusama 生态系统内的不同区块链网络之间运行。

在这里插入图片描述

应用层专为处理跨共识应用程序而设计,可以处理资产转移或任意 XCM 程序的执行。其功能包括:

1、区块链兼容性: 它可以与各种区块链的数据交互,无论其底层共识机制或特定链特性如何,这将允许广泛的互操作性用例。

2、开发者灵活性: 应用程序可以无需针对每个区块链定制的专门功能,从而极大地简化了跨链应用程序的开发过程。

3、用户和开发者透明: 应用层设计为对用户和开发者透明。它抽象了跨链通信的复杂性,为与跨多个区块链运行的去中心化应用程序交互提供了更用户友好的界面。

应用层在低级传输协议和终端用户应用程序之间起桥梁作用。它将数据转换为区块链上的具有可操作性的操作,从而实现跨链数据在去中心化应用程序中的实际使用。

桥上的资产转移

Polkadot <> Kusama 资产转移用例展示了资产如何在 Polkadot 和 Kusama 网络之间无缝转移。该用例是桥梁旨在实现的互操作性的实际应用,使资产在这两个不同的区块链生态系统之间流动。

该桥展示了一种促进安全、信任和高效跨链交易的方式。它不仅增强了 Polkadot 和 Kusama 网络的功能,还为更广泛的区块链生态系统中的类似互操作性用例开创了先例。

结论

Polkadot <> Kusama 桥代表了区块链技术的一个重要进步,生动展示了信任、去中心化和无许可互操作性的实际应用。通过其复杂的层次和组件,该桥实现了无缝互信的区块链生态系统的愿景。

从早期连接以太坊 PoA 链到利用跨共识消息(XCM)协议的复杂系统的发展历程,是区块链开发创新精神的见证。

Polkadot <> Kusama 桥的意义不仅限于其当前功能。它为未来的区块链开发设定了先例,突显了更复杂和集成的区块链应用的潜力。开发过程中面临的挑战和考虑为用户和开发者提供了宝贵的见解,有助于区块链技术中关于可扩展性、安全性和用户体验的持续讨论。

展望未来,Polkadot <> Kusama 桥不仅作为一个成功的项目存在,更作为区块链领域可能性的灯塔。其对推进区块链信任和安全互操作性的贡献,为更加互联和功能齐全的数字世界铺平了道路,有效消除不同区块链网络之间的障碍得以,迎来了合作和创新的新时代。

📡 Polkadot and Kusama Bridge Wiki:https://guide.kusama.network/docs/learn-guides-dot-ksm-bridge/

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

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

相关文章

前端面试项目细节重难点(已工作|做分享)(九)

面试官&#xff1a;请你讲讲你在工作中如何开发一个新需求&#xff0c;你的整个开发过程是什么样的&#xff1f; 答&#xff1a;仔细想想&#xff0c;我开发新需求的过程如下&#xff1a; &#xff08;1&#xff09;第一步&#xff1a;理解需求文档&#xff1a; 首先&#x…

禁用PS/Photoshop等一系列Adobe旗下软件联网外传用户数据操作

方案一&#xff1a; 下载火绒杀毒&#xff0c;在联网请求上禁用Adobe软件的联网请求&#xff0c;甚至还可以额外发现哪些是它要想要偷偷摸摸干的。 方案二&#xff1a; 最后注意&#xff1a; 用盗版软件只是获得了使用权&#xff01;

React state(及组件) 的保留与重置

当在树中相同的位置渲染相同的组件时&#xff0c;React 会一直保留着组件的 state return (<div><Counter />{showB && <Counter />} </div> ) // 当 showB 为 false, 第二个计数器停止渲染&#xff0c;它的 state 完全消失了。这是因为 React…

缩窄route范围来提速本地打包的尝试

目录 为什么要缩窄route范围缩窄route的方式意外触发的重复构建重复构建的原因解决方案 为什么要缩窄route范围 对于一些大单页&#xff0c;单个router-view中可能包含上百个页面。但是开发的时候其实并不需要那么多调试那么多页面。 因此&#xff0c;为了节省不必要的打包和热…

Java内存模型,堆、栈和方法区的区别

Java内存管理是Java虚拟机&#xff08;JVM&#xff09;技术的核心之一。了解Java内存管理对于提高程序性能、解决内存泄漏和优化资源利用至关重要。 一、Java内存模型&#xff08;Java Memory Model, JMM&#xff09; Java内存模型描述了Java程序中变量&#xff08;包括实例字…

ChatGPT等大模型可以代替搜索引擎吗?

在知乎看到一个问题&#xff0c;回答了一下&#xff0c;分享到这里。 把ChatGPT当作搜索引擎可靠性差点&#xff0c;但是可行。 代替搜索引擎 1、写代码 我们可以让GPT写一段算法代码或者使用某个语言API的示例&#xff0c;然后只需要把这段代码粘贴到IDE中&#xff0c;简单…

Qt创建静态库及静态库使用

Qt创建静态库及静态库使用 1. 创建一个库文件 选择静态库 将需要打包的.h 和.cpp文件添加到程序中&#xff0c; 在编译器版本下的debug和release模式下分别编译&#xff08;右键项目&#xff0c;点击“qmake”,再点击“构建”&#xff09;后&#xff0c;在对应的的build目录下…

Golang | Leetcode Golang题解之第151题反转字符串中的单词

题目&#xff1a; 题解&#xff1a; import ("fmt" )func reverseWords(s string) string {//1.使用双指针删除冗余的空格slowIndex, fastIndex : 0, 0b : []byte(s)//删除头部冗余空格for len(b) > 0 && fastIndex < len(b) && b[fastIndex]…

java反序列化---cc6链

目录 Transformer[]数组分析 链条代码跟进 ChainedTransformer.transform() LazyMap.get() TiedMapEntry.getValue() TiedMapEntry.hashCode() HashMap.hash() HashMap.put()的意外触发 LazyMap.get()中key的包含问题 cc6的payload如下 import org.apache.commons.co…

html中a标签的多用性

在HTML中&#xff0c;<a> 标签&#xff08;通常称为锚标签或链接标签&#xff09;具有多种用途和强大的功能。以下是<a>标签的一些主要多用性&#xff1a; 网页间的导航&#xff1a; 这是<a>标签最常见的用途。通过href属性&#xff0c;可以指定一个URL&am…

基于springboot的城市垃圾分类管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于springboot的城市垃圾分类管理系统,…

Linux编辑器 vim使用 (解决普通用户无法进行sudo提权问题)

文章目录 一.vim是什么命令模式底行模式 二.关于vim暂停问题三.注释批量化注释批量化去注释 四.解决普通用户无法进行sudo提权问题五.vim的配置 一.vim是什么 用过VS的都知道&#xff0c;拥有着编辑器编译器调试.编写C&#xff0c;C&#xff0c;python等的功能。就是集成 Linu…

零基础开始学习鸿蒙开发-@State的使用以及定义

1.State组件介绍 首先定义 State为鸿蒙开发的一个状态组件&#xff0c;当它修饰的组件发生改变时&#xff0c;UI也会相应的刷新&#xff0c;简单介绍就是这样&#xff0c;下面我们用代码去体会一下。 2.定义DeliverParam类 首先定义一个模型类&#xff0c;类里面定义一个构造…

【C++ | const成员】一文了解类的 const数据成员、const成员函数、const对象、mutable 数据成员

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a;2024-06-14 2…

Linux ls-al命令实现,tree命令实现,不带缓存的文件IO

shell命令 ls -al 实现 stat配合目录流&#xff08;目录流链表加指针链表结点目录项dirent&#xff09; opendir&#xff0c;closedir&#xff0c;readdir。 const char *restrict pathname:路径&#xff08;文件名和路径不完全对等&#xff0c;&#xff08;文件名在当前目录…

关于反弹shell的学习

今天学习反弹shell&#xff0c;在最近做的ctf题里面越来越多的反弹shell的操作&#xff0c;所以觉得要好好研究一下&#xff0c;毕竟是一种比较常用的操作 什么是反弹shell以及原理 反弹Shell&#xff08;也称为反向Shell&#xff09;是一种技术&#xff0c;通常用于远程访问和…

【C语言习题】30.使用指针打印数组内容

文章目录 作业标题作业内容2.解题思路3.具体代码 作业标题 使用指针打印数组内容 作业内容 写一个函数打印arr数组的内容&#xff0c;不使用数组下标&#xff0c;使用指针。 arr是一个整形一维数组。 2.解题思路 先定义一个数组&#xff0c;使用指针打印数组内容那就是说我们…

通过语言大模型来学习tensorflow框架训练模型(三)

一、模型训练5步骤走 1.数据获取&#xff0c;2&#xff0c;数据处理&#xff0c;3.模型创建与训练&#xff0c;4 模型测试与评估&#xff0c;5.模型预测 二、tensorflow数据获取 在TensorFlow中&#xff0c;数据获取和预处理是构建深度学习模型的重要步骤。TensorFlow提供了多…

Python 植物大战僵尸游戏【含Python源码 MX_012期】

简介&#xff1a; "植物大战僵尸"&#xff08;Plants vs. Zombies&#xff09;是一款由PopCap Games开发的流行塔防游戏&#xff0c;最初于2009年发布。游戏的概念是在僵尸入侵的情境下&#xff0c;玩家通过种植不同种类的植物来保护他们的房屋免受僵尸的侵袭。在游…

流体性能测试实验室建设需求参考

在第一次提需求的时候&#xff0c;很多人感到很迷茫&#xff0c;这里以某流体实验室建设为例&#xff0c;进行说明&#xff0c;希望抛砖引玉&#xff0c;能起到一点参考作用。 一、项目概述 学校拟建一座流体性能测试实验室&#xff0c;旨在兼顾教学和企业科研能力。实验室需…