PayPal宣布推出稳定币PYUSD,一文解析主流中心化稳定币合约代码
摘要: 本文主要通过Beosin VaaS扫描稳定币合约代码,检测其代码逻辑,发现各类中心化稳定币的不同之处。
本文作者:Beosin安全研究员@EatonAshton2
8月7日,支付巨头 PayPal 宣布推出美元稳定币 PayPal USD(PYUSD)。该稳定币由 Paxos 发行,目前合约已部署在以太坊主网。查看其合约代码会发现,PYUSD合约代码与USDP(Paxos发行的稳定币)的代码基本上一致,PYUSD只增加了一个increaseSupply的外部函数。
中心化稳定币主要由法币抵押。稳定币发行方会将法币等资产抵押在银行账户,作为链上稳定币的储备金。本文主要通过Beosin VaaS扫描稳定币合约代码,检测其代码逻辑,发现各类中心化稳定币的不同之处。
USDT
1. 潜在的手续费
USDT设置了两个变量basisPointsRate与maximumFee,用于设定用户使用USDT时需要向泰达公司支付的费用,最高手续费为50USDT。目前这两个变量设定为0,用户使用USDT时不需要额外向泰达公司支付手续费。
合约地址:https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code
2. 黑名单
泰达公司在USDT代币合约中设置了黑名单功能。如果某一地址被加入黑名单,那么该地址无法调用transfer()或者transferFrom()转移USDT。此外,泰达公司甚至可以调用destroyBlackFunds(),将黑名单用户的USDT余额设置为0,以打击黑名单用户。
合约地址:https://etherscan.io/address/0xdac17f958d2ee523a2206206994597c13d831ec7#code
USDC
USDC没有设置手续费。与USDT一样,USDC也有黑名单制度,被加入黑名单的地址无法调用USDC合约的任何函数,但USDC没有设置类似USDT的destroyBlackFunds()的函数。
USDC所有外部函数要求地址不在黑名单里
USDP/BUSD/PYUSD
1. 黑名单
USDP,BUSD和PYUSD的代码基本一致。与其它中心化稳定币一样,它们也有黑名单功能,可以将某一地址添加到frozen名单,从而限制该地址有关USDP/PYUSD的转移。USDP,BUSD和PYUSD设有wipeFrozenAddress(),该函数的功能与USDT的destroyBlackFunds()功能类似,可以将frozen名单中的地址的相关稳定币余额重置为0。
https://etherscan.io/token/0xe17b8aDF8E46b15f3F9aB4Bb9E3b6e31Db09126E#code
2. 白名单
USDP,BUSD和PYUSD设有assetProtectionRole,类似于白名单。用assetProtectionRole修饰的地址可以将某一地址添加到frozen名单或者调用wipeFrozenAddress()。
3. 无gas转账
USDP,BUSD和PYUSD还提供以下两个函数:
betaDelegatedTransfer()和betaDelegatedTransferBatch(),从而允许用户在提供签名信息的情况下让获得批准的特定方代表用户进行稳定币转账,以实现用户端无gas费的交易。
https://etherscan.io/token/0xe17b8aDF8E46b15f3F9aB4Bb9E3b6e31Db09126E#code
总结
中心化稳定币都设有黑名单制度,以满足监管和反洗钱要求。基于Paxos发行的稳定币比起USDT与USDC有些许创新。PayPal在公共区块链网络上部署稳定币会使得美元稳定币市场更进一步,数百万用户可以通过PayPal支付平台进入加密领域。
Beosin作为一家全球领先的区块链安全公司,在全球10多个国家和地区设立了分部,业务涵盖项目上线前的代码安全审计、项目运行时的安全风险监控、预警与阻断、虚拟货币被盗资产追回、安全合规KYT/AML等“一站式”区块链安全产品+服务,目前已为全球3000多个区块链企业提供安全技术服务,审计智能合约超过3000份,同时,Beosin也提供上币项目的安全评估以及提供符合各地监管要求的合规评估、VaaS自动化上币审计服务、交易所渗透服务、交易所安全建设咨询服务等安全解决方案。欢迎点击公众号留言框,与我们联系。
评论(0)
Oh! no
您是否确认要删除该条评论吗?