Atomicals Market 0元購事件淺析
發表於 2023-12-01 11:13 作者: MetaTrust Labs
作者:Daniel Tan,來源:MetaTrust Labs
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 Protocol於24號發文反擊了Atomicals Market的言論並指出問題的原因在於Atomicals Market的疏忽,在交易中使用 SIGHASH_NONE 進行籤名,將其用戶置於危險之中。Atomicals Protocol表示並曾警告過Atomicals Market不應該使用SIGHASH_NONE進行籤名(值得注意的是,同樣是Atomicals交易平台的SatsX似乎並未出現類似情況)
分析後發現,導致0元購的根本原因在於Atomicals Market在PSBT中錯誤的使用了SIGHASH_NONE (TX:1623bf2997cde779dd9e0e2c54b5f7f196f36826dcb689e41acd7fff27ec5c93)
02 預備知識
在我們進一步分析事情原因前,需要先了解一些預備知識,這是因爲BTC並沒有使用Ethereum那樣的账戶模型。
UTXO
比特幣未花費交易輸出(UTXO)代表比特幣所有權的特定部分。與利用账戶和余額的傳統系統不同,比特幣通過這些單獨的比特幣部分進行操作。每個 UTXO 都由一個特定值定義,代表在交易中傳輸的比特幣的不同部分。
在一筆交易的過程中,UTXO會被消耗並不再存在。因此,這一操作會生成一個或多個新的 UTXO。這些 UTXO 的集合,稱爲 UTXO 集,由所有網絡節點維護和更新。每當一個新的區塊處理生成和消除 UTXO 的交易時,就會發生這種情況。UTXO 集在使節點能夠獨立確認交易及其打算花費的比特幣的合法性方面發揮着關鍵作用。
PSBT
部分籤名的比特幣交易(PSBT)是比特幣生態系統中的一種協議,旨在提高傳輸未籤名交易的便利性,使多個參與者能夠同時籤署單個交易。
PSBT(部分籤名的比特幣交易)在多種場景中提供實用性。考慮創建涉及三個人的 CoinJoin 交易。在此過程中,三個參與者中的每一個都會向中央協調器發送一條消息。該消息包含他們希望包含在 CoinJoin 中的 UTXO(未花費的交易輸出)的詳細信息。此外,每個參與者都指定在 CoinJoin 交易完成後應將其份額的比特幣返回到的地址。
03 問題出在哪?
Atomicals Protocol 提到,在一個安全的 PBST 交換步驟中,賣方籤署包含 ARC20 Atomical 的第 2 筆輸入和接收付款金額的第 2 筆輸出。
賣方需使用 SIGHASH_SINGLE | ANYONECANPAY 籤名後,买方就可以添加他們的輸入以獲得資金,並添加他們購买 ARC20 代幣的接收地址。
然後,Atomicals Market在swap中使用的並不是 SIGHASH_SINGLE,而是SIGHASH_NONE。
我們可以看一下NONE 和 SINGLE 的區別:
由於,Atomicals Market使用的是NONE,僅僅對一個input進行了籤名,意味着只對賣出的代幣數量進行了驗證。而沒有對output進行籤名,意味着沒有對接收的代幣進行驗證。最終導致,惡意用戶無需支付代幣即可以0元購的方式买走用戶的代幣。
04 資產損失
33,000 $ATOM
05 後續
Atomicals Market 承諾賠償用戶損失.
06 安全建議
項目方對依賴的協議應該有深入的研究,產品需要經過足夠的測試和審計,重視所使用協議本身以及安全機構的建議。
標題:Atomicals Market 0元購事件淺析
地址:https://www.coinsdeep.com/article/70397.html
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。