5.3.2.1 单点失效对于 Bancor 协议建立的去中心化交易所,都是用代币合约来处理交易。虽然说明面上是去中心化交易所,但是需要在合约中设立超级管理员权限。当有账户存在超级管理员权限时,整个代币生态极容易发生单点失效。超级管理员权限是把双刃剑。在 Bancor 事件中,黑客利用了管理员权限盗取代币,而项目方也正利用了管理员权限来降低损失。不过我们认为,开发者依然可以通过良好的代码设计来降低代币和协议合约对管理员的依赖。5.3.2.2 牺牲交易深度Bancor 协议的问题是价格曲线调节参数完全受项目方控制,参与而且鼓励价格投机,越早买入的人越容易获利。买盘能够推高价格,同时买盘也会降低价格,一旦曲线上升停滞容易发生「踩踏」造成较大的波动。所谓牺牲深度带来流动性。5.3.2.5 参数被操控问题Bancor 算法根据参数 CW 的不同,以及构造关系不同,会产生不同的数学图形,或杠杆效果。比如常见的四类图形,如 3.2.2 节 4 张图所示。市场对价格变化的预期几乎完全基于 CW,因为它决定了价格曲线。那么如果项目中途改变 CW 参数呢?RAM 和 FIBOS 项目都发生过这一的情况,只不过一个是简单粗暴,一个是有其他参数配合的「合理解释」的。这类风险也是目前 Bancor 协议投资者面临的最大风险。
4.1 BANCOR的基本计算公式计算公式涉及多个参数,解释如下:Token的供应量【Smart Token's Supply】,简称Supply;Token的价格【Smart Token's Price 】,简称Price;Token的总市值【Smart Token's Total Value】,简称TotalValue;储备金余额【Connector Balance】,简称Balance;储备金固定比率【Connector Weight】,简称CW。计算公式如下:CW = Balance / TotalValue = Connector Balance / Smart Token's Value;TotalValue = Price * Supply = Smart Token's Price * Smart Token's Supply ;Price = Balance /(Supply * CW)= Connector Balance / (Smart Token's Supply * Connector Weight)举例:若当前AToken的发行量为1000,报价为0.5个ETH兑换1个AToken,那么AToken的总价值为500个ETH,但是储备金余额可能并没有500个ETH,比如为250个ETH,那么CW则为0.5(50%)。
Token买入计算公式:Token_Return = Supply *((1 + ETH_Paid / Balance)^ CW - 1)举例:若当前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的报价。