Codex释疑(三)——lp篇,这可能是最善解人意的老婆了

 空投币   2020-03-09  来源:互联网  0 条评论
优质活动 币圈快讯 平台公告 行情分析
最新羊毛 最新空投 链圈挖矿 活动线报
新币上市 币圈空投 国外项目 币链屋
提醒:本站内容均转自网络,仅用于开发者下载测试,请明辨风险,若涉资金安全及隐私,请谨慎!谨慎!再谨慎!一切风险自担,涉及资金交易及个人隐私务必小心并远离,切记千万别投资,勿上当受骗。《本站免责申明》

    笔者之前承诺过,拿到lp相关代码后就给大家解析Codex中AMM功能的lp系列的,但是懒惰的笔者今天才发现3月4号AP就把代码发出来了,只不过没发全,刚才看到赶紧写这篇长文来解析lp合约。由于已经有很多优秀长文解读过了,拾人牙慧的行为笔者又不屑为之(AP的不算),所以今天笔者尝试结合计算思维来解读lp。

分割问题降低复杂度的计算思维

首先请大家看一个有趣的小问题。

一天,有个年轻人来到小米步童鞋店里买了一双鞋子。这双鞋子成本是15元,标价是21元。结果是这个年轻人掏出50元要买这双鞋子。小米步童鞋店当时没有零钱,用那50元向街坊换了50元的零钱,找给年轻人29元。但是街坊后来发现那50元是假钞,小米步童鞋店无奈之下,还了街坊50元。 现在问题是:小米步童鞋店在这次交易中到底损失了多少钱?

这个问题不算太复杂,但是可能会有不少人算错,笔者并没有要卖弄算法的意思,所以直接在这里贴上各种解题方法:

  1. 方法一:流水账: 拿货(-15)-> 卖出收款(+50)-> 找零(-29)-> 找邻居换钱(+50-50) -> 给邻居赔钱(-50)

    最后的结果是:-15+50-29-50+50-50=-44, 即赔了44元

一般情形下,我们做的交易也是这样简单的,只要一条线把账算清就可以了。

  1. 方法二:进出账:

    所有进账:卖出收款(+50)、找邻居换钱(+50) ==> 100 所有处长:拿货(-15)、找零(-29)、找邻居换钱(-50)、给邻居赔钱(-50) ==> -144

    最后的结果是: 100-144=-44, 即赔了44元

显而易见的是,这一次我们把模型分成了进账和出账两部分,整个问题的复杂度大幅度下降

  1. 方法三:辨真假:

    真实交易:拿货(-15)、找零(-29)、找邻居换钱(+50)、给邻居赔钱(-50) ==>-44 虚假交易:卖出收款(+50)、找邻居换钱(-50)==> 不论过程如何,直接记坐0

    最后的结果是: -44+0=-44,即赔了44元

    在这种方法中,直接将所有假币作为货币的记录作废,直接得出答案。

    好了,其实还可以更简单,但是没必要再讲下去了,我相信已经有很多读者理解了我的意图。lp本身其实并不复杂,只要你能把问题剥离成足够简单的结构就可以了。所以,笔者下面的讲解将围绕这一思路展开。

lp到底是什么样的?

    其实这类问题的解读已经很多了,笔者最赞同邹刚大佬的解释————即你买了一部分lp,相当于你开了一个交易所。虽然这种解读并不准确(应该是自动做市商),但是对于小白来说这就足够了,所以本文中笔者也将就这一观点展开。

    从上面的例子中我们知道,要想理解自己还不曾理解的复杂概念,将其分割成小块会有很大帮助。那么lp也可以分割吗?当然可以。依然是以EIDOS/EOS为例,且不计手续费。

  1. 你买了多少eoslp,你就有交易所多少资产,包括交易本身。

    举个例子,假设现在你有100EOSLP,而eoslp的总发行量是1000EOSLP,那么你就拥有10%的eospool.eo中的所有资产,包括10%的EIDOS和10%的EOS,以及所有交易的10%。这个时候我拿了100EOS来交易,那么其中有10个EOS实质上是在跟你交易。

  1. 先来的后来的股东并没有实质上的区别,也可以认为“互不影响”

    接着上面的例子,这个时候神童也来了,买了100EOSLP,先不管他用什么买的,反正就是买了,然后eospool里的资产只有1/11是你的了。你亏了吗?没有,因为对应的还是那么多,他买不买跟你没关系。

    不少人在这里就迷糊了,你这个作者骗人,我不管,你现在去买一个看看价格变不变!

    所以呢,这里还是需要您忍住,且听笔者慢慢讲。

我们先假设这个阶段Codex里的EIDOS和EOS之间价格不变,假设这1000EOSLP的eospool中有8000EOS和1000w EIDOS,那么就相当于你的100 EOSLP代表的是800 EOS和100w EIDOS。     然后神童来买lp了,神童观察到自己一次性买越多价格滑点越大,机智如他立马写了个代码,先花8EOS买lp,然后1wEIDOS买lp,再花8EOS买lp,然后1wEIDOS买lp,一共循环了100次,反正就是买了lp以后价格居然没有变。     现在好了,池子里有1100EOS和8800w EIDOS,你占有1/11,还是原来那么多,神童也和你一样。那么神童购买老婆的行为并没有对你产生困扰,他没有抢走你的老婆。

  1. 每个人都是一个自动做市商

    好了,讲到这里,我们是不是,可以把每个EOSLP持有者分割开呢?大家互相并不影响,都是做市商,每个人持有的EOSLP代表自己做市商的规模,你的100EOS和800w EIDOS是一个做市商,这些是你自己的,你随时可以把它卖了拿回你的EOS和EIDOS,并且先卖和后卖是完全一样的,不需要骚操作。那你的客户哪里来呢?就是现在,任何人在Codex上的交易,都会摊给你1/11.

  1. 每个EOSLP都是一个自动做市商

    我们可以比上一步更进一步,认为每个EOSLP都是一个自动做市商,在本例中,1EOSLP代表什么呢?它代表一个自动做市商,持有8EOS和1w EIDOS,一共这么多,你给他EOS,他给你EIDOS,童叟无欺。但是来了个大户它一个人吃不下来,怎么办?它找来了伙伴,找来了好多EOSLP,每个EOSLP都和它一样,大家平分了交易。好了,不管大户拿的钱再多,只要老婆多,就不会产生大的滑点。

    而你,有多少老婆,就能做多大生意。

老婆是怎么算钱的

    自古以来,就有一种叫老婆的生物存在于世,她有一个绝技,那就是:“你可能血赚,我永远不亏。”

    lp的计算方法很简单,依然从上例来看:

value(1EOSLP)=value(8 EOS)+value(1w EIDOS) 

    这是最简单的公式,那么我们可以再来一个新公式:

8 * 1w = 8w 这是什么意思呢?一旦AP在初始设定中,设置为value(1EOSLP)=value(8 EOS)+value(1w EIDOS),那么就会有这样一个常数存在,8*10000=80000,这个常数不会发生变化。 假设我现在给这个EOSLP分了2个EOS的交易过去,那么EOS的数量变成了10个,那么EIDOS的数量就会变成80000/10=8000个,这时候,少了2000EIDOS,这部分EIDOS就是用2个EOS换的。 对于每一个EOSLP,除手续费外,不管发生任何交易,这个80000是不会变的。如果这个EOSLP分到了8个EOS的交易,那么交易的结果是卖出去的EIDOS=80000/16=5000个,则这个EOSLP变成了16个EOS和5000个EIDOS。从这个角度来讲,1. Codex是不惧砸盘的;2. Codex在深度不足时,价格容易波动。 

    那么这种时候为什么说不亏呢?AP说乘积不变,我觉得计算复杂很多人理解不了,所以作如下解释:

依上例,假设EIDOS涨了,以前1EOS=1250EIDOS,现在只能换1000个了。那么Codex立马被搬砖党搬平,怎么搬呢?就是转入EOS,转出EIDOS,由于80000是不变的, 最后的结果是:8.94EOS,8948.5EIDOS。 这个时候你会看到,虽然EIDOS少了,但是EOS多了。那么总共怎么变呢? 变化前: 如果1EOSLP卖出去,你会得到 8EOS,10000EIDOS。 你只想要EIDOS,就把EOS卖了,假设你影响不了市价: 8EOS=10000EIDOS,合计20000EIDOS 你只想要EOS,把EIDOS卖了,假设你影响不了市价:10000EIDOS=8EOS,合计16EOS 变化后: 如果1EOSLP卖出去,你会得到 8.944EOS,8948.5EIDOS。 你只想要EIDOS,就把EOS卖了,假设你影响不了市价: 8.944EOS=8944EIDOS,合计17892.5 EIDOS 你只想要EOS,把EIDOS卖了,假设你影响不了市价:8948.5EIDOS=8.949EOS,合计17.893EOS 从上面你可以看出来,按EIDOS计,你亏了,但是按照EOS计,你又赚了。 

    很多人都在这里迷糊了,怎么回事呢?其实这里有一个问题就是:

Codex是交易对的形式运作的,一个币涨了,那么对交易对来说就是另一个跌了,所以任何价格变动,都是一样的,就像天平一样。因此,一边价格涨20%,另一边就跌1-1/1.2=16.7%。由于两边总价值始终相等,所以不管涨跌都是一样的,只是计量方式变化了,所以币本位永远不亏。 

    好了,又有人要迷惑了,因为有时候只要计算人民币,就能发现总值是会变的,这又是为何呢?

    这里再引入一个概念,那就是,以现在Codex的体量,EOS几乎就是稳定币,EOS兑人民币的价格不变的话,EIDOS的变化就会影响总值(金本位)。这里就可以看到老婆的有一个特点了————保值。

依然是上面的例子,EIDOS升值了,从0.0008升到了0.001: 如果你从一开始只持有EIDOS,即20000EIDOS,那么变化后你相当于持有20EOS; 如果你从一开始只持有EOS,即16EOS,那么变化后相当于持有16EOS; 然而实际是你持有lp使得你最后持有17.893EOS。 嗯,亏了?还是少赚了?还是Codex太坑了? 那你反过来看,假设EIDOS从0.001跌到了0.0008呢? 

    不论价格涨跌,你都套着两种币在涨跌,笔者没必要再进行复杂的计算说明,只说结论了:涨的时候少涨很多,跌的时候少跌很多,少的部分比一半多。

老婆是怎么买来的?

    这里笔者讲一下流程:

    如果你用EOS买,你带着16个EOS的彩礼来了,丈母娘说,这怎么好意思,给你买个车。然后就花了8EOS买了价值10000EIDOS的法拉利借给你用,老婆也跟你回家了。从此,你拥有了你老婆,而你老婆有8EOS和10000EIDOS,你把老婆卖了就能把彩礼拿回来,但是拿回来的不是你给的16EOS,而是8EOS和10000EIDOS。

    如果你用EIDOS买,你带着20000EIDOS的彩礼来了,丈母娘说,这怎么好意思,得买个房子,然后就用10000EIDOS的法拉利换了一套8EOS的二手房借给你,还交了0.1%的房产税。从此,你拥有了老婆,而你老婆有7.992EOS和10000EIDOS(实际上这里计算结果会有点变化,多一点EIDOS买EOS,使得二者价值相等)。你把老婆卖了就能把彩礼拿回来,但是拿回来的不是你给的20000EOS,而是7.992EOS和10000EIDOS。

    最后,再补充一点,前面计算的8EOS*10000EIDOS得到的80000这个值,并不是完全不变的,而是会把手续费无偿添加进去。因此,手续费永远在交易的同时就已经平分给每一个EOSLP了,而你持有的EOSLP的多少,会决定你拿到多少手续费,而这一计算和rex是完全一致的。

    最后,如果觉得笔者写的有用,欢迎给zhaoyilun532节点投票。后续本系列会继续不定时更新,如果有什么系列想了解的,可以评论区留言。另外,笔者要开始着手开发上次提过的可视化编程智能合约了,届时会发布教程和该教程配对的激励代币,试图让学习者获得代币奖励,这里先做点预告,至于正式开始的时间,就看开发进度了。

本文地址:http://bilianwu.com/20894.html
版权声明:项目均采集于互联网, 空投币 无法审核全面,且希望大家能赚钱,请谨慎切勿上当受骗!
温馨提示:★★★天上真会掉馅饼!天道酬勤,都是机会!不错过每个空投糖果!真假难以辨认,尽量0撸!
重要提醒:本站内容均转自互联网,请明辨各个项目风险,不构成投资建议,如涉及资金交易,请谨慎操作与自担风险!
《新人必看》 《本站免责申明》

评论已关闭!