前言
昨晚突然看到群里的一个消息,揭秘uniswap-defi项目漏洞-割韭菜新手法,心想还有这事?而且还是中英文介绍。
到底什么是DeFi?网络上有很多关于?DeFi的定义,目前通用的定义是这样的:DeFi是自己掌握私钥,以数字货币为主体的金融业务这个定义包含三个层面的意思:
自己掌握私钥
以数字货币为主体
金融业务
DeFi是DecentralizedFinance的缩写,也被称做OpenFinance。它实际是指用来构建开放式金融系统的去中心化协议,旨在让世界上任何一个人都可以随时随地进行金融活动。
在现有的金融系统中,金融服务主要由中央系统控制和调节,无论是最基本的存取转账、还是贷款或衍生品交易。DeFi则希望通过分布式开源协议建立一套具有透明度、可访问性和包容性的点对点金融系统,将信任风险最小化,让参与者更轻松便捷地获得融资。
几年前区块链行业还没有DeFi这个概念,从默默无闻,一跃成为区块链行业的热门话题,DeFi只用了短短几年时间。Uniswap作为完全部署在以太坊链上的DEX平台,促进ETH和ERC20代币数字资产之间的自动兑换交易,为DeFi发展提供了良好的支持。
数据:当前DeFi协议总锁仓量为1302.1亿美元:金色财经报道,据defillama数据显示,目前DeFi协议总锁仓量1302.1亿美元,重复率约为39.4%,真实总锁仓量790.1亿美元。锁仓资产排名前五分别为Curve(142.3亿美元)、AaveV2(135.2亿美元)、instadapp(109.6亿美元)、Compound(102.2亿美元)、PancakeSwap(93亿美元)。[2021/10/2 17:20:42]
作者抓住当下区块链热门话题DeFi作为文章主题介绍如何利用?uniswap-defi项目漏洞割韭菜。很显然经过精心思考。
分析
打开教程链接,原文教程提醒
Full?open?source?code----only?for?research?and?testing,?don't?cheat?using?this?method
作者特别提醒:完全开放源码----仅用于研究和测试,不要使用这种方法作弊。
教程中提到合约代码可以在如下链接下载
Click?to?enter?edit?mode?and?copy?the?code?into?it?(download?address?of?the?contract?code:https://wwr.lanzous.com/i4MJOg6f2rg)
RAMP DeFi正式加入IOST节点合伙人,跨链打通IOST与以太坊生态:据IOST官方消息,此前IOST宣布战略投资了去中心化金融项目Ramp DeFi,现已正式加入IOST节点合伙人生态。
RAMP DeFi首创了TVU (Total Value Unlocked) 的概念,专注于解锁Staking质押资产流动性问题,跨链打通IOST与以太坊生态。通过RAMP DeFi智能合约,用户超额抵押IOST获得IOST主网上的稳定币iUSD,iUSD可以 1:1 兑换为 rUSD(以太坊网络稳定币)。持有 rUSD 的用户可以借入或兑换与法定货币等值的稳定币,例如 USDT 或 USDC,rUSD也可以用于投资以太坊上新的 DeFi 项目、交易或者兑换成法定货币等。[2020/11/27 22:21:02]
根据教程提供的链接,下载代码查看
首先看到onlyOwner函数,而且条件判断中的address是硬编码的,这里说一下以太坊中的地址
以太坊地址
以太坊中的地址的长度为20字节,一字节等于8位,一共160位,所以address其实亦可以用uint160来声明。以太坊钱包地址是以16进制的形式呈现,我们知道一个十六进制的数字占4位,160/4=40,所以钱包地址ca35b7d915458ef540ade6068dfe2f44e8fa733c的长度为40。
BOX(Defibox)通过同币同权方案,总量正式缩减至500万:据官网消息,为期2天的Defibox 13号提案投票已正式完成。其中方案3以99.53%的高得票数碾压其它方案,完全由社区自由投票产生;Defibox基金会将按照方案3调整BOX通证模型,并开始该提案相关的产品开发。
据悉,方案3对BOX通证模型的调整主要体现在:1、BOX发行总量由1亿缩减至500万;2、BOX的分配比例遵循原方案;3、Swap 0.1%交易额,USN利息方配、爆仓罚金,去中心化借贷手续费等均100%用于BOX抵押分红;4、 BOX代币实现彻底的同币同权,BOX代币持有者、Defibox基金会均可以参与抵押分红和投票治理,每个BOX代币享有相同的经济收益和投票权利。
Defibox是EOS上一站式Defi应用平台,已完成Swap闪兑协议、USN稳定币协议,将支持去中心化借贷协议,目前总锁仓量已突破2600万EOS,是EOS上最成功的DeFi项目之一。[2020/9/27]
很明显,攻击者特意使用uint160来编码地址,起到了障眼法作用。如果不认真看,不会注意到这个address函数转换后的地址。
通过对地址进行转换
即:address(724621317456347144876435459248886471299600550182)?对应地址:0x7eed24C6E36AD2c4fef31EC010fc384809050926,这个地址即位合约实际控制账户地址。
库币将上线DeFi投票上币优胜项目ORN 并开启Staking服务:据库币KuCoin交易所消息,库币新一期投票上币活动Defi专场结果已经出炉,Orion Protocol (ORN)在社区投票中获得上币权,库币将于7月25日18:00上线Orion Protocol (ORN)并支持ORN/USDT交易服务。此外,Pool-X平台已于22日上线Orion Protocol (ORN)锁仓挖矿产品“ORN-Staking”。
Orion Protocol是链接多个交易所的流动性聚合平台,能够作为通用的交易网关直接接入各种各类去中心化的交易市场、流动性池以及以及中心化的交易平台。 库币数字货币交易所,为来自207个国家的500万用户提供币币、法币、合约、矿池、借贷等一站式服务。[2020/7/22]
继续往下看原文教程
首先部署合约
然后添加到?Uniswapv1?资金池
这里介绍下?Uniswap
UniswapV1
UniswapV1基于以太坊区块链为人们提供去中心化的代币兑换服务。UniswapV1提供了ETH以及ERC20代币兑换的流动性池,它具有当前DeFi项目中最引人注目的去中心化、无须许可、不可停止等特性。
DeFi借贷协议Aave将支持Uniswap资金池权益做为抵押资产:4月29日消息,DeFi借贷协议Aave发布推特流出一张Aave平台内部测试截图,该截图显示Aave用户界面中新增了Uniswap资金池选项,这意味着Aave或将支持Uniswap的资金池权益做为抵押品。[2020/4/29]
UniswapV1实现了一种不需要考虑以上特点的去中心化交易所。它不需要用户进行挂单,不需要存在需求重叠,可以随买随卖。得益于ERC20代币的特性,它也不需要用户将资产存入特定的账户。UniswapV1模型的优点在于根据公式自动定价,通过供需关系实现自动调价。
UniswapV1的运行机制的关键在于建立了供给池,这个供给池中存储了A和B两种货币资产。用户在用A兑换B的过程中,用户的A会发送到供给池,使供给池中的A增多,同时,供给池的B会发送给用户。这里的关键的问题在于如何给A和B的兑换提供一个汇率。UniswapV1定价模型非常简洁,它的核心思想是一个简单的公式x*y=k。其中x和y分别代表两种资产的数量,k是两种资产数量的乘积。
假设乘积k是一个固定不变的常量,可以确定当变量x的值越大,那么y的值就越小;相反x的值越小,y的值就越大。据此可以得出当x被增大p时,需要将y减少q才能保持等式的恒定。为了做一些更实用的工作,将x和y替换为货币储备金的储备量,这些储备金将被存储在智能合约中。
即用户可以把部署的合约可以添加到UniswapV1中,通过充入资产提供流动性,获得该资金池产生的交易手续费分红,过程完全去中心化、无审核上币。
接着
You?don't?have?to?worry?that?you?will?lose?money,?because?other?people?can?only?buy?and?can't?sell?it??in?this?contract.?When?the?trading?pair?is?created,?you?can?change?for?another?wallet?(the?wallet?address?of?the?contract?can?be?bought?and?sold)?to?buy?it,?and?then?test?whether?it?can?be?sold.?Here's?the?information?for?selling`
这是为什么?看看代码
合约代币101行,require(allow==true),即转账地址from需要在allow这个mapping中为布尔值true。
而修改allow在addAllow函数中,且需要合约Owner权限。
通过合约Ownable代码第13行可知,onlyOwner属性中,只有地址为724621317456347144876435459248886471299600550182即前面提到的0x7eed24C6E36AD2c4fef31EC010fc384809050926用户可以通过校验,而且是硬编码。这也是原文攻击者为什么使用了以太坊地址的uint160格式来编码地址,而不是直观的十六进制地址。
最终部署的合约SoloToken直接继承了Ownable合约
即只要用户部署该合约,合约Owner权限都在攻击者0x7eed24C6E36AD2c4fef31EC010fc384809050926手中。攻击者可以随时转移合约权限。
在教程中攻击者还提到
如果你想吸引买家,资金池必须足够大,如果只投入1-2个ETH,其他人将无法购买它,因为基金池太小。即希望部署合约的用户在资金池中添加更多的eth数量。攻击者为什么要单独Notice呢?
合约代码第124行,mint函数,Owner权限用户可以直接增发代币。这是合约最关键部分。即攻击者可以直接在合约中给指定地址增发代币,然后利用增发得来的代币去UniswapV1直接兑换合约部署用户存放在?UniswapV1?资金池中的?eth?。这也是为啥教程作者着重提示多添加?eth?数量的根本原因。
截止目前,攻击者地址0x7eed24C6E36AD2c4fef31EC010fc384809050926中已经获利大约36eth。
总结
Uniswap?因无需订单薄即可交易的模型创新引来赞誉,也因投机者和者的涌入遭到非议,在业内人士看来,Uniswap?的自动做市商机制有着特别的价值,作恶的不是Uniswap,但恶意与贪婪正在这个去中心化协议中一览无余。
流动性挖矿点燃DeFi烈火,火势烧到去中心化交易所Uniswap。它凭借支持一键兑币、做市可获手续费分红,迅速成为最炙手可热的DeFi应用之一。
财富故事在这里上演,某个新币种可能在一天之内制造出数十倍的涨幅,让参与者加快实现「小目标」;泡沫和罪恶也在此滋生,完全去中心化、无审核上币,让Uniswap成了人人可发币割韭菜的温床。
DeFi作为当下区块链热门话题,很容易吸引人们的注意。攻击者利用人们贪图便宜的好奇心理。使用所谓的?uniswap-defi项目漏洞?教程一步一步带用户入坑。以当下区块链中最火的DeFi类为主题,分享了?揭秘uniswap-defi项目漏洞-割韭菜新手法?教程。如果用户不注意看合约代码,很容易掉入攻击者精心构造的陷阱中去。成为真正的韭菜。
REF
UNISWAPissuingtokens-enhancingtokens(consumerscanonlybuybutcannotsell)
https://note.youdao.com/ynoteshare1/index.html?id=a41d926f5bcbe3f69ddef765ced5e27b&type=note?auto
代币合约
https://wwr.lanzous.com/i4MJOg6f2rg
标签:DEFDEFIEFISWAPDeFi OmegaXDEFI Governance TokenSDEFIpawswap币推特
BGLearning第五期活动规则如下:???1.?投票时间:2020年9月16日11:00至9月16日17:59(UTC8)???2.?持仓和交易额统计时间:?2020年9月2日00:00至9月15日23:59(UTC8)???3.
1900/1/1 0:00:00自从今年以来,随着机构投资者的涌入,他们开始对冲通货膨胀和美元贬值,比特币地址的数量急剧增加。据Cointelegraph报道,持有至少1个BTC的比特币钱包数量将创下80万英镑的历史新高.
1900/1/1 0:00:00尊敬的用户: 币虎合约将于2020年9月11日18:00上线DEFIUSDT永续合约,并开通逐仓/全仓1-50倍杠杆,邀您体验!注意:币虎合约上线的DEFI是去中心化金融的缩写,并非数字货币代码.
1900/1/1 0:00:0010年间,在李宗海身上发生了太多的传奇故事。宗海的大起大落都与比特币密切相关,用他自己的话说就是:“在比特币的世界里,最重要的不是什么时候上车,而是永不下车。““币圈一日,人间一年”,这一刻是巅峰,下一刻可能就是深渊.
1900/1/1 0:00:00加密货币交易所Bitstamp已从纳斯达克的技术供应商处实施了一个新的匹配引擎,据称它大大加快了交易速度。?自从纳斯达克收购以来,更新的匹配引擎在全球交易和清算技术提供商Cinnober开发的Bistamp先前实施的基础上进行了改进.
1900/1/1 0:00:00公告编号2020091002各位关心ZBG.io的项目方和投资者们:ZBG.io计划于2020年9月中旬上线DeFi项目—SSR,具体开放充提和交易时间将另行公告.
1900/1/1 0:00:00