【转】独行巨蟹:BTS2.0那些事儿
文:独行巨蟹
BTS(BitShares,比特股)曾经是“二代币”中的佼佼者,后面的表现却一再让社区失望,与当初的BTS1.0比起来,刚上线不久的BTS2.0可以说是一个重新开发的产品,在许多方面都有重大创新,值得去重新评估一下它的前景。本文试图带领对BTS有兴趣的读者领略一下BTS2.0到底是个什么鬼。
阅读本文需要对BTS有一定了解,没接触过BTS的小伙伴请自行补充BTS的基本知识。本文的内容里还有不少私货,但窃以为都是有意义的私货。
智能货币
1.0版里的MPA(Market Pegged Asset, 市场锚定资产)在2.0有了个新名称,叫做智能货币(Smartcoin),智能货币的产生比原来的MPA更加便捷,只要你拿一定量的基础资产BTS作为抵押,你就无需交易对手,可以直接从系统中借出Smartcoin,用来在内盘市场交易,或者直接找承兑商提成现金使用。
下面是一个例子,用户btareserve目前在系统抵押了18.8M的BTS从系统借出了19.1万CNY(这里CNY指的是BitCNY,BTS系统中的一种与人民币锚定的智能货币),抵押率为2.22。该用户可随时根据市场情况和自己的资产情况来调整头寸,满足自己的需要并控制风险。
借出智能资产是有风险的,首要的风险就是爆仓的风险,当作为抵押物的BTS在外盘(指提供BTS交易的比特时代,云币,POLONIXES等交易所的BTS盘面,与之对应BTS平台的去中心化交易所简称DEX,其中的交易盘面通称内盘)的价格下跌,价格信息就会通过喂价传递到内盘,相应的头寸的抵押率就会下降,当下降到最低抵押率的时候,就会引起爆仓,下面讲述下具体的爆仓规则。
先解释几个术语:
settlement price: 清算价格,即喂价,由见证人读取外盘数据提供给内盘的资产价格
maintenance collateral ratio (MCR): 最低抵押率
maximum short squeeze ratio (MSQR): 轧空比率
short squeeze protection price(SQP): 轧空保护价
callprice (CP): 平仓价
SQP = settlement price / MSQR
call price = DEBT / COLLATERAL * MCR
settlement price, MSQR, MCR都由见证人提供。
还是举个栗子吧:
下图是内盘BTS/USD市场盘面,当前MSQR = 1.2, MCR = 1.75.
Settlement Price = 300 BTS/USD
SQP = 300*1.2 = 360
盘面中有一条虚线是Lowest Call Price, 其值为325 BTS/USD, 这是市场中的最低爆仓价,也即某个抵押率最低的头寸的爆仓价。
如果遇到BTS价格急跌,Settlement Price开始快速上升,当升到325的时候(此时SQP也升到了390),这个爆仓价为325的用户就要爆仓了。
爆仓意味着这个仓位中抵押的那些BTS就要被出售,换得USD来平仓,出售的价格在Settlement Price和SQP之间,也即325-390。
BTS2.0中增加了一个大杀器,叫强制清算(force settlement),这是个什么鬼呢?就是说持有Smartcoin的人可以强行平掉与之对应的相应数额的最低抵押率的空头仓位。
用人话说呢,就是说比如你因为看涨BTS决定来点杠杆交易,于是抵押了一些BTS获得了一些CNY用来买了BTS,但是BTS价格却下跌,你的抵押率在所有空头中又是最低,这时某个用户如果手里有CNY,就可以发起强制清算,以当时的喂价来强行平掉你的仓位。也就是说他可以用喂价来强行买入你抵押的BTS,而你换得了CNY来平仓。
听起来很恐怖是不是?别急这里面有几个参数需要说一下:
CNY(12月3日前) CNY USD TCNY
强制清算延时: 24H 24H 24H 24H
强制清算补偿: 0% 0% 0% 2%
最大强制清算比例: 20% 2% 20% 2%
上面是几个参数以及几种货币里相应的值,强制清算延时指的是我现在下强制清算单,要24小时后才能执行,而且不能取消(当然)。强制清算补偿指的是执行强制清算时,清算发起方向被清算方提供的价格补偿。而最大强制清算比例指的是在清算延时这个时间段内,该资产供应量中允许被清算的比例。
这里有段故事必须讲一讲。
11月中旬某天,我一大早醒来,睡眼惺忪中看见alt给我发的消息,大意是说巨蟹不好啦不好啦,现在有强制清算了,你那么大的CNY空仓要小心啊。
起床后我研究了一会儿,首先发现强清是BTS2.0上线时就有的规则,而且开发团队之前为此讨论了很久,但因为以前只能用命令行执行,使用很麻烦,没人注意到,而那天版本升级后轻钱包的图形界面里添加了这功能,可以一键执行,加上一个叫jonnybitcoin的用户发帖讨论如何通过强清功能获利,于是在空头-主要是CNY空头-中引发了恐慌,而最应该恐慌的正是作为最大CNY空头的我。
强清功能引入的初衷是给Smartcoin提供一个地板价,BM(指BTS项目的创始人Daniel Lamier, 论坛ID bytemaster,简称BM)们是这么想的:如果USD(此处指代smartcoin BitUSD)随时可以以喂价来购买空头抵押的BTS,那么用户就会相信USD的价值至少是和美刀相同的,那么商家就会乐意接受USD。准确锚定?没必要,有溢价就行了。
可是准确锚定真的没有必要吗?一个Smartcoin要走向商用,首先要有固定的价格,不然会使商户和其客户都无所适从,其次,这个固定价格最好等于其对应的法币,让商家使用价值固定为1.1美刀的USD是一件很奇怪而且很麻烦的事情不是吗?
以我经营transwiser的经历,可以说,如果设计合理,那么Smartcoin在承兑商的帮助下实现准确锚定是可能的,而且对于其商用也是必要的。
一个Smartcoin的市场里有各种角色,包括做市商,网关,商家及其客户,投机者。合理的设计意味着各种角色的责、权、利是平衡的。各方在一种基本平衡的博弈中寻找各自的挣钱机会,承兑商按1:1承兑Smart从至少可以做到不亏钱并且风险可控。
BTS1.0时代的规则基本是平衡的,那时transwiser主要做的事是为比特时代提供CNY的承兑,比特时代接受用户的CNY充值,因为transwiser提供购买CNY的自动发货,所以用户喜欢到transwiser这里来购买CNY,或充值到时代,或作他用,而承兑又为transwiser提供了CNY的来源以及少量的收益,一个闭环形成。
然而BTS2.0中强清规则的引入打破了这个平衡,尤其是12月3日前CNY的强清规则中最大强制清算比例是20%(后来发现20%其实是一次乌龙,根据设计本来应该是2%但不知为何被搞成了20%,而且目前USD的此参数依然是20%,也没人关心),以当时的CNY供应量,每天可以发生9万的CNY清算,这对空头是一个巨大的风险,更加令空头的处境雪上加霜的是,当时由于喂价脚本的不够完善,喂价相当不准确,内盘的喂价常常比外盘价格低2-5%。
显而易见,此时投机者通过强清CNY有很大的获利机会,而空头们被强加了极大的风险敞口,尤其是我当时还在以1:1的价格出售CNY的情况下,意识到这一点我首先提高了CNY的售价,然后在理事会提议,暂停强清功能,在更新喂价脚本并把CNY最大强制清算比例降到2%之后再重开强清功能。
为了说服理事会成员我和alt在理事会的telegram群里和其它成员死磕了两天,因为凶悍的吵架作风我甚至后来被称为“蛮横的中国大户”,但不管怎样目的总算达到了,通过投票强清功能暂停了一周,然后更新喂价脚本,然后是最大强制清算比例降到2%,再重开强清功能。
强清功能暂停了一周引发了投机者的不满,一些投机者在论坛到处叫喊“理事会成员以权谋私”,当然,我是在为我的利益而战,但也是在为那些投我票的“BTS选民”而战。这次事件按我的定义,是一次“在系统没有准备好的情况下引入大杀器而导致的危机”,强清功能是可以引入的,但是在内盘喂价比实际价格低几个点以及最大强清比例高达20%的时候,强清的引入就是空头的灾难,是没有理由在一个负责任的金融平台内发生的,这种情况下最正确的做法难道不就是暂停强清待诸事项准备好之后再重开吗?
这次事件虽然没造成什么危害,但是我发现强清功能登场后transwiser再也无法按1:1的价格出售CNY了,因为显然这样是在给潜在的强清者提供弹药,换句话说,CNY已经脱锚,在我看来,已经不堪商用。
正因如此,我才产生发行私人智能货币的想法,私人智能货币是BTS2.0的一个有趣的设计,它允许私人定义智能货币,然后所有用户都可以依据其规则“制造”这种智能货币,享受带来的好处并承担相应的风险,如同“制造”BitCNY一样,这里的私人可以是个人,也可以是一个基于多重签名技术构造的多人共同管理的账户。
transwiser发行的私人智能货币叫TCNY,由一个多人共同管理的账户transwiser-mpaadmin控制,下图显示了该账户的控制结构,按现在的结构,账户要执行一项操作,首先我必须同意,其次组织中的另外两个人必须有一个人同意。
也就是说,虽然TCNY由我主导,但对于改变TCNY的设置我无法专断,必须至少再获得TCNY管理组另外一人同意后才能对TCNY作改动,这大大降低了单个决策者犯愚蠢错误的机会。之后根据情况,TCNY的发行人账户还会加入更多的相关账户,力求对TCNY实现一种去中心化的管理。
TCNY和CNY绝大多数参数都一样,主要的不同是强制清算补偿,TCNY中这个参数被设成了2%,这大大降低了空头被强清的风险,去除了使锚定不可能的溢价,使锚定成为可能。
目前已有超过17位见证人为TCNY提供喂价,TCNY喂价数据被设为6小时失效,相对于其它资产的24小时失效更有助于防止喂价偏离实际价格。
交易所和网关
现在该关心一下交易所和网关了,比特股致力于创建一个工业级的去中心化交易所,为此BTS2.0里采取了诸如LMAX分解器技术,把一切东西放在内存,将核心业务逻辑放在一个单线程里面,把签名校验放在业务处理逻辑之外等一系列做法,来实现高性能的区块链。BM团队在这方面的成绩应该说是不错的,现在基于区块链的比特股去中心化交易所的交易处理能力已经达到数万TPS(transactions per second,每秒交易数量)。
这意味着什么呢?这意味着如果你想开一个交易所,也许你都没必要去自己搭建服务器,你只需要扮演一个网关的角色,在DEX发行用户定义资产作为某交易品种的代币,然后为用户做好该代币与其代表的实际资产间的充值提现工作,那么从技术上来说就已经可以交易了,交易所里任意两种资产间都可以组成交易对。
而且,这是一个你不用担心有谁会在关键时刻拔网线的交易所。
事实上,已经有一些传统的交易所在BTS平台开通了网关,其用户已经可以到BTS平台交易。
transwiser也正在积极做这方面的尝试,把尚未上线的小蚁股引入BTS交易就是这方面尝试的一部分,由于transwiser尚未成立公司,transwiser目前只是我经营的一个个人网关,所以这次尝试是以个人间服务合同+个人信用担保为基础的,小蚁种子轮投资的投资人如果愿意,可以与我签订服务合同,将其手中的小蚁股权益转让给我,换取等额的transwiser在BTS平台发行的用户定义资产ANTSHARE,而我需要保证的是transwiser发行的ANTSHARE在小蚁股上线后确保有等量的真实小蚁股支撑。
理事会/见证人/权限
权限管理在区块链应用中的重要性无需多言,简单的N-of-M多重签名远不能满足实际中的需要,因此BTS2.0开发了基于多重签名的权限体系,设定权限的管理变得简单,前面TCNY的管理是一个很简单的权限管理的应用,而实际上BTS的权限管理可以满足多层级的复杂需求。
一个账户可以去除掉本身自带的私钥,而把控制权交给需要控制此账户的账户,并且带有不各自的不同权重,当其中一个账户需要完成某个操作时,由于自身权限不够需要创建一个不完全签名提议并广播,如果在设定的时间内批准提议的账户权重之和大于阈值,则提议的操作被自动执行。否则提议将作废。
下图是一个资金托管的多层级权限管理结构,两个公司账户和一个代理账户共同控制一个资金托管账户,而公司和代理的账户本身也是由几个账户共同控制的,下面甚至可以有更多的层级。
BTS2.0中的理事会就是权限结构的一个实际应用,这里每个BTS的持有者都可以投票选举理事,得票最高的11名成员进入理事会,有决定比特股全局参数更改的投票权。而将区块链共识内容参数化,通过理事会会投票的方式改变参数从而进行共识更新,无需硬分叉升级,是区块链协议进化的一个方向。
下面是一个理事会更改区块链参数的提案的例子,就是12月初将CNY的强制清算最大比例改为2%的提案,提出提案的理事通过命令行在区块链中创建提案,其他理事通过命令行批准提案或者再批准后撤销批准。下图是在区块链浏览器中看到的提案的内容和投票情况。在最后的评估阶段,BTS选民可以根据理事们的态度是否与自己的态度符合来调整自己自己对理事的选票。最后时刻区块链将根据理事会投票的结果自动执行提案或者忽略之。
BTS选民参与投票的的不仅有理事会,还有项目预算和见证人。说到项目预算就得先介绍一下BTS2.0在财务上的设计,BTS2.0致力于成为一个能够在财务上自给自足的平台,为此它有一个“保留资金池”,这个资金池有12亿BTS的初始资金,系统收集的交易费的一部分也每天源源不断地流向这个资金池,这些资金被用来支付见证人的报酬和项目费用。其中项目费用每日有限额,这个限额由理事会决定。任何有想法为比特股贡献力量并获取报酬的人都可以提交项目建议,如果项目建议通过所有BTS选民的投票获得通过,就可以通过完成工作获得报酬。
当前每日支出限额为50万BTS(编者:限额不并等于实际支出,现在生效的实际支出几乎可以忽略不计),约相当于一万多点人民币,这些钱可以为一个小规模的开发团队支付报酬以不断迭代代码。50万BTS占BTS总量的比例比BTC每日挖矿产出的3600BTC占BTC总量的比例稍低,考虑到BTC的每日产出和费用都支付给了矿工,而BTS的预算费用大部分都支付给了开发者,BTS的这个资金预算设计还是值得称道的。
见证人的工作是把交易打包到区块并且为市场提供喂价,见证人在比特股中的角色大致和比特币中的矿工相仿,但是没矿工那么高的收入。BTS选民通过投票选出工作出色的见证人,这正是DPOS共识机制的表现形式,喂价这件事在比特股中相当重要,因为喂价不仅直接影响借出智能资产时的抵押率,还决定了强制清算时的价格,因此不靠谱的喂价会给空头带来极大风险。
BTS选民可以自己去完成每一项投票,而如果没有时间或兴趣去进行费时费力的投票,可以设置信任的人为投票代理,让其代为投票,设置代理后,你自己账户中的的BTS余额就会加到你的代理的投票权重上。
比特股是一个远比比特币复杂的平台,是一个有着强大功能的平台,而且是一个还在不断进化的平台,在过去的岁月里,BM主导了比特股的产生和演化,他是一个天使和魔鬼的结合体,作为极客中的战斗机的他有着天才的想法和强大的执行力,然而他的一些愚蠢的错误也给比特股社区带来过不小的灾难,比特股一直自称为DAC(Decentralized Autonomous Company),然而这个DAC的演化却是一直围绕着BM这个中心的,BTS2.0引入了投票机制,开始了BTS的真正的去中心化历程,在这个历程中,理事会可以说是有着重要地位的,靠理事会现在的权限已经可以决定很多重要的事情,而理事会现有的问题是,由于BM的投票权重太高,现有的11位理事账户中的5位init账户都是BM控制的,而其余6位“活人”账户有5位也是靠着BM的选票被选进理事会的。可以说当前的理事会还是一个受制于BM的机构,如果要让理事会真正代表社区发挥作用,社区就必须发挥选票的力量,把更多的社区代表选进理事会。
11月16日,我和clayop通过努力,第一次让理事会发挥了作用,通过了把转账费用由40BTS降为30BTS的提案,而如今,clayop由于选票不够已经从理事会出局,我呼吁社区积极投票,把更多象clayop这样的候选理事选进理事会去替代现有的init账号,毕竟,真正意义上的去中心化并非只是每个节点都有权打包交易的事情,而是在重大决策上社区如何对核心决策者进行有效制衡的问题,如果要真正地去中心化,就不能没有反对BM的声音,不能没有制衡的力量。
在我看来,BTS2.0是一个惊艳的产品,但其中的推荐人制度是一个败笔,因为这项制度带来了高收费,而高收费阻碍了新用户的加入,也妨碍了潜在的商业伙伴以更大的自由度开展商业计划,而此项制度带来的益处却乏善可陈,作为理事,我的主要理念之一是致力于制约BM的权力滥用,推动比特股的真正去中心化,理念之二就是尽力消除推荐人制度的消极影响,使比特股成为一个能给予用户和商业伙伴最大自由的平台。
如下图的理事得票统计显示,我是当前理事会中唯一一位没有获得BM投票(bytemaster和angel都是BM控制的账户)的理事,然而由于BM的投票权重太大,我的理事地位岌岌可危,随时有出局的危险,为了能更好地服务于社区,在此请求各位BTS选民投我的票,或者如果你并不怎么自己投票的话,就直接把我设成代理好了。
下图为比特股钱包中设置投票代理的界面,如果要我成为你的投票代理,把我的账号bitcrab填入;如果你打算自己投各种票但愿意投票选我为理事,就请移步理事会选项卡加入bitcrab,然后保存修改,谢了。:)
BTS不仅是资产,同时也是选票,以目前的价格,花上300万人民币大约就可以买到1亿BTS,约占BTS总量的3%,然后可以通过理事会投票和项目预算投票来发挥不容忽视的影响。在万科宝能精彩纷呈的股权大战尘埃刚刚落定的时候,对于BTS这个技术和设计牛逼得一塌糊涂,运营却差劲得一塌糊涂,因而价格远不能反映价值的区块链应用平台,资本有怎样的机会,能发挥怎样的能量,是不是也值得有能力的投资家们好好思考一下呢?
BTS相关链接:
区块链浏览器:http://cryptofresh.com/
石墨烯系统技术文档:http://docs.bitshares.eu/
DACPLAY网页钱包巨蟹专属推荐注册链接:https://bitshares.dacplay.org/?r=bitcrab
transwiser网关:http://www.transwiser.com/
transwiserQQ群:197298390
微信公众号:BitShares比特股社区