Hero Circle Shape
Hero Moon Shape
Hero Right Shape
bitpie钱包官方网址|跨链原子交换 - CoinGeek

bitpie钱包官方网址|跨链原子交换 - CoinGeek

  • 作者: bitpie钱包官方网址|跨链原子交换 - CoinGeek
  • 2024-04-10 18:13:58

这篇文章首先发表在 Medium 上。

原子交换的想法于 2013 年首次在 BitcoinTalk 论坛上提出,它可以实现两个区块链之间的代币交易所。

这些交易所是Atom的,因为双方要么收到对方的硬币,要么都保留自己的硬币。 一方不可能欺骗另一方。 它不依赖任何可信赖的第三方,消除了交易对手风险。

有很多用例。 例如,它们可以作为非托管交易的基础,用户可以在交易的同时控制自己的资金。

推荐阅读 1

Animoca Brands 将投资 3000 万美元开发 Web3.0 超级应用 hi

2小时前 2

Gavin Wood 和他的 Web3 对加密货币领域的贡献

2小时前

基本

比特币地址就像一个带有存款槽的上锁邮箱。 当鲍勃将比特币发送给爱丽丝时,他将它们放入邮箱A的槽位中,并附上爱丽丝的“地址”。 只有爱丽丝拥有打开邮箱并取回硬币的钥匙。

有比用简单的私钥就能打开的锁更奇特的锁。 这些锁被视为比特币智能合约,可以规定任意复杂的锁定条件。

哈希锁

它们可以通过密码解锁,例如解锁手机的 PIN 码。 这个秘密实际上是一个散列到给定值的值/原像,该值显示在锁上供每个人查看。 对应的智能合约是一个哈希谜题。 一旦使用 PIN/原像解锁,它就会在区块链上公开可见。

行图像中的哈希锁行图像中的哈希锁

时间锁

这些锁在到达预定时间之前无法打开,该时间可以是 UNIX 纪元时间(自 1 月 1 日到 1970 年以来的秒数)或区块高度。 相应的智能合约称为CheckLockTimeVerify。

时间锁定线条图像时间锁定线条图像

原子交换

让我们使用这些锁,根据 Alice 的 BSV 币和 Bob 的 BTC 币按照双方同意的比例进行交易所。

设置

Alice 的 BSV 币和 Bob 的 BTC 币Alice 的 BSV 币和 Bob 的 BTC 币设置

Alice 将带有哈希锁的 BSV 放入 Bob 的邮箱中,然后她将哈希值告诉 Bob。 然后鲍勃将 BTC 使用相同的哈希锁放入爱丽丝的邮箱中。 这两个哈希锁共享相同的 PIN,该 PIN 由 Alice 生成并暂时对 Bob 隐藏。

交易所

Alice 和 Bob 之间交易所的示例Alice 和 Bob 之间交易所的示例交易所

Alice使用她的私钥A和秘密PIN打开邮箱A以获取BTC Bob存款。 鲍勃获悉爱丽丝刚刚在 BTC区块链上透露的 PIN 码。 他可以使用相同的PIN打开邮箱B,连同他的私钥B,并获得BSV Alice存款。 他们在没有任何第三方的情况下交易所了硬币。

打开一个邮箱可以有效地让另一方能够打开另一个邮箱。 如果鲍勃不打开她的邮箱,爱丽丝就无法打开她的邮箱。

如果爱丽丝或鲍勃堕胎怎么办?

在线退款图片在线退款图片退款

如果Alice存入BSV后Bob没有将BTC放入邮箱A,她的BSV就会被卡住。 同样,如果 Alice 在设置后没有输入 PIN,Bob 的 BTC 币就会被卡住,Alice 的 BSV 也会被卡住。 这就是时间锁的用武之地。每个邮箱都有一个防坠落时间锁,因此如果没有人及时打开密码箱,硬币可以退还。 例如,Bob 可以在一定时间后用他的密钥 B 解锁邮箱 A。

请注意,Alice 在邮箱 B 上的时间锁定必须比 Bob 在主邮箱 A 上的时间锁定长。否则,Alice 可以等到邮箱 B 的时间锁定到期,取回她的 BSV 币,并使用 PIN 打开邮箱 A 来提取 Bob 的 BTC 存款。

哈希时间锁定合约(HTLC)

原子交换使用称为(HTLC)的智能合约,因为它结合了哈希锁和时间锁。

  • 在 BSV 中,HTLC 可以在 sCrypt 中实现,如下所示。

HLTC合约

调用合约即打开邮箱有两种方式:

  • 解锁():使用PIN交易所成功
  • cancel():不发生交易所,币被退还。 this.ctx 是 ScriptContext,允许访问支出交易的锁定时间。
    • 在BTC中,HTLC可以如下实现。

    它也有两种解锁方式,在时间锁分支中使用OP_CHECKLOCKTIMEVERIFY。 使用脚本而不是 sCrypt,因为 BTC 禁用了许多操作码。

    完整的协议序列

    总之,BSV 和 BTC 之间的原子交换协议可以按照以下步骤执行。

  • Alice 生成一个安全随机数 x 并计算其哈希值:h = SHA256(x)。 Alice 将 h 发送给 Bob。Alice 将代币锁定在 BSV 上的 HTLC 中,可以通过以下两种方式之一解锁:1)哈希为 h 和 Bob 签名的值; 2) Alice 在 24 小时后签名。 Alice 通过向 BSV 网络广播交易来部署合约。
  • Bob 将币锁定在 BTC 的 HTLC 中,可以通过以下两种方式之一解锁:1)哈希到 h 和 Alice 签名的值; 2) Bob 在 48 小时后签名。 Bob 通过向 BTC 网络广播交易来部署合约。
  • 确认鲍勃的交易后,爱丽丝通过提供 x 和她的签名来领取 BTC。
  • Bob 在 BTC 上观察到 x,并使用 x 和他的签名来索取 BSV。
  • 如果步骤 3 或 4 没有发生,双方都可以在时间锁定到期后取回他们的硬币。

    概括

    我们已经演示了如何在 BSV 和 BTC区块链上自动交易所硬币。 任何两条区块链都可以支持跨链原子交换,只要它们支持HTLC,即具有相同的哈希函数并支持时间锁。 例如,已实施以下交易所:

    令人惊讶的是,原子交换甚至可以在没有 HTLC 的区块链上实现,例如门罗币。 使用先进的密码学,原子交换甚至可以用于任何区块链,只要它可以验证签名。

    [1] K线走势图改编自跨链原子交换:https://bcoin.io/guides/swaps.html

    观看:比特币大师班:为什么需要原子交换

    Youtube 视频Youtube 视频

    区块链新手? 查看 CoinGeek 的区块链初学者部分,这是了解更多有关区块链技术的终极资源指南。