【三九同行1077】(12.07):Bancor算法(二)

【三九同行1077】(12.07):Bancor算法(二)_第1张图片
微信图片_20181005125538.png

写在前面

格式化上一篇文章【三九同行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。

(续...)

【最后格式化祝你在投资道路上遇见更好的自己!】

你可能感兴趣的:(【三九同行1077】(12.07):Bancor算法(二))