印钞机的秘密:USDT增发最全技术细节披露_USD:GUSDT

近日,听说以太坊上的泰达币频繁被增发。本着学习的目的在etherscan上审计了泰达币的智能合约源码以及USDT增发相关的调用事件,本文记录一下分析过程。

以下是TetherToken智能合约的USDT增发函数:

可以看到增发USDT需要TetherToken合约的owner账户调用issue(uint)?增发函数进行,增发成功后还会抛出Issue(amount)?增发事件。

再看下最近的增发记录截图:

新兴市场教父:比特币或跌穿1万美元,加密货币繁荣与美联储疯狂印钞有关:金色财经报道,新兴市场教父Mark Mobius表示,比特币价格可能在2023年跌破1万美元,较当前价格再下跌40%以上。此前,他曾准确预测比特币跌破2万美元。他表示,比特币已经跌破1.8万美元、1.7万美元的技术支撑位,那么距离跌破1万美元已经不远了。

他对媒体表示,他沽空比特币的理由是利率上升和美联储收紧货币政策。随着利率上升,持有比特币或者其他加密货币的吸引力不再那么大,因为仅仅持有比特币是无法赚取利息的。

他说,当然,有很多公司为加密货币存款提供5%甚至更高的利息,但这些公司基本都破产了。因此,随着投资者遭遇损失,人们会更害怕为赚取利息而持有加密货币。加密货币的繁荣与美联储疯狂印钞有关。在过去几年,美元货币供应量增长了40%以上。他解释道,当美联储开始收回流动性时,人们在市场上的投资能力就会变得困难。[2022/12/4 21:21:50]

TransactionHash:0xdd108cd36fbeaab03b29ac46d465ad9824618d683268681d3206bd78302e0d71

Tether在波场网络新增印钞4亿枚USDT(已授权未发行):WhaleAlert数据显示,北京时间1月28日15:07,Tether在波场网络新增印钞4亿枚USDT。Tether首席技术官PaoloArdoino表示,这是一笔已授权但未发行的交易,将用在下次发行请求的库存和换链。[2021/1/28 14:13:57]

可以看到在上图交易详情中并没有调用TetherToken合约的issue(uint)?增发函数,而是调用了MultiSigWallet合约的confirmTransaction(uint)?函数完成的增发操作。

需要注意以下两点:

观点:比特币不会受美联储过度印钞影响 救助计划促使公众转向加密货币:加密货币评级机构韦氏评级(Weiss Ratings)区块链分析师表示,比特币不会受到美联储(Fed)过度印钞的影响。他们本周谴责了美联储以7比1的杠杆率购买垃圾公司债券的最新决定。美联储上个月宣布的救助计划将向企业信贷市场再注入7500亿美元。这些资金将为大公司提供额外的流动性和信贷。但韦氏评级分析师Bruce Ng和Juan Villaverde在7月1日的一篇文章中指出,这并不能解决美国因冠状病大流行而萎缩的经济。分析师称:“购买与有关联的大型企业债券(如果不是无止境的救助,这些企业就会破产)并不能创造新的就业机会,也不能产生因大范围封锁而损失的数十亿利润。”分析师认为,正是这种救助计划促使人们转向比特币和其他加密货币。他们接着说:“这就是为什么比特币(和其他加密资产)将成为未来货币的原因。中央银行正在摧毁世界上主要的纸币,地球上没有任何力量可以阻止它们。”(Decrypt)[2020/7/5]

TetherToken合约调用分析

我们先看看MultiSigWallet合约的?confirmTransaction(uint)?函数的实现

近一周Tether新增印钞5.82亿USDT:据Tokenview稳定币数据显示,截至今日14时,当前USDT链上流通量约合86.07亿枚。近一周Tether新赠印钞5.82亿USDT。通过Tether Treasury新发行了5.49亿USDT,Treasury地址余额剩1.97亿USDT尚未发行。[2020/5/4]

调用?confirmTransaction(uint)?函数确认并执行交易需要满足以下条件

Pantera Capital CEO:政府增加印钞会抬高比特币价格:Pantera Capital首席执行官Dan Morehead表示,随着政府增加纸币印钞,人们需要更多的纸币来购买固定数量的物品,如股票和房地产。其必然结果是,这会抬高其他东西的价格,比如黄金、比特币和其他加密货币。(Bitcoinist)[2020/5/4]

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:MultiSig2地址的USDT是哪来的呢?根据transactionId继续向前追踪一个事务即可找到真正为Bitfinex:MultiSig2地址增发USDT的交易:

转换成以下伪代码:

TransactionHash:0xb467ea92b5c0095b1a96f35eb466b239c13e5b0b3f493e3e452f832d99830d6b

这才是真正为Bitfinex:MultiSig2地址增发USDT的操作。

USDT增发如下图所示:

总结

可以看到,USDT的增发需要通过MultiSigWallet跨合约调用才能完成。而MultiSigWallet智能合约存在多个owner用户,完成一次跨合约调用需要至少3个owner的确认。这种增发机制在一定程度上杜绝了当某一owner账户丢失或被盗时USDT被恶意增发的安全隐患。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-1:61ms