BSV 区块链与 BTC Core 之间的首次跨链原子交换

该帖子最初发表于 中。

我们已经执行了 BSV 区块链和 BTC Core 之间的首次原子交换。 这一成就代表了 BSV 区块链的重大进步,以去信任的方式促进了与其他区块链的无缝互操作性。

比特币原子交换概念改编自 Gemini
改编自双子座

在上一篇文章中,我们解释了原子交换的高级理论。 我们深入研究了使用哈希时间锁定合约(HTLC)在 BSV 和 BTC 之间进行原子交换的实际示例。 让我们将此过程分解为四个基本步骤,每个步骤都包含您可以自己运行的代码片段。

步骤1:Alice在BTC上发起交易

该过程从 Alice 开始,她选择一个随机整数 x 并创建一个散列 (哈希值) 使用 SHA-256 算法。 接下来,Alice 部署了一个 Pay-to-Witness-Script-Hash (P2WSH) 交易,其中包括她想要与 Bob 交易的 BTC 数量。

我们使用以下方式构建 Alice 的交易 比特币工具 图书馆:

执行后,代码将打印原始序列化交易,我们可以使用 Blockstream 的区块浏览器将其广播到 BTC 网络。

该 P2WSH 交易脚本包含需要 Bob 的公钥和秘密的条件子句 x,或者 Alice 的签名和花费交易的时间延迟。

第 2 步:Bob 在 BSV 上进行回报

作为回应,Bob 在 BSV 区块链上部署了等效的 sCrypt 智能合约,其中包含他准备与 Alice 交换的 BSV 金额。 该合约包括两种公共方法:一种是 Alice 可以通过提供来解锁 x,以及鲍勃可以在预定时间段(即超时)后解锁的另一个,以提取他的资金。 该智能合约在功能上等同于上述 BTC 脚本。

Bob 获得了哈希值 x, 但不是 x 本身,以及爱丽丝的公钥。 然后,他使用以下部署代码部署智能合约:

第 3 步:Alice 解锁 Bob 的合约

成功部署 sCrypt 合约后,Alice 现在可以调用公共方法“开锁鲍勃合同的秘密被泄露 x。 结果,Alice 拥有了 Bob 的 BSV。

第四步:Bob取回Alice的BTC

一旦 x 据Alice透露,Bob可以用它来解锁BTC区块链上的P2WSH UTXO。 这个过程允许鲍勃索取爱丽丝的比特币,从而完成原子交换。

我们可以广播打印的原始交易并完成交换。

争议解决

在发生争议的情况下,Alice 和 Bob 都可以在一段时间后提取资金。

此功能提供了一种故障安全机制,可确保在交换不成功或有争议的情况下不会永久锁定资金。 时间限制为双方解锁各自的合同提供了足够的窗口。

在爱丽丝的例子中,我们可以修改见证人的构造:

通过 OP_FALSE 因为第一个输入将在之后执行脚本 OP_ELSE,它检查时间锁定是否已过期。

同样,在鲍勃的例子中,我们修改代码以调用“取消“ 方法:

首次成功跨链 BTC-BSV 互换

我们在 BSV 和 BTC 主网之间进行了首次成功的原子交换。

这也是一个未完成的交换示例。 爱丽丝和鲍勃都收回了他们的资金。

本文中显示的所有代码都可以在我们的 GitHub 上找到。

观看:为什么需要原子交换

YouTube视频

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

来源:https://coingeek.com/first-ever-cross-chain-atomic-swap- Between-bsv-blockchain-and-btc-core/