印鈔機的祕密:USDT增發最全技術細節首次披露

摘要: USDT頻繁被增發,審計了泰達幣的智能合約(TetherToken)源碼以及 USDT 增發相關的調用事件,本文記錄分析過程。

近日,聽說以太坊上的泰達幣(USDT)頻繁被增發。本著學習的目的在 etherscan 上審計了泰達幣的智能合約(TetherToken)源碼以及 USDT 增發相關的調用事件,本文記錄一下分析過程。

以下是 TetherToken 智能合約的 USDT 增發函數:

印鈔機的秘密:USDT增發最全技術細節首次披露 

可以看到增發 USDT 需要 TetherToken 合約的 owner 賬戶調用 issue(uint) 增發函數進行,增發成功後還會拋出 Issue(amount) 增發事件。

再看下最近的增發記錄截圖:

印鈔機的秘密:USDT增發最全技術細節首次披露

Transaction Hash:0xdd108cd36fbeaab03b29ac46d465ad9824618d683268681d3206bd78302e0d71

印鈔機的秘密:USDT增發最全技術細節首次披露

可以看到在上圖交易詳情中並沒有調用 TetherToken 合約的 issue(uint) 增發函數,而是調用了 MultiSigWallet 合約的 confirmTransaction(uint) 函數完成的增發操作。

需要注意以下兩點:

TetherToken 合約調用分析

我們先看看 MultiSigWallet 合約的 confirmTransaction(uint) 函數的實現

<code>/<code>

調用 confirmTransaction(uint) 函數確認並執行交易需要滿足以下條件

印鈔機的秘密:USDT增發最全技術細節首次披露

submitTransaction(address,uint,bytes) 會調用到合約內部的 addTransaction(address,uint,bytes) 函數,其實現如下:

印鈔機的秘密:USDT增發最全技術細節首次披露

最終一次完整的提交 -> 確認操作流程如下:

1、調用 submitTransaction(address,uint,bytes) 函數提交事務並傳入參數:contract-address、eth-value、payload。注意:提交事務包含一次事務確認。

依次發送 Submission 事件 -> Confirmation 事件。

2、調用 confirmTransaction(uint) 確認並執行事務,需要 3 個不同的 owner 賬戶完成最終的確認。

依次發送 Confirmation 事件 -> 執行 payload 所產生的事件(滿足確認數量)-> Execution 事件。

TetherToken 跨合約調用如下圖所示:

印鈔機的秘密:USDT增發最全技術細節首次披露

USDT 增發分析

繼續看這筆增發交易的調用事件,正好滿足調用 confirmTransaction(uint) 函數所產生的事件。

印鈔機的秘密:USDT增發最全技術細節首次披露

通過查詢 transactionId 即可看到調用參數

印鈔機的秘密:USDT增發最全技術細節首次披露

轉換成以下偽代碼:

<code>/<code>

那麼 Bitfinex: MultiSig 2 地址的 USDT 是哪來的呢?根據 transactionId 繼續向前追蹤一個事務即可找到真正為 Bitfinex: MultiSig 2 地址增發 USDT 的交易:

印鈔機的秘密:USDT增發最全技術細節首次披露

轉換成以下偽代碼:

<code>/<code>

Transaction Hash:0xb467ea92b5c0095b1a96f35eb466b239c13e5b0b3f493e3e452f832d99830d6b

這才是真正為 Bitfinex: MultiSig 2 地址增發 USDT 的操作。

USDT 增發如下圖所示:

印鈔機的秘密:USDT增發最全技術細節首次披露

總結

可以看到,USDT 的增發需要通過 MultiSigWallet 跨合約調用才能完成。而 MultiSigWallet 智能合約存在多個 owner 用戶,完成一次跨合約調用需要至少 3 個 owner 的確認。這種增發機制在一定程度上杜絕了當某一 owner 賬戶丟失或被盜時 USDT 被惡意增發的安全隱患。

作者:北京鏈安;來自鏈得得內容開放平臺“得得號”,本文僅代表作者觀點,不代表鏈得得官方立場凡“得得號”文章,原創性和內容的真實性由投稿人保證,如果稿件因抄襲、作假等行為導致的法律後果,由投稿人本人負責得得號平臺發佈文章,如有侵權、違規及其他不當言論內容,請廣大讀者監督,一經證實,平臺會立即下線。如遇文章內容問題,請發送至郵箱:[email protected]


分享到:


相關文章: