【跨链机制】哈希锁定原理

随着区块链多年来的发展,在区块链生态中已经形成了不同特性的区块链网络,这些网络之间存在着一定的隔离和孤立性。为了打破这种局面,跨链技术应运而生,促进了区块链间的数据流通和价值交换。目前,主流的跨链机制包括公证人机制、侧链/中继、哈希锁定等。为了让账号快快升级,今天就来浅谈()一下哈希锁定的实现原理。

原理解析

事情是这样的:有一天,Alice 打算用 n 个比特币Bob的 m 个以太币交换,为了确保交换双方能如期获得对方的爱意,并尽可能避免出现空手套白狼的情况,AliceBob一起策划出了一个爱心方案,这个方案分为四个步骤。

(1)Alice锁定自己的资产

首先,Alice通过随机选取的方式生成一个原像s,并利用哈希算法对s进行计算得到一个哈希值h: h = h a s h ( s ) h = hash(s) h=hash(s)。接着,利用哈希值具有不可逆性,Alice部署了一个合约并将n个比特币存入合约中,合约的内容是:

  • Bob能破解出h的原像s,则 n 个比特币自动转给Bob
  • Bob在时间 T 1 T1 T1内无法破解,则 n 个比特币自动原路返回给Alice

(2)Bob锁定自己的资产

由于哈希值的不可逆性,Bob无法直接计算出原像s,而为了知道Alice设置的原像s,并通过s获取Alice合约中的 n 个比特币Bob也部署了一个合约,并将 m 个以太币存入其中,合约的内容是:

  • Alice能破解出h的原像s,则 m 个以太币自动转给Alice
  • Alice在时间 T 2 T2 T2( T 2 < T 1 T2<T1 T2<T1)内无法破解,则 m 个以太币自动原路返回给Bob

(3)Alice提取Bob的资产

Bob部署好合约后,由于Alice本身知道原像s,因此,Alice就在时间 T 2 T2 T2内向Bob的合约发送了原像s,并且就此获得锁定在合约中的 m 个以太币,而由于这个合约是Bob部署的,因此,Bob也获取到了原像s

(4)Bob提取Alice的资产

Bob在获取到原像s后,立即在时间 T 1 T1 T1(由于 T 1 > T 2 T1>T2 T1>T2,因此Bob还有时间)内向Alice的合约发送s,解锁了Alice合约中的n个比特币,就此,交易完成。

就这样,AliceBob在无需可信公证人的情况下,通过哈希锁和时间锁共同完成链间资产兑换。这种机制无需依赖第三方,能够保持区块链的去中心化特点。但是,这种机制也同样存在着原子操作性较弱(可能因为网络异常而导致Bob在提取资产时,时间超过了 T 1 T1 T1,使得Alice空手套白狼成功)、效率较低的问题(Bob需要等Alice合约部署后,才能部署)。

相关推荐
budingxiaomoli12 小时前
算法--滑动窗口(一)
数据结构·算法
王哈哈^_^12 小时前
【数据集】【YOLO】【目标检测】农作物病害数据集 11498 张,病害检测,YOLOv8农作物病虫害识别系统实战训推教程。
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·1024程序员节
xier_ran12 小时前
邻接矩阵的 k 次幂意味着什么?从图论到路径计数的直观解释
算法·图论
B站_计算机毕业设计之家13 小时前
预测算法:股票数据分析预测系统 股票预测 股价预测 Arima预测算法(时间序列预测算法) Flask 框架 大数据(源码)✅
python·算法·机器学习·数据分析·flask·股票·预测
想唱rap14 小时前
C++ list 类的使用
c语言·开发语言·数据结构·c++·笔记·算法·list
l1t14 小时前
利用DuckDB SQL求解集合数学题
数据库·sql·算法·集合·duckdb
yuyanjingtao14 小时前
CCF-GESP 等级考试 2024年9月认证C++四级真题解析
c++·算法·青少年编程·gesp·csp-j/s
微笑尅乐15 小时前
洗牌算法讲解——力扣384.打乱数组
算法·leetcode·职场和发展
Lei_33596715 小时前
[算法]背包DP(01背包、完全背包问题、多重背包、分组背包、混合背包问题、有依赖的背包问题等)
c++·算法
uesowys15 小时前
华为OD算法开发指导-比赛的冠亚季军
算法·华为od