一、摘要算法
经过本文学习,能够得到如下目标: 1)了解BANNCOR协议的基本原理; 2)经过举例熟悉BANNCOR算法的效果。网络
二、BANCOR算法的来源分布式
在20世纪40年代,英国经济学家凯恩斯提出采用30种有表明性的商品做为价值锚定发行国际货币Bancor的构想。而其余国家或机构再以Bancor为价值锚定发行各自的货币。然而这一方案没有获得实施,取而代之的是美圆成为国际货币。学习
Bancor算法可以真正进入大众的视野里,可能要归功于EOS项目。因为EOS项目在RAM分配中采用了优化后的Bancor算法,并将RAM的价格爆炒到了很高的价位,凭借EOS项目在区块链领域的强大运营宣传能力与影响力,Bancor算法广为流传。区块链
三、BANCOR协议的基本思路优化
在以太坊上发行的大量ERC20-Token是没有价值锚定的,其价值彻底依赖于项目方的技术与运营能力,若项目失败了,则通证(TOKEN)价值就极可能归零。 若利用智能合约的强大而灵活的“资金流转控制”能力,在通证合约中控制着必定量的储备金,让通证与储备金之间拥有必定的兑换能力,那么Token的价值就能够储备金为链接器代币,而不彻底依赖于项目方。通证持有者也就不用承担项目失败或者项目方可能诈骗跑路的风险。ui
在以太坊平台上,显然ETH的价值与公信力最大,是最佳的储备金与链接器代币(Connector,又称锚定物),不过其余有价值的通证也能够做为链接器代币,并且链接器代币能够有多个。加密
若通证与链接器代币之间的兑换算法采用了Bancor算法,又符合ERC20标准,则被称为智能通证(Smart-Token) 。为了简单起见,如下的论述以ETH做为链接器代币举例说明。购买与售卖Token的过程以下:.net
若AToken与BToken都是以ETH为链接器代币的智能通证,那么Token持有者无需经过交易所,仅仅凭借智能合约提供的买卖与兑换功能,就能实现AToken与BToken的自由兑换,好比AToken–>ETH–>BToken,多种智能通证之间经过共同的链接器代币串接起来,就造成了一个价值网络(Bancor Network)。3d
用于去中心化流动性的 Bancor 网络能够做为中心化交易所的替代,用于链接到网络中的任何代币,并带来诸多积极意义。例如,一个带有两个链接器的智能代币,其 CW 值为 100%,其功能相似于去中心化代币交易对。咱们将这种智能代币称为中继代币。中继代币容许用户经过一个即时的两步过程在两个链接的代币之间进行转换,即便用其中一个链接器代币购买中继代币,而后当即将其出售给另外一个链接的代币。因为订价算法,这将致使中继代币相对于链接器代币的价格上升(因为购买),和中继代币相对于链接器代币的价格降低(因为出售),这与预期彻底一致。如前所述,中继代币的挂牌价格不太可能长久地与外部交易所中任何一个链接器代币的价格明显抵触,由于套利机会鼓励套利者在中继代币相对于链接器代币的价格与其在其余市场上的价格趋于相同。这种特殊的智能代币配置容许不符合 Bancor 协议的现有标准代币(没有链接器)也能够向后兼容(换句话说,经过中继代币与网络中的每一个代币进行转换),从而加强了可行性并接触到流动性网络。
四、BANCOR的计算公式和举例
4.1 BANCOR的基本计算公式
计算公式涉及多个参数,解释以下:
计算公式以下:
举例:若当前AToken的发行量为1000,报价为0.5个ETH兑换1个AToken,那么AToken的总价值为500个ETH,可是储备金余额可能并无500个ETH,好比为250个ETH,那么CW则为0.5(50%)。
4.2 Token买入计算公式及举例
Token买入计算公式:
举例:若当前AToken的发行量为1000,储备金余额为250个ETH,CW为0.5,那么当前的报价则为0.5个ETH兑换1个AToken;如今Bob想花750个ETH购买AToken,带入公式:Token_Return = 1000 *((1 + 750 / 250)^ 0.5 – 1)= 1000
即Bob花了750个ETH购买了1000个AToken,本次购买的平均价格为0.75个ETH兑换1个AToken,比初始报价已经高了许多。Bob的购买行为推高了AToken的报价。若Bob接着购买一样数量的AToken,则须要付出更多的ETH代价,每一笔购买都会继续推高AToken的报价。
4.3 Token卖出计算公式及举例
Token卖出计算公式:
举例:在Bob的那笔交易完成后,AToken的发行总量为2000个,储备金余额为1000个ETH,CW维持不变、仍然为0.5,那么经过公式能够计算当前的报价为1个ETH兑换1个AToken;如今Alice想卖掉1000个AToken,带入公式:ETH_Return = 1000 *(1 – (1 – 1000 / 2000)^ (1 /0.5))= 750
即Alice 卖掉了1000个AToken,得到了750个ETH,本次购买的平均价格为0.75个ETH兑换1个AToken。由于Bob的购买行为推高了AToken的报价,而Alice是在Bob的购买行为以后卖掉了AToken,因此Alice卖到了相对较高的价位。假如没有Bob的购买行为,回到AToken的供应量为1000的那个时候,Alice卖掉所有的AToken,也只能得到250个ETH。
bancor_protocol_whitepaper_en.pdf 白皮书的公式以下:
咱们代入举例场景看看结果是否一致?
ETH_Return = 250 * ((1+ 1000/(2000-1000)) ^ (1 /0.5) – 1 )= 750 个; 若是代币余额和总供应量取交易发生后的结果数量,则这2个公式的计算结果是一致的。 ETH_Return = 1000 * ((1+ 1000/2000) ^ (1 /0.5) – 1 )= 1250 个; 若是代币余额和总供应量取交易发生前的结果数量,则结果明显是错误的。因此,辉哥认为白皮书的公式描述不够严谨。
五、BANCOR不一样链接器权重与供需关系分析
图1显示了智能代币的价格,对CW的不一样值的变化。简要讨论一下插图案例:
【辉哥备注】 Supply – 智能代币的结余供应量【Smart Token’s Supply】,是指链接器外全部用户持有的智能代币总量。 Quoted Price – 智能代币的报价【Smart Token’s Price 】 实际上,用3.1的公式是没法实现价格的平滑处理的,实际公式为3.3下一章的微积分公式。
(a)第一种状况是CW = 100%,在这种状况下,无论需求如何变化,智能代币的价格彻底跟随于链接代币准备金的变化,二者的相对值不会发生变化。价格实际上与其链接代币的准备金挂钩,智能代币成为该值的一种代理。这能够比做金本位,一种货币制度,发行机构承诺将货币兑换成必定数量的黄金。例如,直到1971年,美圆一直以每盎司35美圆的汇率盯住黄金。
(b)第二个线性状况是CW = 50%,其中智能代币价格随供应量线性移动(随着链接器准备金而增加或收缩)。 当智能代币的需求较低时(即当出售量大于购买量时),智能代币价格会降低;当需求量较高时(即当购买量大于出售量时),智能代币价格会上涨。这种关系是供求关系的典型运做方式,惟一的例外是,智能货币的供应不是固定的,而是由需求决定的,并且在价格上涨时也不会稀释单位价格。
【辉哥备注】从智能合约买智能代币的量 > 当卖智能代币给智能合约的量时,就是需 > 供(从智能合约外部用户的视角),Supply上升,智能代币的价格线性上升。
(C) 第三个非线性的例子是,CW在0%到50%之间,这显示了价格和供给之间的类似增加关系,可是随着供给的增长,价格曲线增加得更加迅猛。图表显示了CW = 10%的特订价格曲线。低于10%的CW会比这个反应更强烈(更尖锐的指数曲线),而高于10%的CW会随着接近50%而相对地趋于线性(b)。
(D)最后一种非线性状况,CW在50%到100%之间,其中价格和供应之间的增加关系曲线增加力度不及(b),这意味着智能代币的价格对供应变化的反应愈来愈少,直到达到咱们在(a)中看到的持平的100%关系。具体图表显示了CW = 90%的价格曲线。
从理论上讲,智能代币也可能具备大于100%的CW,可是,这是代币随着需求增长而变得更便宜的特定状况,而且超出了本讨论的范围。
六、BANCOR常见问题和解答
6.1 智能代币,链接器代币 的定义和区别
【智能代币(Smart Tokens )】 智能代币是Bancor协议的核心。它们的运做相似于常规代币,在ETH区块链上使用的符合ERC20标准[5],但也要包含额外的逻辑,即容许用户经过它的智能合约直接购买和出售代币,价格经过程序自动调整以反映供求关系。实际上,智能代币拥有一种内置的流动性机制,确保它们能够持续地为兑换为其余代币。 【智能代币链接器(Smart Token connectors)】 智能代币链接器能够被视为分布式、自主、透明和可预测的作市商,而不是交易所。智能代币经过程序自动调整它们的价格,来管理它们的链接器准备金,以保持它们与智能代币的总市值之间的比率是恒定的。 【锚定代币(connected token)】 每一个智能代币都配置了链接器模块,这些模块持有它链接的另外一个代币做为准备金(例如,BNT智能代币有一个链接到ETH的链接器,它持有ETH做为准备金)。ETH此时就是链接器代币。 【代币网络(token network)】 智能代币能够实现本身和它们的链接代币之间进行即时兑换。这个功能足以使智能代币即时兑换为必定数量的以相似的方式链接到同一网络的任何其余代币。经过这种方式,智能代币能够链接到无限数量的代币,从而建立一个分布式的流动性网络,该网络可能由数百万个代币组成,这些代币均可以以不断计算的价格自动地相互兑换。 【中继代币(Relay Token)】 具备两个链接器的智能代币,其总CW刚好为100%,其功能相似于分布式代币兑换币对。中继代币容许用户在两个链接代币之间互相兑换,经过两步操做实现,即购买一种代币,当即出售另一种代币。 【流动性代币(Liquid Tokens)】 具备组合链接器总权重低于100%(更典型的低于20%)的智能代币成为流动性代币。可能有一个或者多个链接器。例如,BTN具备单个权重为10%的ETH链接器。流动性代币可使用链接器代币买卖(使用Bancor公式计算它相对于链接代币的价格),而且能够自适应调节供应量,在购买时增长,出售时减小。 【代理代币(Proxy Token)】 具备一个链接器占100%权重的智能代币。 【组合代币(Array Token)】 具备三个或者更多链接器权重为100%的智能代币。 【糖果代币(Bounty Tokens)】 具备单个还没有激活链接器的智能代币(当前链接器准备金为0),能够向早起持有者(例如社区支持者)发放未来会发行的代币。 【网络代币(Network Tokens)】 由多个(>2)智能代币持有做为链接代币的智能代币,BNT就是一个网络代币,也是一个流动性代币。
6.2 BANCOR生态系统角色
【交易者】 持有、兑换和支付智能代币的终端用户 【智能代币发行者】 发行智能代币,配置初始供应量、价格、链接器权重CW和管理智能代币初始发行的人员、公司、社区、组织或基金会。还包括将现有ERC20代币链接到Bancor网络的中继代币的建立者。 【资产代币化者】 将代理代币或者组合代币映射到实体资产或者其余区块链上代币的建立者。这容许智能代币链接到更普遍的资产,如比特币、法订货币、黄金或其余新兴的区块链代币。 【套利者】 监控Bancor流动性网络与外部交易所或者其余智能代币的价格,而且经过套利消除价差的交易者。套利者经过消除价差得到奖励,所以是Bancor生态系统的重要参与者。有关Bancor协议中套利机制的进一步说明,请参见第3.6节。
七、参考
(1)【超越白皮书4】Bancor 算法的数学、经济学解析与参数测算 (2)bancor.network官网 (3)10张图带你看懂Bancor协议 (4)【白皮书】Bancor协议:经过智能合约为加密货币提供持续流动性(附PDF下载)(5)EOS“带货”Bancor算法,但大多数人并未真正读懂它 (6)【TokenClub研究院】Bancor协议研究报告
稿源:巴比特资讯(https://www.8btc.com/article/314706)