
DeFi概念介绍(三)——无常损失和滑点
上篇文章我们讲了AMM的原理,并在最后提到了无常损失这个概念。今天这篇文章就来详细介绍无常损失和滑点这两个概念。无常损失当你成为一个做交易流动池添加者(又称做市商、矿工)时,相当于是和所有交易者做一个对手盘,如果所有交易者的盈亏加在一起还是盈利状态,那这部分的利润就来自于每个做市商的无常损失。 同时无常损失不是永久性的,价格经历短暂下跌后又重新恢复,收益也会修正。 那么如何计算无常损失呢? 还是先列出AMM的核心公式:K = A * B 假设以BNB和BUSD为例:Cbnb - 池中当前BNB 的数量 为上式中的ACbusd - 池中当前BUSD 的数量 为上式中的BPbnb - bnb当前价格Pbusd - busd当前价格 恒定为1u 可省略当K恒定时,我们可以得到任何时刻池中的BNB和BUSD数量真实场景假如,我们在 1 BNB = 500 BUSD 的时候,组了一组 LP 。我们拿出了 20 个 BNB 和 10000 个 BUSD 进行 LP 流动性提供代币兑换。此时我们得到了这几个变量:并且,我们保证此时的 K 也是后续所有情况下的常数 K,即组完 LP 代币后即时生...

Gitcoin女巫检测方案Top1解读及思考
GITCOIN在两个月前举办了 OpenData 社区黑客马拉松!其中公布了三个重点领域,分别是: 女巫检测、捐款激励措施优化分析、Dune高效分析,其结果也于近日公布。 相信大家最关心的应该是女巫问题,因为今年在OP和APT的刺激下,出现了人人羡慕撸毛党,人人皆是撸毛党的盛况。 今天对女巫检测的第一名开源方案结合自身理解,进行技术向的解读,并在文末给出自己对于女巫检测的一些个人思考。相信看完这篇文章,无论是项目方还是交互者都能有所收获。 注:本文不代表官方观点,仅为个人兴趣解读。 剧透,本文较长,涉及很多技术分析,没耐心的可以直接跳转文末浏览本文总结与个人思考。由于出题者是gitcoin,其主要交互场景为捐赠。但内在逻辑在其他的场景下同样适用(transfer、mint等动作),以下将与项目方进行交互的操作统称为项目交互。方案一:批量转移和交互女巫攻击本质上是用户将资金分散到多个地址,操纵这些地址与项目方合约进行交互的过程。 那么在这个过程中则可以将整个过程拆分两个部分,分别是 批量资金转移和合约批量交互。1.1 批量转账检测选择数据批量转账最简单的就是通过智能合约的方式进行,...
零知识证明和Layer2简介
1、零知识证明简单介绍零知识证明是一方(证明者)向另一方(检验者)在不透露具体内容的条件下证明某命题的方法。 举例: 两个富翁A和B相遇,两人的资产都在1-10亿之间,要如何在不告诉对方自己具体财富的情况下,得出对方是否比自己有钱?区块链中的零知识证明:其实大家可能会疑惑,为什么会用到零知识证明,那其实。在区块链机制中,想要去证明自己有存储某个东西的时候。他其实是不会把这个东西全部发给你来证明?比如说存储了一部电影我,可能不会把整个电影发给你了他,会有一种证明机制去,证明里面的某一块或者是某个东西他是有的,通过提交某个证明去给到系统,系统知道你有存这个东西这种就是其实就是零知识证明的一种,就是不公布具体内容,但是证明某个事情。例如银行贷款必须提交资产证明,通过零知识,无需提供银行房本,住址这些资料。2、Layer2简单介绍起源Layer2的诞生是为了解决以太坊主网拥堵及昂贵的问题,在Eth2.0完成之前保持住以太坊上生态霸主的地位。 广泛层面上,Layer2包含所有和以太坊主链有桥接的项目,包含像Polygon这类几乎独立的区块链; 狭义层面,指的是指以以太坊主网作为最终状态记录...
<100 subscribers

DeFi概念介绍(三)——无常损失和滑点
上篇文章我们讲了AMM的原理,并在最后提到了无常损失这个概念。今天这篇文章就来详细介绍无常损失和滑点这两个概念。无常损失当你成为一个做交易流动池添加者(又称做市商、矿工)时,相当于是和所有交易者做一个对手盘,如果所有交易者的盈亏加在一起还是盈利状态,那这部分的利润就来自于每个做市商的无常损失。 同时无常损失不是永久性的,价格经历短暂下跌后又重新恢复,收益也会修正。 那么如何计算无常损失呢? 还是先列出AMM的核心公式:K = A * B 假设以BNB和BUSD为例:Cbnb - 池中当前BNB 的数量 为上式中的ACbusd - 池中当前BUSD 的数量 为上式中的BPbnb - bnb当前价格Pbusd - busd当前价格 恒定为1u 可省略当K恒定时,我们可以得到任何时刻池中的BNB和BUSD数量真实场景假如,我们在 1 BNB = 500 BUSD 的时候,组了一组 LP 。我们拿出了 20 个 BNB 和 10000 个 BUSD 进行 LP 流动性提供代币兑换。此时我们得到了这几个变量:并且,我们保证此时的 K 也是后续所有情况下的常数 K,即组完 LP 代币后即时生...

Gitcoin女巫检测方案Top1解读及思考
GITCOIN在两个月前举办了 OpenData 社区黑客马拉松!其中公布了三个重点领域,分别是: 女巫检测、捐款激励措施优化分析、Dune高效分析,其结果也于近日公布。 相信大家最关心的应该是女巫问题,因为今年在OP和APT的刺激下,出现了人人羡慕撸毛党,人人皆是撸毛党的盛况。 今天对女巫检测的第一名开源方案结合自身理解,进行技术向的解读,并在文末给出自己对于女巫检测的一些个人思考。相信看完这篇文章,无论是项目方还是交互者都能有所收获。 注:本文不代表官方观点,仅为个人兴趣解读。 剧透,本文较长,涉及很多技术分析,没耐心的可以直接跳转文末浏览本文总结与个人思考。由于出题者是gitcoin,其主要交互场景为捐赠。但内在逻辑在其他的场景下同样适用(transfer、mint等动作),以下将与项目方进行交互的操作统称为项目交互。方案一:批量转移和交互女巫攻击本质上是用户将资金分散到多个地址,操纵这些地址与项目方合约进行交互的过程。 那么在这个过程中则可以将整个过程拆分两个部分,分别是 批量资金转移和合约批量交互。1.1 批量转账检测选择数据批量转账最简单的就是通过智能合约的方式进行,...
零知识证明和Layer2简介
1、零知识证明简单介绍零知识证明是一方(证明者)向另一方(检验者)在不透露具体内容的条件下证明某命题的方法。 举例: 两个富翁A和B相遇,两人的资产都在1-10亿之间,要如何在不告诉对方自己具体财富的情况下,得出对方是否比自己有钱?区块链中的零知识证明:其实大家可能会疑惑,为什么会用到零知识证明,那其实。在区块链机制中,想要去证明自己有存储某个东西的时候。他其实是不会把这个东西全部发给你来证明?比如说存储了一部电影我,可能不会把整个电影发给你了他,会有一种证明机制去,证明里面的某一块或者是某个东西他是有的,通过提交某个证明去给到系统,系统知道你有存这个东西这种就是其实就是零知识证明的一种,就是不公布具体内容,但是证明某个事情。例如银行贷款必须提交资产证明,通过零知识,无需提供银行房本,住址这些资料。2、Layer2简单介绍起源Layer2的诞生是为了解决以太坊主网拥堵及昂贵的问题,在Eth2.0完成之前保持住以太坊上生态霸主的地位。 广泛层面上,Layer2包含所有和以太坊主链有桥接的项目,包含像Polygon这类几乎独立的区块链; 狭义层面,指的是指以以太坊主网作为最终状态记录...
Share Dialog
Share Dialog


如果说区块链技术出现以来,真正带来行业变革的,一定是区块链技术与金融的结合——DeFi出现。而DeFi的基石,则是去中心化交易所DEX(Decentralized Exchanges)。与之相对的则是传统的中心化交易所CEX(centralized Exchanges)。
CEX顾名思义,是由平台负责维护交易系统、用户账户、订单,以及上文提及的交易可靠性担保,所以这一类交易所又被称为中心化交易所。
采用订单簿的交易模式,实时收集市场上还未被撮合的买单和卖单,这是数字交易平台的基本模式。交易平台的内部系统会通过订单簿来撮合买单和卖单。
可以类比于我们所熟知的淘宝,现在比较出名的CEX有币安、CoinBase等等。
值得注意的是CEX你的所有trade是不上链的,用户所有数据存储在交易所的数据库中,只有转出到钱包时才会有链上资产转移。
DEX而是一个基于区块链的交易所,它不将用户资金和个人数据存储在服务器上,而是通过授权智能合约来匹配希望买卖数字资产的买家和卖家。在匹配引擎的帮助下,这种交易直接发生在参与者(点对点)之间。简而言之,没有中间商。所有功能均由智能合约完成,功能全部去中心化。
当匹配完成后,双方的交易信息都会上链,上链成功后,将会由系统通知用户该笔订单已完成的信息。

DEX的优势:
安全性。DEX 通常通过分散的服务器网络进行大量交易对的低成本交易,降低了黑客攻击的风险。
匿名性。没有身份验证程序,没有 KYC,也没有上传到服务器的个人文件。
劣势:
效率低。由于区块链分布式记账特性,完成交易的速度上十分缓慢,全世界最大的公链ETH每秒的TPS只有15笔。
如果说区块链技术出现以来,真正带来行业变革的,一定是区块链技术与金融的结合——DeFi出现。而DeFi的基石,则是去中心化交易所DEX(Decentralized Exchanges)。与之相对的则是传统的中心化交易所CEX(centralized Exchanges)。
CEX顾名思义,是由平台负责维护交易系统、用户账户、订单,以及上文提及的交易可靠性担保,所以这一类交易所又被称为中心化交易所。
采用订单簿的交易模式,实时收集市场上还未被撮合的买单和卖单,这是数字交易平台的基本模式。交易平台的内部系统会通过订单簿来撮合买单和卖单。
可以类比于我们所熟知的淘宝,现在比较出名的CEX有币安、CoinBase等等。
值得注意的是CEX你的所有trade是不上链的,用户所有数据存储在交易所的数据库中,只有转出到钱包时才会有链上资产转移。
DEX而是一个基于区块链的交易所,它不将用户资金和个人数据存储在服务器上,而是通过授权智能合约来匹配希望买卖数字资产的买家和卖家。在匹配引擎的帮助下,这种交易直接发生在参与者(点对点)之间。简而言之,没有中间商。所有功能均由智能合约完成,功能全部去中心化。
当匹配完成后,双方的交易信息都会上链,上链成功后,将会由系统通知用户该笔订单已完成的信息。

DEX的优势:
安全性。DEX 通常通过分散的服务器网络进行大量交易对的低成本交易,降低了黑客攻击的风险。
匿名性。没有身份验证程序,没有 KYC,也没有上传到服务器的个人文件。
劣势:
效率低。由于区块链分布式记账特性,完成交易的速度上十分缓慢,全世界最大的公链ETH每秒的TPS只有15笔。
相较于CEX功能有限。
CEX 的优势:
交易速度快
劣势:
不安全。中心化后平台作恶。 交易所跑路情况屡见不鲜,A网、虎符、中币等等。
如果说DEX是DeFi的基石,那么AMM则是DEX的灵魂,驱动DEX的核心。AMM最早被Uniswap提出并应用,已经迭代了多个版本。
AMM(Automated Market Makers) 自动做市商。顾名思义,自动的为交易用户提供交易,并且兑换价格可以跟随当前市场价格。并且自动运行,无需第三方维护。都是用智能合约进行实现,无任何人工干预。
传统的CEX交易,你想买TokenA,必须存在卖方,才可完成交易,这就是所谓的订单薄交易。但是在DEX中,AMM 的作用下,传统的订单簿被流动性池(Liquidity Pool)所取代;买家、卖家、做市商不复存在,取而代之的是流动性提供者、交易者和套利者。由于是全自动地撮合交易,交易者也失去了报价的权力,只能接受 AMM 所提供地价格。
交易者
交易者可以与流动性池发生交易,向池子中投入一种资产,以换取另一种资产,这个交换的过程需要支付交易手续费。
套利者
套利者负责修正交易价格,以保证流动性池中的资产交易价和市场价一致,并从中套利,他们会给流动性提供者带来无常损失(Impermanent Loss)。
流动性池(Liquidity Pool)和 流动性提供者(Liquidity Provider)
流动性池可以理解为一个大池子,里面有许多的加密货币资产,一种DEX中提供的交易对拥有一个LP池,例如在BSC中BNB/BUSD交易对有 BNB/BUSD LP池。BNB/USDT 有BNB/USDT LP池,不同池子的深浅取决于流动性提供者所提供的币总价值,并不统一。
流动性提供者将自己的资产注入到流动性池中,为交易提供流动性,通过交易手续费获取一定收益。任何人都可以成为流动性提供者,只要他向池子里注入了资金。流动性提供者将资金注入流动池又被成为流动性挖矿,提供者又被称为矿工。这个会在接下来的无偿损失概念中进行详细介绍。
在这个特殊的自动做市商(AMM)机制中,存入的Token对需要由两种等值代币构成。流动性提供者必须按照当前Token对的价格进行注入,如当前注入BNB/BUSD LP池,假设此时的1BNB可以兑换10BUSD,那么注入LP中的则是 K个BNB和K*10个BUSD。
值得注意的是,流动性添加者通过质押Token对,也会获得流动性提供者代币(Liquidity Providers Token),也就是我们经常说的 LP 代币。作为凭证,获得流动性挖矿奖励。
运行机制
值的注意的是,当TokenA/TokenB 的 LP池中的资金为0时,将无法在当前DEX中进行TokenA、TokenB互换的交易。
流动性池解决了能否进行交易的问题,交易中Token价格问题则是交给了恒定乘积做市商 CPMM 来解决。
提出一种基于反比例函数作为价格曲线的LP池模式,
K = A * B
其中A和 B 分别是当前池中TokenA和TokenB的数量,K是一个由初始TokenA、TokenB数量决定常数。
如果没有流动性注入LP池,K不会随着交易的变化而变化。

恒定乘积做市:有自己的定价机制,价格由供需关系决定,流动性不会被耗尽。
当K确定时,交易的发生时,对应TokenA和TokenB的价格如何计算呢?
我们假设当前1BNB=100BUSD,此时A向流动性资金池中存入了1枚BNB和100枚BUSD。
此时K = 100*1 = 100
如果B想利用该交易对,用20BUSD换取BNB,他可以换取多少BNB呢?
利用K = A*B => 100 = (100+20)*(1-x)=> x = 0.166
则B可以得到0.166个bnb。
此时根据池中的代币对等价值原则。
得到 120BUSD = 0.833BNB => 1BNB = 144BUSD
在AMM模型规则下,当前DEX交易对下 BNB涨幅 44BUSD。从而高于市场价格,套利者出现开始套利。
池子越浅,每次交易对池中Token的价格影响越大。
假设此时的池子中有100个BNB和1w个BUSD。汇率依旧是1BNB=100BUSD
则B可以用100BUSD换到
100*10000= (10000+20)*(100-x) => x = 0.1996
此时此LP中BNB价格为:
10020*1 = 99.8*P => P = 100.4
汇率为:1BNB = 100.4BUSD
汇率波动微乎其微。
优势:
当交易量显著小于资金池量的时候,基本可以实现以市场价的双向交易,而且兑换价格能够自动跟踪市场价格。
部署完成后无须额外人为维护。可以注意到,在新增或减少资金池量时,需要对k=a*b值进行改变,除此情况下,k是恒定不变的。而且这一过程也是可以较容易实现自动化的,不需要调动别的价格接口,可以完全独立运行。
AMM利用恒定乘积做市商CPMM的价格曲线非常简单,计算过程也不复杂,早期Uniswap所部署的AMM仅使用大约300行代码。
劣势
会给流动性提供者带来无偿损失,需要通过其他手段进行补偿
那么什么是无偿损失和滑点呢? 我们将在下一篇文章中进行讲解。
这里是coolberwin的Mirror,创作不易,希望看完顺手关注我的Twitter,感激不尽。
相较于CEX功能有限。
CEX 的优势:
交易速度快
劣势:
不安全。中心化后平台作恶。 交易所跑路情况屡见不鲜,A网、虎符、中币等等。
如果说DEX是DeFi的基石,那么AMM则是DEX的灵魂,驱动DEX的核心。AMM最早被Uniswap提出并应用,已经迭代了多个版本。
AMM(Automated Market Makers) 自动做市商。顾名思义,自动的为交易用户提供交易,并且兑换价格可以跟随当前市场价格。并且自动运行,无需第三方维护。都是用智能合约进行实现,无任何人工干预。
传统的CEX交易,你想买TokenA,必须存在卖方,才可完成交易,这就是所谓的订单薄交易。但是在DEX中,AMM 的作用下,传统的订单簿被流动性池(Liquidity Pool)所取代;买家、卖家、做市商不复存在,取而代之的是流动性提供者、交易者和套利者。由于是全自动地撮合交易,交易者也失去了报价的权力,只能接受 AMM 所提供地价格。
交易者
交易者可以与流动性池发生交易,向池子中投入一种资产,以换取另一种资产,这个交换的过程需要支付交易手续费。
套利者
套利者负责修正交易价格,以保证流动性池中的资产交易价和市场价一致,并从中套利,他们会给流动性提供者带来无常损失(Impermanent Loss)。
流动性池(Liquidity Pool)和 流动性提供者(Liquidity Provider)
流动性池可以理解为一个大池子,里面有许多的加密货币资产,一种DEX中提供的交易对拥有一个LP池,例如在BSC中BNB/BUSD交易对有 BNB/BUSD LP池。BNB/USDT 有BNB/USDT LP池,不同池子的深浅取决于流动性提供者所提供的币总价值,并不统一。
流动性提供者将自己的资产注入到流动性池中,为交易提供流动性,通过交易手续费获取一定收益。任何人都可以成为流动性提供者,只要他向池子里注入了资金。流动性提供者将资金注入流动池又被成为流动性挖矿,提供者又被称为矿工。这个会在接下来的无偿损失概念中进行详细介绍。
在这个特殊的自动做市商(AMM)机制中,存入的Token对需要由两种等值代币构成。流动性提供者必须按照当前Token对的价格进行注入,如当前注入BNB/BUSD LP池,假设此时的1BNB可以兑换10BUSD,那么注入LP中的则是 K个BNB和K*10个BUSD。
值得注意的是,流动性添加者通过质押Token对,也会获得流动性提供者代币(Liquidity Providers Token),也就是我们经常说的 LP 代币。作为凭证,获得流动性挖矿奖励。
运行机制
值的注意的是,当TokenA/TokenB 的 LP池中的资金为0时,将无法在当前DEX中进行TokenA、TokenB互换的交易。
流动性池解决了能否进行交易的问题,交易中Token价格问题则是交给了恒定乘积做市商 CPMM 来解决。
提出一种基于反比例函数作为价格曲线的LP池模式,
K = A * B
其中A和 B 分别是当前池中TokenA和TokenB的数量,K是一个由初始TokenA、TokenB数量决定常数。
如果没有流动性注入LP池,K不会随着交易的变化而变化。

恒定乘积做市:有自己的定价机制,价格由供需关系决定,流动性不会被耗尽。
当K确定时,交易的发生时,对应TokenA和TokenB的价格如何计算呢?
我们假设当前1BNB=100BUSD,此时A向流动性资金池中存入了1枚BNB和100枚BUSD。
此时K = 100*1 = 100
如果B想利用该交易对,用20BUSD换取BNB,他可以换取多少BNB呢?
利用K = A*B => 100 = (100+20)*(1-x)=> x = 0.166
则B可以得到0.166个bnb。
此时根据池中的代币对等价值原则。
得到 120BUSD = 0.833BNB => 1BNB = 144BUSD
在AMM模型规则下,当前DEX交易对下 BNB涨幅 44BUSD。从而高于市场价格,套利者出现开始套利。
池子越浅,每次交易对池中Token的价格影响越大。
假设此时的池子中有100个BNB和1w个BUSD。汇率依旧是1BNB=100BUSD
则B可以用100BUSD换到
100*10000= (10000+20)*(100-x) => x = 0.1996
此时此LP中BNB价格为:
10020*1 = 99.8*P => P = 100.4
汇率为:1BNB = 100.4BUSD
汇率波动微乎其微。
优势:
当交易量显著小于资金池量的时候,基本可以实现以市场价的双向交易,而且兑换价格能够自动跟踪市场价格。
部署完成后无须额外人为维护。可以注意到,在新增或减少资金池量时,需要对k=a*b值进行改变,除此情况下,k是恒定不变的。而且这一过程也是可以较容易实现自动化的,不需要调动别的价格接口,可以完全独立运行。
AMM利用恒定乘积做市商CPMM的价格曲线非常简单,计算过程也不复杂,早期Uniswap所部署的AMM仅使用大约300行代码。
劣势
会给流动性提供者带来无偿损失,需要通过其他手段进行补偿
那么什么是无偿损失和滑点呢? 我们将在下一篇文章中进行讲解。
这里是coolberwin的Mirror,创作不易,希望看完顺手关注我的Twitter,感激不尽。
No comments yet