当前位置:首页 > 物联网 > 区块链
[导读] 原子互换是区块链上的一种不用到第三方的去中心化的加密货币交换算法。它可以让远在异地的两个账户交换不同的货币,而不用担心对方捐款逃跑或者赖账。虽然不是完美解决方案, 但是底线是起码不会让交易的任何

原子互换是区块链上的一种不用到第三方的去中心化的加密货币交换算法。它可以让远在异地的两个账户交换不同的货币,而不用担心对方捐款逃跑或者赖账。虽然不是完美解决方案, 但是底线是起码不会让交易的任何一方损失钱。各原种资料看了遍,终于自己能说通了。 下面就说说我对这个算法的理解。 总分总的思路 :)
 

交易双方为 A 和 B. 除了利用普通交易中的签名认证,还有加了一些维度的限制。

(1) Hashlock. 一个用 x 作为 原像的哈希函数 hash(x) 。 只有揭露 x 的时候, 这个交易才能被链确认。 这里的揭露我们可以认为是链上的任何人都可以知道x 的值了。也就是在链上广播了。

(2) Timelock. 对于交易最终能够确认(能够上链得到公认), 设置了一个可以看成自动回滚的定时器。只有到 TImelock 以后才能 触发, 去确认(上链)。

HashLock 和 TImeLock 也是构成Hash TIme Locked Contracts 的部分,在闪电网络中也用得到。

原子互换聪明在双方都各自发出两个交易(transacTIon- TX)。 一个是应有的转钱交易,一个是自己的撤资交易, 用来’保底’。 一共四个交易。而不是我们普通想的两个交易。

这时候读者可以想想怎么利用这四个交易, HashLock, TimeLock 来完成这个原子互换?

下面是过程 A 用 1 个 BTC 换 B 的 3 个 ETH :)

1 。 A 随机出一个数字 x, 并且 hash(x)。 这个其实有点作为数字信物一样的东西,回头就会知道, 而且是由首先创造交易的人做哈希并且保存x 先。

2. A 创建 交易 TX1 :把 1 个 BTC 送到 B 的 public key 账户(地址)中。 但是这个交易实现是要有条件的, A 又不傻。下面两个条件之一符合就可以:

要么: B揭露 x 并且有 B 的签名

要么: 有 A 和 B 两方的签名

3. A 创建交易 TX2 — 保底交易: 把 1 BTC 从 TX1 发回到 A 自己 public key 账户(地址)

并且 lock 48 hours. 回头会说为什么 48 hours. 这个交易A 自己先Sign掉。

4. A 发 TX2(保底交易) 给 B

5. B 签了 TX2 然后还给 A. 这时候注意 TX2 已经有了双方的签名,但是48小时的Locktime 在那里,撤资时机未到。

6. 时间点1 — A 提交 TX1 到网络上。但这时还没有发到 B 的 public key. 因为B还没有揭露x.

B 这边也是大约类似的动作

7. B 创建 交易 TX3 :把 3 个 ETH 送到 A 的 public key 账户(地址)中。 但是这个交易实现是要有条件的, B 也不傻。下面两个条件之一符合就可以:

要么: A 揭露 x 并且有 A 的签名

要么: 有 A 和 B 两方的签名

8. B 创建交易 TX4 — 保底交易: 把 3 ETH 从 TX3 发回到 B 自己 public key 账户(地址)

并且 lock 24 hours. 这个交易 B 自己先Sign掉。

9. B 发 TX4(保底交易) 给 A

10. A 签了 TX4 然后还给 B. 这时候注意 TX4也已经有了双方的签名,但是24小时的Locktime 在那里,撤资时机未到。

11. 时间点2- B 提交 TX3 到网络上

这里我第一次看的时候总觉得很危险,因为A 知道 x, 并且可以随时签名,TX 提交的时候 A 不就直接卷钱跑了吗? 但是原子互换的聪明之处也在这里,当A想 “卷款”, 也就是使用了 TX3, 获得 3 ETH, 但是这个操作有side effect: 也会使得 x 上链并且被广播。所以 B 也就知道了原像 x, 也能使用TX4.

12. 时间点3- A 使用了 TX3,获得了3 ETH。 因为A 有原像, 并且自己of course 可以私钥签名。 但是如上面所说 原像x 会被广播公开。

13. 时间点4- B 从链上拿到 原像 x, 并且of course 自己私钥签名,就能使用 TX4 咯。

总结下:

这样其实 我们可以看到 交易的两个条件: 拿到原像和对方签名是对应交易成功时的条件。 双方的签名条件是用来执行保底交易,达成撤资条件的。 而且在 双方开始把真正交易提交网络之前, 先要把双发的保底交易给sign 咯。 比如上面的步骤 4,5,8,9。 这样也对,和实际生活中一样,先把丑话说前头, 而且有个时间,谁也不能赖。

还有就是上锁时间,谁先发送保底交易,谁的锁的时间就要比对方长。这样才能给对方足够的时间来确认。 因为对方操作类似对称,所以时间在两倍。

当然,原子互换并不完美, 有一些局限性,比如要相同的哈希算法, 上锁时间可能过长,汇率影响等等。 读者有兴趣就自己搜搜吧。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭