现在所有的ICO热潮正在褪去,一种新形式的代币分配方法似乎突然之间就火了:连续型代币联合曲线。这是一个设计巧妙的合约,无需依赖交易所就能为代币创造自己的市场。我已经看到了一两个对这个概念的解释,但都是蜻蜓点水式没有涉及到具体细节的解释。所以在这篇文章中,我将用尽可能简单的语言解释它们的含义。 提醒:文章后面会涉及到一些数学知识,但是你不必掌握其要点。之后,我们将探讨其含义。 定义 联合曲线合约(从现在开始我们把它叫做联合合约)是通过买卖函数发行自己的代币的合约。要购买代币,你需要将以太币发送到买入函数,该函数以以太币计价代币的平均价格并向你发出正确的金额。出售函数反向运行:首先,你向联合合约提供获取你想要出售的代币数量的权限(ERC20.approve()),然后触发该函数从你那里获取这些代币。合约将计算当前的平均销售价格,并将向你发送正确数量的以太。 不足 合约对可用的代币数量没有严格的限制。反而有两个限制因素: 1.世界上以太币的总数量。如果每个代币的价格为1 eth,则你无法购买比以太币总量更多的代币。 2.价格曲线。这是联合合约有趣的地方。 价格 每个代币的实际价格随着发出的代币数量的增加而增加。 例如,合约的一个非常简单的版本规定每个代币的eth价格等于当前存在的代币数量。更具体地说,要卖出代币,价格等于当前代币的数量,但购买价格等于购买后存在的数量。例如,如果存在10个代币,那么卖1将获得10个eth。如果你想购买第11个代币,你将支付11美元,依此类推。 购买可以让你在价格曲线上向上滑动,出售让向你在曲线上向下滑动。在上面的示例中,如果存在9个代币,那么我们知道购买另一个代币将花费10eth。但是,在合约中出售代币将使我们获得9eth。如果我卖另一个代币,它将获得8eth。我可以卖掉另外3个,然后降到5个。但如果我买,它会再次将价格推高至6eth。因此价格动态调整。 连续的 实际上,一个人不会一次只出售1个代币。相反,他们将成批出售以节省gas成本。如果存在10个代币并且我想将3个卖回到合约中会发生什么?它需要支付我多少钱?从以下3个选项中选择似乎最合理的: 1.它应支付10x3 = 30 eth,因为目前的售价是10eth 2.它应支付我8x3 = 24 eth,因为在给出合约3个代币后,价格降至8eth。 3.它应支付我10 + 9 + 8 = 27 eth,因为如果我一次只出售1个代币,那就是我总共得到的数量。 如果你选择了选项1,那么将面临一种不可持续的情况,因为合约只能向你支付已经拥有的eth。 例如,假设某人购买了1个代币,然后另一个人购买了1个代币,然后第三个人购买了一个代币,最后第四个人购买了一个代币。合约将有1 + 2 + 3 + 4 = 10eth。现在所有4个人都将他们的代币转让给你,你想要以最高的价格:每个代币4eth一次性出售这些代币。你期待一共卖得16eth,但合约只有10eth来支付。 如果你选择选项2,则你获得的支付太少。 例如,如果你一次只卖1个,我们知道你会得到27,那么,你为什么要因为同时出售这些代币而受到惩罚呢 正确的答案当然是选项3。 GAS solidity程序员设计出售函数的一个非智能方式是以循环的方式一次出售一个代币,即:每次卖出一个代币并让价格向下调整。这将花费与你自己操作相同数量的gas。所以这种实现毫无意义。相反,我们将使用微积分一次性计算出正确的以太币的数量。
微积分
曲线下面的面积 这意味着你需要支付的总金额为20 eth。但在我们购买之前,我们想知道为每个代币支付的平均价格。这足够简单:
使用微积分,联合合约可以允许买卖任意大量的代币而不需要花费更多的gas,并确保合约始终能够履行其以太币的义务。 —- 编译者/作者:不详 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
代币联合曲线解释
2019-07-10 不详 来源:网络
- 上一篇:智能合约中的签名重放漏洞
- 下一篇:一文读懂香港数字货币监管之路
LOADING...
相关阅读:
- Tether封锁$ 300K USDT并将其交付给州2020-10-26
- DeFi新玩法 | 人人都能创建保险合约,一分钟了解Protekt Protocol想做什么2020-10-26
- Binance Launchpad添加了游戏宠物宇宙Axie Infinity2020-10-26
- 大多数欧洲专业投资者购买了数字资产或计划2020-10-26
- 【跟着勇哥柒学知识119】DEFI还会不会再次呈现一种爆发式的增长,可能2020-10-26