当前位置:首页>货币平台

闪电贷技术详解-Part 1

日期:2023-03-16

来源:玫瑰财经网

浏览:

    闪电贷技术详解-Part 1

    熊市是试金石,DeFi的核心形式,哪些可以超越周期,实现更好的发展周期中还暴露了哪些问题,值得后来者参考吗与SharkTeam合同安全系列课程的【DeFi安全性】一起讨论,深入探讨,第二课【闪电贷款技术详细说明】。

    长句,分为三部分。这是第一部分。

    1.闪电贷款原理及应用场景;

    闪贷合同的履行及风险防范。

    闪贷相关项目合同分析。

    1全格贷款原理简介1.1概念顾名思义,是在极短的时间内(区块时间或交易内)完成贷款和偿还的工作。

    在DeFi领域,全格贷款是DeFi世界提供金融业务无担保贷款服务的有利工具。

    闪电的概念最早由Marble协议提出,并由Aave、dYdX和Uniswap等协议推广,第一个闪电来自Aave协议。

    1.2设计原理全格贷款通过智能合同的原子性完成无风险贷款业务,因此全格贷款业务只能通过智能合同完成。

    简单来说,在一个区块交易中同时完成贷款和还款工作,不需要担保任何资产,只需要支付手续费。

    用户可以利用借来的资产进行套利、偿还抵押贷款、自我清算等其他工作。

    然后交易结束后,用户只需及时归还借的钱和手续费。否则,交易就会回滚,就像什么都没发生一样。

    什么是原子性

    闪电贷技术详解-Part 1

    这里原子性是指具有原子性的事务。此原子事务不可分离,在事务执行完成之前,不会被其他任务中断。此事务中的所有任务都成功执行或全部失败,没有一部分成功,另一部分失败的情况。

    以太坊的每一笔交易都是原子性的,每一笔以太坊交易都可能包含多项操作

    闪电贷技术详解-Part 1

    ,包括:

    l从dYdX借款、偿还;

    l向Compound提供ETH,DAI出租。

    l从Curve借来的DAI的一半是USDC换成了。

    l在Uniswap为DAI/USDC池提供流动性等。

    所有这些操作都可以在一个事务中同时执行,如果一个操作失败,整个事务将不会回滚,就像什么都没发生一样。

    单笔交易仅受Gas成本限制和以太网块容量的限制,因此理论上可能有数千个操作阶段。

    1.3成功案例第一,进行全格贷款最重要的是找到全格贷款供应商。

    Aave或dYdX等项目开发了智能协议,允许DeFi用户在同一以太坊交易内还款时

    闪电贷技术详解-Part 1

    ,从指定池借用不同的货币。

    使用快闪贷款通常有固定的费用。例如,Aave合同要求借款人返还初始金额的0.09%。0.09%这一费用将分配给储户和集成商,前者提供贷款的资金,后者为使用Aave的闪电贷款API提供便利。这笔费用的一部分也将变成AAVE代币。

    从贷款池借出金额后,只要在不同阶段的区块链末端迅速偿还贷款,就可以用于其他套利操作。

    贷款必须在一次交易内偿还,所以贷款人不偿还贷款的风险不存在。唯一的危险是一直存在的智能合同和平台风险。

    1.4闪电和闪电带闪光(Flash Loan)和闪电带(Flash Swap)是块链独有的概念。下表显示了两者之间的主要差异。

    快闪贷款(Flash Loan)必须用你借的相同资产偿还。借用Dai,就要偿还Dai。利息协议Aave对全格贷款收取0.09%的费用。至少需要三项工作。

    1.向艾比借钱

    2.在一个DEX兑换

    3.为了从其他DEX中获得利润,进行套利,最后偿还贷款和全格贷款的费用。

    闪电交换(Flash Swap)允许交易者在交易后期支付(或返还)资产之前接收资产,并在其他地方使用

    闪电贷技术详解-Part 1

    。就像在Uniswap所做的那样,闪电交换收取交换费,而不是固定费用。与闪电贷款相比,闪电兑换可以看作是“免费”贷款。因为兑换手续费是从交易订单中扣除的,所以不需要另外支付。最后的区别是,我们可以偿还我们兑换的所有资产。如果我们用闪电交换ETH购买Dai,可以用Dai或ETH偿还。因此,我们可以执行更复杂的任务。(阿尔伯特爱因斯坦)(以英语发言)。

    闪电转换和闪电贷款都使用乐观转移(Optimistic Tranfer),这是我们稍后将介绍的有吸引力的技术。

    1.5乐观转移转换贷款和闪电交换都采用了称为“乐观转移”的技术。通过这项惊人的DeFi创新技术,用户可以进行无抵押贷款或兑换交易,只要在交易结束时还清贷款,就可以进行交易。为了更好地理解这个想法,我们来看一些代码。

    1.5.1闪存贷款中的乐观转帐是Aave(V1)的LendingPool.sol合同代码。让我们看一下FlashLoan函数的实现,特别是以下方法:

    在第878行,可以看到智能合同将资金转移到用户的合同上。也就是说,为了确保用户有足够的资产偿还贷款,没有确认用户合同的馀额,就直接转账了。

    这怎么可能用户不会带着这个代币逃跑吗嗯,如果这是交易的结束,那将是一个严重的问题。但是你看,代码还没有结束。用户的合同是否保留这些令牌取决于成功运行后的几行。

    乐观转移后,在第881行查看Aave合同,使用令牌的乐观馀额(Optimistic Balance)和用户传递的参数调用用户的合同。这些参数将成为用户必须传递给合同的所有项目。交易成功执行。现在,交易工作流在Aave合同中暂时中断,移动到消费者的合同将继续运行。这个合同可以执行逻辑,期待成功的交易。

    在第884行运行了用户的合同代码,工作流现在返回到Aave合同,该合同使用require语句检查用户合同返回的值。乐观主义到此为止了。现在,您需要确认用户合同是否进行了有利可图的交易!那么Aave合同就可以扣除其费用。如果交易没有盈利能力,require声明将失败。这意味着整个交易将失败。换句话说,以前的乐观转移实际上没有发生。

    1.5.2让我们看一下,通过闪电对中乐观转账,Uniswap如何实现乐观转账。这是从UniswapV2Pair.sol合同中获得的,特别注意swap函数。

    乐观转账发生在170-171行,就是这种_safeTransfer方法。为了更好地识别这一点,联合国教育、科学及文化组织(教科文组织)甚至提供了这种乐观转账的说明(联合国教育、科学及文化组织(教科文组织)提供了关于协议协议的大量文件和教程)。下一行是Uniswap合同以乐观馀额调用用户的合同。

    再次,假定事务工作流在Uniswap合同中暂停,乐观地将发送的令牌作为用户合同继续运行。用户合同运行后,事务工作流将返回到Uniswap合同。然后,Uniswap合同将分配用户合同的新余额,并试图收取交换手续费(第180-181行)。

    如果用户合同不能通过令牌获得利益,182号require声明将失败,整个交易将回滚。这是乐观转移的关键。也就是说,100%取决于交易是否成功。如果不成功,交易将无效,并返回令牌之前的状态。但是如果成功的话,可以保持乐观的转账,用户可以获得利益。

    2全格贷款应用场景全格贷款最常见的使用案例有三个:套利(Arbitrage)、交换抵押品(Swapping Collateral)和自我清算(Self-Liquidation)。

    2.1套利(Arbitrage)套利,即闪贷,可以扩大成功套利的利润。

    让我们想象一下,Uniswap和Curve之间的DAI/USDC池存在价格差异。在Curve上,1个DAI可以与1个USDC交换,但在Uniswap上,只要0.99个DAI,就可以购买1个USDC。现在可以尝试以下套利。

    1.通过全格贷款借给艾比100,000 DAI。

    2.在Uniswap,用USDC替换100,000 DAI,获得101,010 USDC。

    3.将曲线上的101,010 USDC替换为101,010 DAI

    4.第一个100,000 DAI 0.09% Fees=100,090 DAI退款

    5.利润101,010 Dai100,090 Dai=920 Dai

    在整个套利过程中,我们要考虑以下几个因素。

    1.网络费用(Network Fees):其中,网络费用是指在区块链协议后将交易写入区块链时必须支付的费用(例如以太网房间的Gas费用)。多层次套利可能成本很高,所以计算利润时必须考虑手续成本。

    2.价格滑点:在执行订单时,需要计算会遇到多少价格滑点(提示:取决于成交额的大小和流动性池的流动性)。

    3.善解人意:别人发现了相同的机会,很有可能会努力超越你。最重要的是,监视mempool的机器人可以发现你的收益套利机会,并以更高的gas费率发送同样的交易,偷走你的收益机会。

    2.2抵押物更换(Swapping Collateral)假定使用ETH作为抵押物,从Compound借了DAI。您可以通过以下方式将抵押物从ETH改为BAT:

    1.闪电贷款DAI启动

    2.用借来的DAI偿还COMOPONAND的贷款

    3.提取ETH

    4.在Uniswap中,将ETH替换为BAT

    5.作为Compound的担保提供BAT

    6.请用你的BAT抵押借给DAI

    7.用借来的DAI Fees偿还第一阶段的全格贷款

    通过这种操作,再支付贷款额的0.09%,就可以将你的抵押品从ETH改为BAT。

    2.3自行清算(Self-Liquidation)假设以下情景:

    你有贷款向Compound以ETH为抵押借给DAI。ETH价格持续下跌,已经接近清算水平。为了降低清算水平,不想存更多的ETH,也没有偿还贷款所需的DAI。(阿尔伯特爱因斯坦,金钱)现在,与其让MakerDAO合同清算你的抵押品,并向你收取清算费,不如采取以下措施。

    1.开始全格贷款,借戴,金额是你欠Compound的。

    2.偿还Compound的DAI贷款并提取ETH

    3.用DAI替换足够的ETH,以偿还阶段1中的转贷费用

    4.抓住剩下的ETH

    通过这一阶段,可以自行清算,从而避免合同清算和清算费用。

    资料来源:DeFi之路

    单击下载

    European Exchange金融投资European Exchange(也称为Eurokx)是世界领先的数字资产交易所,为全球用户提供比特币、莱特货币、以太网货币等数字资产的现货和衍生品交易服务,并使用区块链技术为全球交易者提供高级金融服务。这是一个非常古老的数字货币交易平台,平台为我们提供安全、专业的数字货币交易经验,为新手提供完整的流程指导,使其易于启动,通过客服24小时在线回复提供最佳服务。

相关文章阅读

Copyright (c) 2022 玫瑰财经网 版权所有

备案号:冀ICP备17019481号

玫瑰财经网发布此信息的目的在于传播更多信息,与本站立场无关。玫瑰财经网不保证该信息(包含但不限于文字、视频、音频、数据及图表)全部或者部分内容的准确性、真实性、完整性、有效性、及时性、原创性等。
相关信息并未经过本网站证实,不对您构成任何投资建议,据此操作,风险自担。