Bancor 协议浅析

Posted yueyun00

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bancor 协议浅析相关的知识,希望对你有一定的参考价值。

1. Bancor 协议用途

????Bancor 协议是为了降低币币交易的门槛,形成 Token 经济中的 Token 交易的长尾效应。目前大量的市值相对较小的 Token 没能在交易所上交易,Bancor 协议在有一定“抵押物”的情况下,实现 Token 和“抵押物”的自由交易。进一步,所有通过 Bancor 协议实现交易的 Token 又能聚集在一起形成 Bancor 生态。

    举个例子,一个 TokenA,一个 TokenB 都以ETH(以太坊)进行抵押,通过 Bancor 可以实现 TokenA 和 ETH、TokenB 和 ETH 的交易,逻辑上实现了 TokenA 和 TokenB 的交易。

????Bancor 协议,取名 Bancor,是为了纪念宏观经济经济学之父 - 约翰·梅纳德·凯恩斯。

2. Bancor 协议白皮书

????Bancor 协议白皮书可点击下载

????Bancor 协议在以太坊上的智能合约代码:Bancor

????Bancor 协议可以在智能合约的基础上实现具有去中心化流通性的 Token 交易网络。Bancor 协议要求每个 Token 都需要提供“储备金”,储备金的比例每个 Token 自行定义(0~100%)。因为“储备金”的存在,每个 Token 都能通过 Bancor 协议进行交易,也就天生具备了去中心化流通性。
????使用 Bancor 协议进行交易的 Token,Bancor 协议称为“Smart Token”(智能 Token)

3. Bancor 术语

  • 流通性(Liquidity):Token之间流通能力,称为流通性。
  • 长尾效应(Long Tail Phenomenon):目前所有代币中前10%的代币占了数字货币市值的95%,也占了交易总量的99%,“小交易量“总共会占总交易量的 30~40%。长尾效应的形成是因为进入的门槛变低了,Bancor 协议就是想降低交易 Token 的门槛,产生长尾效应。
  • 智能Token(Smart Token):使用Bancor协议创建的能直接交易的Token称为智能Token。
  • 储备金(Connector):每个Smart Token可以指定一种或者多种储备金。
  • 储备金比例(Connector Weight,CW):储备金比例在创建Smart Token设定并固定。

4. Bancor 计算公式

4.1 储备金比例计算

????Bancor 协议要求在创建 Smart Token 的时候必须提供储备金,储备金比例的计算公式如下:
技术图片
????储备金比例(CW)等于储备金的价值除以 Smart Token 的预期价值。比如说,创建一个 Smart Token,名叫 STAR,初始总量 1000 万,提供储备金为10000 个ETH,预期一个 STAR 币的初始价格是0.002 个ETH,则储备金比例计算公式:

    CW = 10000 / (0.002*1000*10000) = 0.5

4.2 价格计算

????在已知储备金比例的前提下,用户可以通过 Bancor 协议买卖 Smart Token。每次买卖时,价格的计算公式如下:
技术图片
????当前的价格等于当前的储备金数量除以储备金比例,再除以当前的 Smart Token 的流通量。以 STAR 币为例,初始时 STAR 币的总流通量是 1000 万,如果这时需要买入 STAR 币,价格是:

    price = 10000 / (0.5*1000*10000) = 0.002

????买入 100 万个 STAR 币,需要支付 20000 个ETH(近似,后面会讲滑价)。买入后的 STAR 币价格变化为:

    price = (10000+20000) / (0.5 * (1000+100) * 10000) = 0.0054

????买入 100 万个 STAR 币后,STAR 币价格从 0.002 涨到了 0.0054

4.3 价格滑价处理

????用户在每次买卖 Smart Token 后,价格都会变化。如果只是用 4.2 中介绍的价格计算公式,用户一次买卖和分几笔小交易买卖的价格不同。
????买入时,Smart Token 的发行计算公式:
技术图片
????卖出时,储备金的数量计算公式:
技术图片
????一次交易过程中真实的价格计算公式:
技术图片
????真实的价格等于上面两个公式计算的真实的储备金数量变化除以真实的 Smart Token 的数量变化
????再举个例子:假设当前一个 Smart Token 的流通量为 1000,储备金的数量为 250,储备金比例为 50%,当前的价格是:

    price = 250 / (1000*0.5) = 0.5

????一个用户买入 10 个储备金,该用户收到的 Smart Token 的数量为:
技术图片
????Smart Token 真实的交易价格为:

    price = 10 / 19.8 = 0.5051

5. 深入理解 Bancor 协议

    储备金比例是 Bancor 协议中比较重要的参数,体现了 Smart Token 的储备水平。储备金比例越高,价格的波动越小;储备金比例越低,价格的波动越大。

????白皮书中的四张图给出了四个比较典型的储备金比例情况下的,价格波动曲线(Smart Token 初始流通量为 1000,价格为 1)。
????CW=100% 的情况,储备金和 Smart Token 的价值相当,Smart Token 的价格恒定为 1:
技术图片
????CW=90% 的情况下,储备金是 Smart Token 价值的 90%,买卖的价格缓慢的增长:
技术图片
????CW=50% 的情况下,储备金的价值是 Smart Token 价值的一半,买卖的价格和流通量成线性增长:
技术图片
????CW=10% 的情况下,储备金只有 Smart Token 价值的 10%,买卖的价格指数级增长。买卖后,储备金的数量相对来说急剧上升,导致下一次价格进一步扩大:
技术图片
????在已知价格曲线的情况下,求解 CW 的方法如下图所示(以 CW=10% 的价格曲线为例):
技术图片
????CW = 价格曲线下面的面积/价格曲线所在的矩形。

6. 参考

以上是关于Bancor 协议浅析的主要内容,如果未能解决你的问题,请参考以下文章

解读EOSIO RAM价格大幅波动背后的Bancor算法

解读EOSIO RAM价格大幅波动背后的Bancor算法

WOO将上线Bancor单边挖矿?还需要你的支持~

HTTP协议浅析(中):请求报文和响应报文

EOS 智能合约源代码解读 (14)system合约“exchange_state.hpp”

Mosquitto pub/sub服务实现代码浅析-主体框架