sBTC 交易演练

让我们跟随 1 BTC 在 sBTC 系统中的旅程,从最初的存款到最终的提取。

第 1 部分:存款(BTC → sBTC)

1

发起

  • Alice 决定将 1 BTC 转换为 sBTC,以参与 Stacks 的去中心化金融。

  • Alice 在比特币网络上创建了一笔存款交易(通常通过诸如 sBTC 桥或 DeFi 应用的用户界面)。

  • 该交易进入比特币内存池(mempool)。

2

证明提交

  • Alice 将她的存款证明提交到存款 API(通常通过应用的 UI)。

  • 存款 API 将存款状态设置为 PENDING(待处理)。

3

签名者验证

sBTC 签名者集合:

  • 检测到该存款。

  • 验证 UTXO 格式。

  • 对该存款进行投票。

如果存款被拒绝:

  • 签名者将拒绝信息通知 API。

  • 存款 API 将状态更新为 FAILED(失败)。

如果存款被接受:

  • 存款 API 将状态更新为 ACCEPTED(已接受)。

4

比特币交易

如果被接受,sBTC 签名者集合:

  • 创建一笔新的比特币交易,消费 Alice 存入的 BTC。

  • 将此交易广播到比特币网络。

如果该交易失败:

  • 签名者将失败信息通知 API。

  • 存款 API 将状态更新为 FAILED(失败)。

5

sBTC 铸造

在比特币交易成功后:

  • sBTC 签名者集合与 Stacks 区块链进行交互。

  • 他们通过向 Alice 的 Stacks 地址铸造 1 sBTC 来完成该存款。

6

确认

  • 存款 API 将存款状态更新为 CONFIRMED(已确认)。

  • Alice 现在在她的 Stacks 钱包中拥有 1 sBTC。


第 2 部分:sBTC 的使用

Alice 现在可以在 Stacks 生态系统中使用她的 1 sBTC:

  • 通过 sbtc-token 合约将其转移给其他用户(通常通过应用的用户界面)。

  • 参与 DeFi 应用。

  • 在任何支持 SIP-010 代币的应用中使用它。


第 3 部分:提取(sBTC → BTC)

1

发起

  • Alice 通过在 Stacks 区块链上与 Clarity 合约交互来发起提取。

  • 她为提取指定了她的比特币地址。

  • 如果成功,合约会锁定她的 sBTC 并将提取状态设置为 PENDING(待处理)。

  • 如果交易失败,则不会发生提取。

2

签名者验证

sBTC 签名者集合:

  • 检测到提取请求。

  • 决定是否接受或拒绝该提取。

如果提取被拒绝:

  • 签名者解锁该 sBTC。

  • 提取状态被更新为 FAILED(失败)。

如果提取被接受:

  • 提取状态被更新为 ACCEPTED(已接受)。

  • 签名者等待 6 个比特币区块确认(出于安全目的)。

3

比特币交易

等待期结束后,如果被接受:

  • sBTC 签名者集合创建一笔新的比特币交易以完成 Alice 的提取。

  • 他们将该交易广播到比特币网络。

如果该交易失败:

  • 签名者解锁该 sBTC。

  • 提取状态被更新为 FAILED(失败)。

4

sBTC 销毁与确认

在比特币交易成功后:

  • sBTC 签名者集合在 Stacks 区块链上销毁被锁定的 1 sBTC。

  • 提取状态被更新为 CONFIRMED(已确认)。

5

完成

  • Alice 现在已在她指定的比特币地址中取回 1 BTC。

  • 被提取的 sBTC 已永久从流通中移除。

最后更新于

这有帮助吗?