加載中 ...

審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

2020-07-11 13:33 編輯:btc268.com 來源:區塊鏈資訊

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

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

 

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

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

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

  Transaction Hash:0xdd108cd36fbeaab03b29ac46d465ad9824618d683268681d3206bd78302e0d71

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

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

  需要注意以下兩點:

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

TetherToken 合約調用分析

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

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

  調用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增發相關的調用事件

  轉換成以下偽代碼:

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

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

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

  轉換成以下偽代碼:

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

  Transaction Hash:0xb467ea92b5c0095b1a96f35eb466b239c13e5b0b3f493e3e452f832d99830d6b

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

  USDT 增發如下圖所示:

  審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

總結

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

關鍵詞:比特幣新聞 幣牛牛

轉載自比特幣新聞網(www.riqbboqp.buzz),提供比特幣行情走勢分析與數字貨幣投資炒幣最新消息。

原文標題:審計在以太坊上的泰達幣智能合約源碼及USDT增發相關的調用事件

原文地址:http://www.riqbboqp.buzz/ytf/xw/23309.html

本文來源:區塊鏈資訊編輯:btc268.com

本文僅代表作者個人觀點,與本網站立場無關。

本網站轉載信息目的在于傳遞更多信息。請讀者僅作參考,投資有風險,入市須謹慎!

'); })();
谁有闲来宁夏麻将群 微乐吉林长春麻将怎么下载 腾讯三分彩是什么东西 重庆快乐10分开奖直播现场 北京11选5开奖结果一定牛 欢乐麻将翻倍血流在哪里 炸金花开挂神器 366娱乐城网上百家乐 广东26选5开奖 福建十一选五图表 天天捕鱼电玩赢手机 哈哈湖南麻将官网 北京麻将手机版 爱玩娱乐中心下载 四肖选一肖期期 准 免费 江西快3真假 我爱玩山西麻将下载安装