跨链Cosmos(8)同构跨链交易流程
1. 哈希锁定
A链上的Alice发送100个ATOM代币给B链上的Bob
step1. Tracking
A链上的IBC模块会不断的同步B链上的区块头信息,B链上的IBC同理。通过这种方式,双方能够实现跟踪对方区块链上的验证者集合的变化,本质上来说,就是A链、B链相互维护了一个对方的轻节点。
step2.Bonding
当使用IBC初始化一笔跨链转账之后,A链上的100个ATOM事实上处于锁定的状态。
step3. Proof中继
一份证明A链上已经锁定100ATOM的“证据”会被路由到B链上的IBC模块。
step4. 验证
B链结合A链的轻节点信息,对这份“证据”验证通过之后,B链上会“铸造”100份ATOM Voucher(抵用券),这些Voucher可以进行后续的流通使用。当然这些Voucher也可以通过同样的跨链方式返回到A链,A链上的ATOM代币相应执行解锁的操作。
2. 操作步骤
step1. 用户将跨链交易包Tx发送到A。A执行packageTx,销毁或锁定相关资产。
step2. A将packageTx写入出口。出口可视为放置所有外部通知的跨链交易的邮箱。
step3. 中继器监听到链A中发生的事件,将跨链消息从链A的出口转发到链B的出口。在这种情况下,中继器在链A的出口中查询packageTx,并获得packageTx的Merkle证明。该信息被打包到IBC Package PostTx事务中并发送到链B。中继链还将区块头信息打包到IBCUpdate Chain Tx中,并将其发送到链B。
step4. 链B查询关于packageTx位置的区块头信息。注意中继器支付了IBC Package PostTx和IBCUpdate Chain Tx的交易成本。
step5. 链B接收到IBCPacketPostTx事务后,它首先通过该链中的验证器检查IBCUpdateChainTx中的区块头是否为链A的一部分,然后验证IBCPacketPostTx中跨链事务的Merkle证明是否等于该区块IBCUpdateChainTx中的头哈希。当所有支票都通过时,B链开始执行相关操作(对于B链,这意味着生成相关资产等)。
跨链Cosmos(8)同构跨链交易流程相关推荐
- 跨链Cosmos(9)异构跨链交易流程
当应用链双方在Hub注册后,彼此发现就可以通过路由进行跨链交易. 1.1 IBC跨链流程 ChainA和ChainB都是基于CosmosSDK搭建的应用链,Relayer作为一个链下中继负责轮询和路由 ...
- 迅雷链同构多链框架解析
本文转载自迅雷官方微信群 传统意义上的.甚至是消费者端熟知的迅雷,是那家唯一在美国上市的中国下载服务商,主营业务还是在线广告.游戏和会员.迅雷从2015年开始对分布式计算和区块链领域的布局.这几年,迅 ...
- 区块链新思维迅雷同构多链架构实现百万TPS
区块链新思维迅雷同构多链架构实现百万TPS --学习迅雷链总工程师来鑫笔记 今天跟大家介绍迅雷链的同构多链框架,介绍框架之前会先从整体介绍迅雷链的模块组成.迅雷连的整体架构,方便大家理解,也为我们后面 ...
- 跨链Cosmos(11) 消息结构
1. 普通交易Msg Cosmos的普通交易和以太坊类似,也是一个帐户模型,有着From,To和Amount关键字段. type MsgSend struct { FromAddress github ...
- 微众WeCross 跨链平台(3)交易流程
1. 网络结果 2. 步骤 step1. 用户将交易发送到跨链路由A step2. 跨链路由A会将交易通过P2P网络发送给跨链路由B step3. 跨链路由B收到交易后,会对交易做身份和权限的校验,并 ...
- 跨链Cosmos(10) IBC接口
1. 子模块 1.1 IBCRegisterChainTx 注册 在跨链开始用来注册,并发送创世区块,Validator 给对方,这个只能执行一次,多次执行会报错. type IBCRegisterC ...
- 跨链Cosmos(3)IBC协议
1. (Inter-Blockchain Communication Protocol)IBC定义 IBC协议用于Hub与Zone之间消息传递. 通过数据包交换在多个不同的区块链网络之间转移数据和状态 ...
- 跨链Cosmos(1) 网络拓扑
1. 拓扑结构 Hub: 用于处理跨链交互的中继链 Zone: 平行链 Cosmos Hub中心 代币可以安全快速地从一个Zone传递到另一个Zone,两者之间无需体现汇兑流动性. Zone内部所有代 ...
- 趣链 BitXHub跨链平台 (3)跨链交易流程
1. 流程图 执行跨链调用之前需要执行一些准备工作,包括应用链注册,验证规则注册以及跨链双方的业务链上依据我们的跨链合约撰写规则设置好相应的跨链合约. 1.1 步骤 step1. SDK 调用 具体的 ...
最新文章
- H264码流结构分析
- 【chorme插件开发】第三节:开发html的展示类型插件实例
- Entity Framework 相关知识点合集
- 诗与远方:无题(七十九)- 望红云而作
- 什么是灰度发布?灰度发布方式 系统的割接 灰度部署典型的框架架构
- python学了有什么用-让孩子学了Python编程有什么用
- 排名前50的开源Web爬虫用于数据挖掘
- 文件搭建后找不到变量/函数定义问题
- Navicat Premium 12安装激活教程
- ns3学习之ns3模拟基本流程
- 六、矩阵键盘的扫描原理与基本应用
- c语言printf小数乘整数,如何将小数化为整数
- red linux更换显卡,转:Linux(centos6.0/redhat) 安装 ATI / Nvidia 显卡驱动
- 教师办公用计算机使用管理制度,教师办公室计算机使用规章制度
- 思齐什么意思_思齐的寓意
- 【强化学习】双深度Q网络(DDQN)求解倒立摆问题 + Pytorch代码实战
- 元宇宙漫游指南-区块链构建元宇宙基础设施,一文搞清楚元宇宙和区块链
- 【量化交易】94篇论文分析股市预测的深度学习技术
- 数字电子与微型计算机原理课后答案,数字电子与微型计算机原理(非电类)
- 如何搭建https代理?
热门文章
- 计算机c盘d盘不显示了怎么办,我的电脑打开里头的C盘D盘的图标怎么显示不了啊......
- git推送密码_保护代码完整性(六):在 Git 上使用 PGP
- 推进大数据中心新能源应用 广东省六部门联合印发培育新能源战略性新兴产业集群行动计划(2021—2025年)...
- oracle 临时表存在哪里_openGauss魔改PG?它能兼容Oracle的数据库表吗?
- python猜拳游戏三局两胜制_python石头剪刀布小游戏(三局两胜制)
- Computer:成功解决安装软件时需要系统空间环境辅助程序(比如Microsoft Visual C++2010 x86 Redistributable安装失败)
- Algorithm:C++语言实现之字符串相关算法(字符串的循环左移、字符串的全排列、带有同个字符的全排列、串匹配问题的BF算法和KMP算法)
- 成功解决ImportError: Could not find ‘cudart64_90.dll‘. TensorFlow requires that this DLL be installed in
- Matlab:单幅图象的暗原色先验去雾改进算法,能够很好地改进天空或明亮部分色彩失真问题
- DL之RBM:(sklearn自带数据集为1797个样本*64个特征+5倍数据集)深度学习之BRBM模型学习+LR进行分类实现手写数字图识别