重新审视 Bancor 算法 为什么 cw 是失效的设计
作者简介:唐飞虎(岛娘),仙女座科技CEO。
背景
1944年7月,二战开始进入尾声,战后新秩序亟需重新制定。参加筹建联合国的 44 国政府代表受美国政府之邀在美国新罕布什尔州布雷顿森林举行会议,商讨战后经济复苏并确定美国金融霸权。
美国代表为哈里·迪克特·怀特,英国代表为约翰·梅纳德·凯恩斯。其中凯恩斯提出了「国际清算同盟计划」,提出了建立全球中央银行,并发行超主权货币「Bancor」。这一计划后来被怀特的提案取代,即后来的布雷顿森林体系,美元直接与黄金挂钩,成为了美元霸权的基础。
后来布雷顿森林体系在两次石油危机中宣告瓦解,但这依然不妨碍美元在今天的地位。
布雷顿森林体系主导大佬合影
我们今天所说的 IBO 热潮,则指的是在目前在 EOS 使用 Bancor 算法或类似 Bancor 的算法进行首次代币发行的机制。
截止目前为止,已经有 FIBOS、TPT 等头部项目完成了 IBO。IBO 俨然有取代 ICO 成为下一个浪潮的趋势。要详细理解 Bancor,我们首先需要认识,什么是 Bancor 算法,什么又是 Bancor 协议。
Bancor 算法与 Bancor 协议
Bancor 算法,本质上是通过智能合约设置发行量和储备金的数学关系。Bancor 算法定义项目的储备金率,等于这个储备金的市值与项目的市值的比率(又叫储备金率或者 CW 或者 Connector Weight)。
CW = Balance / Supply x Token Price。
Bancor 算法假定 CW 始终是恒定不变的。以此为依据,列出积分方程,用微积分解析出此时的价格与储备金之间的函数关系。以此作为代币发行的规则。
不同 cw 下的 bancor 模型价格曲线
而 Bancor 协议,即 Bancor Network 项目白皮书中所描述的「代币兑换者」模式:即通过 Bancor 算法,在储备金池中填充其他类 Token,采用自己发行 Bancor(BNT)作为连接代币,可以实现类似于交易的货币兑换效果。
基于Bancor协议锚定另一种Token来发行新的token,被称做 IBO(Initial Bancor Offering)。有趣的是,BNT的发行却没有锚定另一种Token进行IBO,而是用传统的 ICO 融资模式,并且陆续上了主流交易所。
我们把 Bancor 这种解决长尾 Token 流动性问题,简称为类交易模式。而 Bancor 协议中这种中间的智能转换代币 BNT 本身存在的必要性,却成为了一个疑问。
事实上,在前面我们所描述的所有这些项目中,都只使用了 Bancor 算法锚定另一种token建立数学函数,而没有使用 Bancor 协议锚定BNT来发行新的Token,使得 BNT 在这套体系中看起来似乎有些多余。
CW 的设计是否有用?
从 Fibos 到 TPT, 已经有越来越多的项目,并不遵从标准的 Bancor 算法,或者在发行的过程中,修改自己的储备金率(即前文提到的CW)。因为bancor算法的前提是假定储备金恒定,这极大的限制了价格曲线的灵活性。比如说最简单的线性模型,在 Bancor 算法中,也仅存在一种图像,而无法自定义斜率。
P3D 项目中开始使用了 Bancor 算法,后使了自定义的线性模型
许多项目在发行的过程当中都已经发生通过修改 cw 参数去调整函数图像的情况,可见 cw 并不是一个灵活的设计。
Bancor 算法的缺陷
Bancor 缺陷1:时间优势明显
项目方利用 Bancor 协议来发行 Token,使得项目新发行 Token 与所募资产因供求关系产生数学关联:发行量越高,币价越高。而该模型在实际 IBO 过程中的外在表现就是:入场越早,收益越高;当到达某一时间点,卖出数量大于买入数量时,就会导致用户恐慌抛盘,使得币价继续下跌,用户继续抛盘的循环中。
在这种模式里,入场及离场时间成为盈利与否的最重要因素,进而导致项目方利用早期信息不对称优势,抢占先机,在最低价格率先拿走一部分Token。
如若项目方提前公布上线时间,也并不能保证公平。普通用户早早地守在倒计时页面,像抢火车票一样的紧张和激动,殊不知与他们一同埋伏的,还有众多交易机器人,人手再快,也比不上机器人以绝对的优势来碾压。
在项目发行的第 1 秒,机器人们便会完成交易,而手动操作的用户,在下手的那一刻便不得不接受这种不公平,甚至他们自己也并没意识到这种不公平,直接被收割。
Bancor 缺陷 2:脱钩机制缺失
目前市场上大部分 IBO 项目都是基于 EOS 等其他代币来发币的,新发行的代币的价格与母币价格成数学关系,但是在母币并不稳定的市场里,新发行 token 的实际价值是受母币波动影响的。
现实世界里,我们可以类比一下美元及黄金。美元最初的发行是要和黄金绑定的,而当人们普遍接受并对美元的价值产生了共识,美元价格便无需锚定黄金,可以按照自身的市场规律,呈现出独立的价值。理想状况下,新发行的代币在发行之初,亦需要锚定母币来让大众接受。新代币逐渐被认可和接受的时候,它需要一个机制,脱离锚定币而独立出来。
而现有的IBO项目,并没有一个让新发行的Token可以和母币脱钩的机制。
Bancor 缺陷 3:无法保证市场深度
与外部的交易市场不同,利用bancor与合约进行交互是没有市场深度的。市场深度是指市场在承受大额交易时token价格不出现大幅波动的能力。
无论当前市场的流动性如何,所有交易在 Bancor 算法中都是一锤子买卖。任何大额的买进或卖出, 必将显著的影响价格的剧烈波动。
随着时间推移,交易量会逐渐开始往外部市场转移,吸引投资者进行外部交易,这时 Bancor 系统的市场仅能辅助作为套利市场存在。
DAICO
DAICO是由Vitalik在2018年1月为了解决以太坊ICO缺陷提出的。在ICO的基础上添加了监管机制,项目方不再是众筹结束之后就能获得所有ICO的代币,而是通过社区监管的力量,评估项目完成进度而逐步解锁。
投资者可根据自己对项目的预期随时卖出,并享有监督的权利,保证了投资者不会因为项目方操纵市场而大规模受损。
但DAICO也有其缺陷,投资者中的大户能够和项目方“勾结”,利用手里的大量“选票”操纵投票结果,与项目方分成,损害“散户”的利益。因此在一个项目中,虽然大户不可避免,但是投资者可以通过分析项目的token账号分布,来评估项目的风险。
DAIBO是如何增强 Bancor 协议的
实际上,如同 Google 网站设计的目标是让用户尽快完成自己的需求离开网站一样(leave our website as quickly as possible),Bancor 算法的设计目标,也应该是让用户的项目尽快完成项目孵化的需求,离开 Bancor 合约,从而真正的走向二级市场。
可惜许多合约的设计者尚未意识到这一点,而 Bancor 的设计方更是希望使用 BNT 和 Bancor 协议将用户的项目绑架在 BNT 之上。
据此,我们提出 DAIBO 的概念。DAIBO 和 DAICO 一样,都是通过引入社区的力量,来对项目方进行约束。
在 DAICO 中,募集的资金不是一次性获取,而是由一种机制控制逐步开放的。投资者有机会要求退回资金,比如如果项目团队失败,则可以投票退款。而在 DAIBO 中,募集的资金开始是进入一个 Bancor 池中,项目方看到但拿不到 Bancor 池中的资金。项目方初始不再需要给团队预留 Token,从而从根本上,防止了项目方自行砸盘的风险。
我们引入一个重要的称之为项目进度的指标。初始时,项目进度为 0%,此时,项目方募集的全部资金都在 DAIBO 合约中,用来在项目的初期建立流动性。随着项目的不断推进和成长,白皮书中的里程碑不断被达成,项目方可以提议社区通过投票的形式,不断解锁项目的进度。
例如当项目进度从 0% 推进到 10% 时,项目方可以提取当前合约中 10% 的资金用作项目研发,或者用一部分给项目的早期投资者进行分红。
此时,由于价格与发行量的函数曲线仍然保持不变,当前的币价和市值并不会发生变化。只是 DAIBO 合约对交易价格敏感性会变强,合约也会逐步提高交易的手续费。随着项目进度的不断推进,项目的流动性也会不断从 DAIBO 合约中转移到场外交易所。
最终,当项目方彻底达成白皮书的承诺,社区投票通过的时候,所有的资金都从 DAIBO 合约中转出,实现和储备金的价值脱钩。但因为此时项目已经落地,所有的流动性也早已转移到了场外。此时 DAIBO 也真正完成了它的使命,项目也真正的孵化成功,相当于成功上市了。
当然以上只是我们的一些设想,但是可以肯定的是,未来随着这些经济模型在实践中被不断的完善,会有越来越多的项目使用 IBO 发行自己的 Token,甚至可能出现 One Dapp,One Token 的景象。
行业中需要一套更加成熟的合约标准。我们也可以借由区块链技术,真正改进社会生产关系,使得人类间的大规模互信合作成为可能。