最近各种通过闪电贷攻击在区块链中套利的新闻将闪电贷送上了热门话题,2021年初,YearnFinance受到闪电贷款攻击,我们查看这个交易,发现一笔交易中,居然有如此多的骚操作,完全刷新了笔者对区块链和智能合约的认识。不禁开始思考,为什么黑客一开始可以从dYdX借款,又将借到的虚拟货币抵押到Compound,最后一系列操作完成后还款到dYdX,这期间发生了161次代币转移,这怎么的也要一杯茶的时间吧。然而事实上,闪电贷攻击快得就是这么不讲道理。这笔交易的链接:https://cn.etherscan.com/tx/0x6dc268706818d1e6503739950abc5ba2211fc6b451e54244da7b1e226b12e027接下来我们开始一步一步的分析,一笔智能合约交易是如何完成在借贷平台和中心化交易所之间的所有操作。智能合约究竟存储在哪里
QuickSwap因闪电贷攻击损失22万美元,将暂时关闭借贷市场:10月24日消息,据QuickSwap官方推特表示,暂时关闭借贷市场QuickSwap Lend,目前已因闪电贷攻击损失22万美元。本次攻击是通过Curve预言机漏洞实现的,只有Market XYZ借贷市场遭受影响,QuickSwap合约仍是安全的。
此外,QuickSwap表示,由于该市场由QiDAO提供资金,故没有用户的资金受到损失。[2022/10/24 16:37:18]
这里用以太坊的go语言客户端为例,以太坊客户端在收到创建智能合约的交易以后,会使用Hash算法为智能合约生成一个合约地址,在这个合约地址下存储智能合约的代码与合约中的数据。智能合约会被存储在客户端的数据库中与这个地址对应,这个数据库叫做StateDB。StateDB记录了区块链上所有的地址余额、Nonce、状态等信息。以太坊客户端可以通过合约地址,将合约的代码加载到内存中进行执行。最终这些数据会被持久化到LevelDB中,存储在以太坊客户端的磁盘上。通过StateDB实现的这些接口,客户端通过GetCode这个方法,可以获取到智能合约地址下对应的代码。
DeFi协议xWin将对受闪电贷攻击影响用户进行1:1 xWIN代币补偿:官方消息,BSC链上DeFi协议xWin公布补偿计划,将根据闪电贷攻击前协议中的质押的数量余额,对质押xWIN代币和参与xWIN挖矿的XWIN-BNB LP代币用户,进行1:1 xWIN代币补偿。但是,xWin表示正在考虑最多一年的锁定期。此外,xWin表示正在探索为xWIN协议提供保险的可能性。xWIN目前还正努力在日本以外的海外交易所上市。最后,xWin团队正在制定xWIN代币销毁计划,目前还没有就金额大小达成决定。
此前消息,BSC链上DeFi协议xWin发布闪电贷攻击总结,共计损失1007枚BNB。[2021/6/27 0:09:54]
Yield Protocol开发者提出标准化实现的闪电贷改进提案:DeFi协议Yield Protocol首席工程师Alberto Cuesta Ca?ada以及其他两位开发者提出标准化实现的Flash Loans (闪电贷)改进提案EIP-3156,允许智能合约在无需抵押的情况下借出一定数量的代币,但前提是必须在同一笔交易中将其返还。该拟议标准为借款人和存款人提供了标准的接口和流程,允许快速实现闪电贷集成,而无需考虑每个特定的实现。[2020/12/9 14:40:48]
客户端完成区块同步后,从以太坊创世块开始创建的所有账户地址信息与智能合约地址信息都会同步到这个StateDB中,因此一个合格的以太坊矿工客户端可以直接在本地加载所有的合约代码,是不需要跨网络和客户端进行调用的。智能合约如何执行
Chainlink联合创始人:最近的DeFi攻击不应归咎于闪电贷:金色财经报道,Chainlink联合创始人Sergery Nazarov表示,将最近的DeFi攻击定性为闪电贷攻击可能不太公平。Nazarov表示,真正的问题在于构造糟糕的DeFi项目。尽管许多人试图将这种攻击描述为“闪电贷”的结果,但大多数此类行为都可能是由任何一个资本充足的行动者实施的。[2020/11/19 21:17:34]
智能合约代码是通过以太坊客户端内部的一个叫作EVM的虚拟机进行执行的,以太坊的虚拟机定义了各种的操作指令,每一个指令对应了一个处理函数,以及这个指令需要消耗的矿工费。
以太坊智能合约是按照实际指令执行的消耗来计算gas的,不同复杂度的指令消耗的gas也有差别,越复杂的智能合约指令,消耗的gas越多。查看这笔交易,我们发现矿工费高达3**.**37117716ETH,消耗了8644044gas,占据一个区块容量的74.3%。梦想着可以靠闪电贷空手套白狼的朋友们,还是先算一算矿工费要紧。智能合约中是如何调用另一个智能合约的
在智能合约中,我们调用另一个合约的代码,最终会被编译成一个叫作CALL的EVM虚拟机指令,它的基础gas费用是40gas,实际产生的矿工费根据另一个合约执行的指令来计费。
查看opCall这个方法的实现,发现,调用另一个智能合约与当前智能合约同样都是通过EVM虚拟机的Call方法完成的。
因此,我们可以发现,其实智能合约的执行,以及智能合约之间的调用,都是在矿工的客户端执行的,并没有进行跨客户端与网络调用,交易失败也是在矿工的客户端进行回滚,因此闪电贷攻击才可以如此快的在一笔交易中完成所有的操作。智能合约某一步执行失败会怎么样
StateDB提供了两个方法,分别是Snapshot与RevertToSnapshot,一个用于对StateDB进行快照,另一个用于恢复快照。在执行交易前,StateDB会调用Snapshot方法进行快照,如果交易执行到某一步发现错误,则会调用RevertToSnapshot进行回滚。因此闪电贷攻击可以实现如果在任何一步出现错误,就当从来没有从借贷平台借过一样,所有状态回滚到交易执行之前,当然交易失败时消耗的矿工费还是得出。
总结
闪电贷之所以能够在一笔交易中完成各种虚拟资产的交易,实际上都是通过调用去中心化交易所和各种去中心化借贷平台的智能合约来完成的,这些调用只需要在矿工客户端本地即可完成。这笔交易会在收到交易广播的所有具备打包资格的以太坊客户端中执行,谁先执行完成,并打包到下一个区块中,谁就能赢得这笔矿工费。
原地址:https://medium.com/1kxnetwork/how-to-assess-new-community-building-hires-for-token-networks-a.
1900/1/1 0:00:00说起我国A股的投资者,林园是个响当当的名字。很多股民都听过他的战绩,他最让人津津乐道的就是1989年以8000元进入股市,2006年10月底,其所持有的股票总市值达20亿元,也就是17年间,翻了.
1900/1/1 0:00:00市场情绪:根据来自非小号的数据显示,截止发稿前24小时全市场主要虚拟币上涨数量占比50.40%,和下跌数量占比的49.60%相差无几。该项数据相比昨日同期出现明显好转,市场的悲观情绪得到修复.
1900/1/1 0:00:00编者按:本文来自链新,作者:冯铭作为新生事物,区块链技术发展迅猛,同时也给各地带来监管挑战。放眼全球,沙盒监管成为了逐渐流行的选项.
1900/1/1 0:00:00加入PolkaWorld社区,共建Web3.0! Substrate创业营第一批入选名单出炉了!6个项目从139个申请者中脱颖而出,入选了Substrate创业营.
1900/1/1 0:00:00近几个月来,以太坊的采用率以前所未有的速度增长。去中心化金融继续快速增长,稳定币在全球范围内被采用,NFT也成为热点话题。以太坊的广泛使用对其长期前景而言是一个很好的信号.
1900/1/1 0:00:00