写在前面
格式化上一篇文章【三九同行1079】(12.05):Bancor算法(一)讲了ICO的缺陷,讲了BM通过Bancor算法很好的解决这些问题。还讲了Bancor算法的起源,Bancor算法的基本原理。在文章最后,格式化讲了Bancor算法的计算公式。
Bancor算法的计算公式:Price=Balance/(Supply×CW)
其中:
Price为新币的发币初始价格;
Balance为储备金余额;
Supply为新币的供应量;
CW:储备金固定比率,储备金率为[0,1]。
发币举例
格式化准备抵押5000个EOS发行10000个GSH,储备金率为0.5。
根据公式化Price=Balance/(Supply*CW),每个GSH币的发币价格为:1EOS。
买入/卖出后GSH的价格
发完币后,没有人买入或卖出代币,GSH币的价格不变,即Price=1EOS。如果有人买入或卖出,其价格应该由什么决定?
GSH的价格不是由市场买卖双方决定,而是由抵押池的抵押币数量和代币池的代币数量决定,即Price=抵押池的抵押币数量/(代币池的代币数量×CW )=Balance余/(Supply余 ×CW)。
当张三用A个EOS买入B个GSH后,GSH的价格为: Price余1=Balance余/(Supply余×CW)=(Balance0+A)/((Supply0-B)×CW)。Balance0 代表买入前抵押池的抵押量,Supply0 代表买入前代币池里的代币量。也就是说,每买入一笔GSH,会让GSH币价格上涨。
当李四卖出B个GSH换成A个EOS后,GSH的价格为: Price余2=Balance余/(Supply余×CW)=(Balance0-A)/((Supply0+B)×CW)。Balance0 代表卖出前抵押池的抵押量,Supply0 代表卖出前代币池里的代币量。也就是说,每卖出一笔GSH,会让GSH币价格下跌。
买币举例
张三是第一个购买GSH代币的,他打算用1000EOS购买GSH,他能购买多少个GSH?交易价格为多少?
【第一种方式】假设是一次性买入
张三一次性用1000EOS购买GSH,并使用交易前的GSH价格进行交易。
于是交易前GSH代币价格为1EOS,即为交易价格,张三能购买1000个GSH。这是最简单的计算公式。
【第二种方式】假设是一次性买入
张三一次性用1000EOS购买GSH,并根据实际交易数量的动态GSH价格进行交易,即不同交易数量,交易价格不同。
交易后GSH代币价格为:Price余1=(Balance0+A)/((Supply0-B)×CW)=(5000+1000)/((10000-1000/Price余1)×0.5)
Price余1 =1.3EOS,可购买769个GSH。
请问【第一种方式】与【第二种方式】哪一种更合理?
同样都是Bancor算法,【第一种方式】对购买者有利,【第二种方式】对项目方有利。
显然项目方不会选择使用【第一种方式】 。如果说项目方使用【第二种方式】,购买者渐渐的就会发现,分多次购买比一次性购买的价位更低。
于是,完美的Bancor算法即不使用【第一种方式】,也不使用【第二种方式】,而是把一次交易切成无限小份金额进行交易,然后求积分。我们知道当交易金额无限小的时候,【第一种方式】和【第二种方式】相等。
于是就有了以下公式:
购买量=Supply0 × ((1+A/Balance0)^CW-1)
于是购买GSH的数量为:购买数量=Supply0 × ((1+A/Balance0)^CW-1)=10000 × ((1+1000/5000)^0.5-1)=954
即张三用1000个EOS购买了954个GSH,每个GSH的价格为:1.048EOS。
(续...)
【最后格式化祝你在投资道路上遇见更好的自己!】