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

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

原理解析

事情是这样的:有一天,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合约部署后,才能部署)。

相关推荐
python算法(魔法师版)2 小时前
基于机器学习鉴别中药材的方法
深度学习·线性代数·算法·机器学习·支持向量机·数据挖掘·动态规划
JNU freshman3 小时前
力扣第435场周赛讲解
算法·leetcode·蓝桥杯
眼镜哥(with glasses)3 小时前
蓝桥杯python基础算法(2-2)——基础算法(B)——模拟(上)
算法
赵鑫亿4 小时前
7.DP算法
算法·dp
iqay4 小时前
【C语言】填空题/程序填空题1
c语言·开发语言·数据结构·c++·算法·c#
还有糕手4 小时前
算法【有依赖的背包】
算法·动态规划
pursuit_csdn5 小时前
力扣 347. 前 K 个高频元素
算法·leetcode
wen__xvn5 小时前
每日一题洛谷B3865 [GESP202309 二级] 小杨的 X 字矩阵c++
c++·算法·矩阵
makabaka_T_T5 小时前
25寒假算法刷题 | Day1 | LeetCode 240. 搜索二维矩阵 II,148. 排序链表
数据结构·c++·算法·leetcode·链表·矩阵
辞半夏丶北笙6 小时前
最近最少使用算法(LRU最近最少使用)缓存替换算法
java·算法·缓存