Atomicals Market 0元购事件浅析

By Daniel Tan




01

摘要

2023-11-21 备受关注的Atomicals Market交易平台发生了0元购事件,让Atomicals Protocol及其交易平台Atomicals Market近日陷入风波。关于ARC-20代币的一系列问题引发了广泛的讨论和质疑。

Atomicals Protocol & Atomicals Market

Atomicals Market是ARC-20的交易市场,使用了Atomicals Protocol进行ARC-20的交易(Atomicals Market 和 Atomicals Protocls不是同一个公司)
Atomicals Market在21号发文指出在其基于Atomicals Protocol的交易过程中发现了PBST缺陷,导致用户在交易atom代币时遭遇损失。
Atomicals Market 0元购事件浅析
与此同时,Atomicals Protocol于24号发文反击了Atomicals Market的言论并指出问题的原因在于Atomicals Market的疏忽,在交易中使用 SIGHASH_NONE 进行签名,将其用户置于危险之中。Atomicals Protocol表示并曾警告过Atomicals Market不应该使用SIGHASH_NONE进行签名(值得注意的是,同样是Atomicals交易平台的SatsX似乎并未出现类似情况)
Atomicals Market 0元购事件浅析
分析后发现,导致0元购的根本原因在于Atomicals Market在PSBT中错误的使用了SIGHASH_NONE (TX:1623bf2997cde779dd9e0e2c54b5f7f196f36826dcb689e41acd7fff27ec5c93)
Atomicals Market 0元购事件浅析



02

预备知识

在我们进一步分析事情原因前,需要先了解一些预备知识,这是因为BTC并没有使用Ethereum那样的账户模型。

UTXO

比特币未花费交易输出(UTXO)代表比特币所有权的特定部分。与利用账户和余额的传统系统不同,比特币通过这些单独的比特币部分进行操作。每个 UTXO 都由一个特定值定义,代表在交易中传输的比特币的不同部分。
Atomicals Market 0元购事件浅析
在一笔交易的过程中,UTXO会被消耗并不再存在。因此,这一操作会生成一个或多个新的 UTXO。这些 UTXO 的集合,称为 UTXO 集,由所有网络节点维护和更新。每当一个新的区块处理生成和消除 UTXO 的交易时,就会发生这种情况。UTXO 集在使节点能够独立确认交易及其打算花费的比特币的合法性方面发挥着关键作用。

PSBT

部分签名的比特币交易(PSBT)是比特币生态系统中的一种协议,旨在提高传输未签名交易的便利性,使多个参与者能够同时签署单个交易。
PSBT(部分签名的比特币交易)在多种场景中提供实用性。考虑创建涉及三个人的 CoinJoin 交易。在此过程中,三个参与者中的每一个都会向中央协调器发送一条消息。该消息包含他们希望包含在 CoinJoin 中的 UTXO(未花费的交易输出)的详细信息。此外,每个参与者都指定在 CoinJoin 交易完成后应将其份额的比特币返回到的地址。
Atomicals Market 0元购事件浅析



03

问题出在哪?

Atomicals Protocol 提到,在一个安全的 PBST 交换步骤中,卖方签署包含 ARC20 Atomical 的第 2 笔输入和接收付款金额的第 2 笔输出。
卖方需使用 SIGHASH_SINGLE | ANYONECANPAY 签名后,买方就可以添加他们的输入以获得资金,并添加他们购买 ARC20 代币的接收地址。
Atomicals Market 0元购事件浅析
然后,Atomicals Market在swap中使用的并不是 SIGHASH_SINGLE,而是SIGHASH_NONE。
我们可以看一下NONE 和 SINGLE 的区别:
Atomicals Market 0元购事件浅析
由于,Atomicals Market使用的是NONE,仅仅对一个input进行了签名,意味着只对卖出的代币数量进行了验证。而没有对output进行签名,意味着没有对接收的代币进行验证。最终导致,恶意用户无需支付代币即可以0元购的方式买走用户的代币。
Atomicals Market 0元购事件浅析



04

资产损失

33,000 $ATOM



05

后续

Atomicals Market 承诺赔偿用户损失.
Atomicals Market 0元购事件浅析



06

安全建议

项目方对依赖的协议应该有深入的研究,产品需要经过足够的测试和审计,重视所使用协议本身以及安全机构的建议。

关于MetaTrust Labs
MetaTrust Labs是新加坡南洋理工大学孵化的领先Web3人工智能安全工具和代码审计服务提供商。我们提供先进的AI解决方案,赋予开发者和项目相关者保护Web3应用程序和智能合约的能力。我们的综合服务包括AI安全扫描、代码审计、智能合约监控和交易监控。在MetaTrust Labs,我们致力于保护Web3领域,使构建者能够充满信心和可靠地进行创新。
Website: https://metatrust.io/
Twitter: https://twitter.com/MetatrustLabs



↓ ↓ 加入开发者社区一起聊聊安全这件事

原文始发于微信公众号(MetaTrust Labs):Atomicals Market 0元购事件浅析

版权声明:admin 发表于 2023年11月30日 下午6:19。
转载请注明:Atomicals Market 0元购事件浅析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...