热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

事务_微众WeCross跨链平台TTM可信事务机制

本文由编程笔记#小编为大家整理,主要介绍了微众WeCross跨链平台TTM可信事务机制相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了微众WeCross 跨链平台TTM可信事务机制相关的知识,希望对你有一定的参考价值。






1. 两个problem


  • 区块链网络需要相互获取对方链上的数据,由于它们并没有参与对方区块链的共识流程
  • 保证跨链交易中各自链上交易执行的事务性

2. TTM可信事务机制 (Trust Transaction Management)

采用密码学技术和分布式算法,保证区块链平台之间交互数据的真实可信且难以篡改,保证业务逻辑的原子事务性,使得区块链平台之间任何关联的两个交易能够完全执行或完全回滚

2.1 spv证明

多维度的默克尔证明


  • 多维度的默克尔证明,不仅能够验证交易存在性,还能够验证交易执行结果的正确性,为跨链交易可信执行以及后续章节将讲述的事务机制提供完备的可信验证。

  • 交易存在性验证是指验证某一笔交易是否真实存在于某个区块,确保跨链交易中双方所声称的资产或数据是真实存在的。

  • 交易执行结果正确性验证是指验证跨链交易是否已在双方各自的区块链上正确执行,保证跨链交易执行结果的正确性。

其中交易存在性验证需要用到交易默克尔根,交易执行结果正确性验证需要用到回执默克尔根。

3. 跨链事务机制

3.1 两阶段提交协议

投票阶段和提交阶段。为了让整个事务能够正常运行,两阶段提交协议涉及三个接口,分别是准备(Prepare)、提交(Commit)和回滚(Rollback)。
在这里插入图片描述
在这里插入图片描述

3.2 哈希时间锁定合约 (HTLC,Hashed Time Lock Contract)

哈希时间锁定合约为区块链资源新增三个接口,分别是锁定(Lock)、解锁(Unlock)和超时(Timeout)接口。
在这里插入图片描述

eg. 交换位于链 A 的资产 α 和位于链 B 的资产 β
step1. A 首先选取一个秘密随机数 S,使用特定的哈希算法计算出 S 的哈希值 H,之后 A 将H 发给 B。

step2. A 和 B 协商两个时间点 T0 和 T1,确保 T0 >T1。T0 和 T1 用于避免 A 或 B 单方延误交易,所以这其中的交易包 α 和交易包 β 都需要设定时间限制,超出这个时间限制后,相关资产立即撤销锁定,原路返回。

step3. A 基于 H 和 T0 创建资产锁定智能合约 LockContractA,该智能合约会锁定资产 α,其可以使用 S 来解锁并将资产 α 转移给 B,如果在 T0 前仍未解锁,则会自动撤销锁定,且不会发生任何资产转移。

step4. B 基于 H 和 T1 创建资产锁定智能合约 LockContractB,该智能合约会锁定资产 β,其可以使用 S 来解锁并将资产 β 转移给 A,如果在 T1 前仍未解锁,则会自动撤销锁
定,且不会发生任何资产转移。

step5. A 使用秘密随机数 S,调用 B 上的智能合约 LockContractB,将资产 β 转移给 A 。

step6. 如果 A 或 B 任意一方超时未执行操作,则在 T1 时间点后,B 资产会撤销锁定,T0时间点后,A 资产会撤销锁定,还原初始状态

在这里插入图片描述






推荐阅读
author-avatar
Metoo婧婧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有