近日,听说以太坊上的泰达币(USDT)频繁被增发。本着学习的目的在 etherscan 上审计了泰达币的智能合约(TetherToken)源码以及 USDT 增发相关的调用事件,本文记录一下分析过程。
以下是 TetherToken 智能合约的 USDT 增发函数:
可以看到增发 USDT 需要 TetherToken 合约的 owner 账户调用 issue(uint) 增发函数进行,增发成功后还会抛出 Issue(amount) 增发事件。
金色相对论?|?陈正昌:我国的区块链技术已度过实验期,发展相对健康:在今日举行的金色相对论中,针对“在拉美区块链调研过程中,在诸如技术发展、加密使用、法律法规、业务开展等方面,当地与中国有何不同?”等问题,星环创世(北京)传媒科技有限公司拉美事务合伙人陈正昌表示,我国政府监管是非常充足的,整体的发展相对来说比较科学,从产业链发展的角度看,任何新兴产业的发展都会经历一个混沌且纷争的时代,一旦产生龙头企业,产业链上下游会随之完善。我们的区块链生态已经慢慢度过了混沌时期,从区块链大规模写进政府文件的背后可以看出我国的区块链技术已度过实验期,发展相对健康,产业覆盖范围较广,央企的引领作用强劲,自有技术力量充足。
拉美地区,普遍呈现监管不足,技术力量薄弱的状态,多数政府采购项目的技术项目或技术合作方来源于境外财团。[2020/4/10]
再看下最近的增发记录截图:
金色财经合约数据播报 | 市场情绪回升 BTC价格再次靠近30日均线:据火币BTC季度合约行情显示,截至16:00(GMT+8),BTC价格暂报6401美元(+3.39%),24小时季度合约成交量17.52亿美元(+6.48%)。昨夜至今,BTC季度合约震荡冲高,一度来到6600美元,目前在30日均线下方窄幅波动,成交量较昨日略涨。根据火币合约数据看,BTC总持仓量继续小幅增加,大户多头持仓占比较昨日降低。季度合约贴水小幅减少。[2020/3/31]
Transaction Hash:0xdd108cd36fbeaab03b29ac46d465ad9824618d683268681d3206bd78302e0d71
金色相对论 | 刘思宇:STO通过证券化通证融资,比IPO流动性更好:本期金色相对论中,Top Fund区块链基金创始人刘思宇就“STO来袭将如何影响市场”的问题发表看法,刘思宇表示,当前全球投资环境面临的主要风险是资产价格的不断下跌,以及基金所拥有的资金不断减少,加剧了整个全球投资寒冬的程度。
STO通过证券化的通证融资,相比于IPO,STO具有更好的流动性,协议层自动化管理,24小时交易,交易单位灵活等优势。相比于ICO,STO具有协议层合规,通证融资合法化,打开机构投资市场,让通证本身价值与BTC/ETH脱轨,以未来现金流挂钩,反应资产价值等优势。
从美国注册的公司角度来看,STO即合法合规的ICO。STO只是证券融资的一种新的形式,与ico相比,融资模型会发生较大的变化,比如增加合规方面的合约等。但其对区块链本身的生产关系和经济形态的影响,还没看到有太大的变化。[2018/10/12]
行情 | 金色盘面:冲高回落,维持均势:金色盘面分析:夜盘市场在XRP带动下,走出了冲高回落的态势,而BTC维持小幅上涨,ETH则微跌了0.33%,市场处在变盘前,多空主力相对谨慎,在没有明确趋势前,市场陷入纠缠状态。目前宜多看少动,追踪BTC的趋势变化。提醒投资者理性看待市场波动,做好风控。(登录金色财经APP—发现,查看更多币种的独家点评。)[2018/10/1]
可以看到在上图交易详情中并没有调用 TetherToken 合约的 issue(uint) 增发函数,而是调用了 MultiSigWallet 合约的 confirmTransaction(uint) 函数完成的增发操作。
需要注意以下两点:
金色相对论| 陈军:相信有约束的区块链发展方向是正确的:本期金色相对论中,对于无币区块链是未来技术发展方向还是当前过渡阶段问题,杭州量子大学区块链研究院联合执行院长陈军表示,这未必是技术发展的必然趋势,但一定是应用发展的必然趋势,因为它符合现实。其实有币无币不是一个全球讨论的话题,我们是会因此而慢下来还是会因此而活下来,目前还不好判断,毕竟过去的发展方式也有各种不理解,但结果证明我们大比例上取得了成功,我更倾向于相信这种有约束的区块链发展方向是正确的。
站在技术发展的角度,我觉得不会针对有币无币展开技术创新,而应该向效率提升、完善技术生态去发展。[2018/9/29]
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 增发如下图所示:
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。