近日,听说以太坊上的泰达币(USDT)频繁被增发。本着学习的目的在 etherscan 上审计了泰达币的智能合约(TetherToken)源码以及 USDT 增发相关的调用事件,本文记录一下分析过程。
以下是 TetherToken 智能合约的 USDT 增发函数:
可以看到增发 USDT 需要 TetherToken 合约的 owner 账户调用 issue(uint) 增发函数进行,增发成功后还会抛出 Issue(amount) 增发事件。
独家 | 金色财经挖矿收益播报:金色财经报道,据OKEx矿池数据显示,今日BTC全网算力约112.19EH/s,全网难度约13.73T,BTC当前块高634807。
由于BTC交易量逐渐趋缓,全网矿工奖励手续费经过一段时间的震荡下行,当前矿工费对当日块奖励的占比已回落至1.53%。当前BTC收益(PPS):0.00000916BTC/T/天,全网算力难度上涨1.21%。预测下次难度15.71T(+14.38%),距离调整还剩还有1天。[2020/6/15]
再看下最近的增发记录截图:
Transaction Hash:0xdd108cd36fbeaab03b29ac46d465ad9824618d683268681d3206bd78302e0d71
金色晨讯 | 12月16日隔夜重要动态一览:21:00-7:00关键词:Tether、证券日报、以太坊、亚洲周刊
1. Tether为Omni新版本Omni Core 0.7.0开发提供资金支持;
2. 证券日报:区块链等技术的运用,银行向数字化等转型已是必然;
3. 以太坊核心开发人员讨论以太坊2.0的发布日期;
4. 江卓尔:如果减半会带来大牛市 那再来一次V型底也正常;
5. 报告:比特币仍是2019年的王者 比去年同期上涨120%;
6. 亚洲周刊:中国在区块链等领域与美国旗鼓相当 甚至后来居上。[2019/12/16]
可以看到在上图交易详情中并没有调用 TetherToken 合约的 issue(uint) 增发函数,而是调用了 MultiSigWallet 合约的 confirmTransaction(uint) 函数完成的增发操作。
金色相对论 |?币印潘志彪:闪电网络隐私方面做得非常好:在本期金色相对论之“闪电网络:Hello,TPS”上,金色财经合伙人佟扬对话币印创始人潘志彪,针对闪电网络未来的演化路径及应用前景会是怎么样的问题,潘志彪表示:闪电网络是各种节点相互连接形成的网络。仅有大节点整个网络是无法工作的。网络中分布着节点,有个人的,也有企业的。有的节点很大,几万个通道;有的节点很小,几个通道。闪电网络的节点,是门槛相对较低的,任何一个软件工程师都可以很快速搭一个节点,普通人借助技术工具也可以快速搭建。只要是市场是开放的,竞争是自由的,那么网络就基本上保持着去中心化。关于抗审查性,因为流经过N个节点,隐私性远远好于直接发出来的比特币交易。绝大部分交易所都是需要做KYC的,链上交易简直没有隐私可言,而闪电网络隐私方面非常好。关于演化路径及应用前景,主要是支付领域,目前来看依然是独立节点占主流。当前大部分的闪电网络钱包,依然不是真正意义上的闪电网络钱包。普及闪电网络的方向仍是onchain+独立节点。[2019/3/7]
需要注意以下两点:
金色晨讯 | 港交所强调监管一致性 世界银行建议将区块链用于政府系统:1.港交所发布报告探讨区块链 强调监管一致性原则
2.CFTC首次针对比特币相关的反欺诈执法行动获胜
3.币安CFO:希望添加更多稳定币 将继续支持USDT
4.央行征信管理局局长:国内征信或可利用区块链技术提供支持
5.美国SEC建立新办公室与ICO初创公司交流
6.世界银行:区块链网络系统可提高政府采购系统效率
7.加密货币公司并购活动年化增长超过200%
8.港交所:区块链应用于资产再抵押共四大优势
9.西班牙央行呼吁使用区块链技术调查国际支付[2018/10/19]
金色财经现场报道 三点钟发起人之一玉红:除了技术之外,区块链最核心的便是社群:金色财经现场报道,在4月3日举办的2018年世界区块链峰会现场,三点钟发起人之一玉红表示,区块链从信息互联网到价值互联网的一个巨大的转变,这其中最核心的就是社群,社群的每个人都为这个社群产生内容,产生好的内容,然后每个人都在积极地产生这种价值。你跟社群的你的核心成员产生连接的时候,就会产生价值,这是非常重要的。[2018/4/3]
TetherToken 合约调用分析
我们先看看 MultiSigWallet 合约的 confirmTransaction(uint) 函数的实现
调用 confirmTransaction(uint) 函数确认并执行交易需要满足以下条件
submitTransaction(address,uint,bytes) 会调用到合约内部的 addTransaction(address,uint,bytes) 函数,其实现如下:
最终一次完整的提交 -> 确认操作流程如下:
1、调用 submitTransaction (address,uint,bytes) 函数提交事务并传入参数:contract-address、eth-value、payload。注意:提交事务包含一次事务确认。
依次发送 Submission 事件 -> Confirmation 事件。
2、调用 confirmTransaction(uint) 确认并执行事务,需要 3 个不同的 owner 账户完成最终的确认。
依次发送 Confirmation 事件 -> 执行 payload 所产生的事件(满足确认数量)-> Execution 事件。
TetherToken 跨合约调用如下图所示:
USDT 增发分析
继续看这笔增发交易的调用事件,正好满足调用 confirmTransaction(uint) 函数所产生的事件。
通过查询 transactionId 即可看到调用参数
转换成以下伪代码:
那么 Bitfinex: MultiSig 2 地址的 USDT 是哪来的呢?根据 transactionId 继续向前追踪一个事务即可找到真正为 Bitfinex: MultiSig 2 地址增发 USDT 的交易:
Transaction Hash:0xb467ea92b5c0095b1a96f35eb466b239c13e5b0b3f493e3e452f832d99830d6b
这才是真正为 Bitfinex: MultiSig 2 地址增发 USDT 的操作。
USDT 增发如下图所示:
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。