我觉得这是个严肃的问题,采用方案D是必须的,也应该是可行的。传统的股票交易所也有类似的问题,他们只以法币作为唯一的计价单位,并提出了最小变动价位的概念。外汇交易平台上,也有类似的标准手的概念,和每手最低盈亏的单位,一般是10美金。因此采用方案D,限制下单必须整除,并不会对让用户感觉体验比传统的交易所低,不会带来多大影响。采用其他方案一旦被有心人发现并钻了漏洞,会造成投资人(比特股客户)的财产损失,这对比特股来说就损失大了。
以bts和cny为例,假定两者的最小单位都是1,下单一手最小数量也是1,那么下单,无论卖出bts还是cny, 其最小变动价格都应该是1。注意这时对bts的价格,系统内存在保底,即1手bts至少价值1最小单位cny。 数字资产波动较大,可能会有价格归零风险,取最极端例子,系统中的全部bts以总价为最小单位的cny挂单卖出。所以系统保底价格应该确保小于资产的手续费池/资产数量。
想当然很容易,实际情况是不好做(并不是说不能做),因为要照顾到很多种情况。
传统交易所,因为基础资产就那么一个或者几个,要么CNY,要么USD,要么BTC,要么ETH,容易拍脑袋。
要用ETC换BTS,必须先换BTC或者ETH,被割一次,再换BTS,再被割一次。
不是说没人抱怨,只是交易所强势,大家只能默默承受了。
还有就是,传统交易所,发现脑袋拍错了,随时可以再拍,修改规则,甚至可以停机回滚交易,修掉BUG再恢复。BTS没法这么搞,一切都要提前想清楚,尽量避免BUG,规则尽量简单。
内盘现在有几千种资产了,两两之间可以直接交易,这有很好灵活性。
举个例子,OPEN.BTC 兑 GDEX.BTC 的交易对,怎么强制整除?价格永远接近于1,精度也一样,强制必须要么1:1要么1:2根本没法玩。
再比如,最小手谁来定义?整除到哪一位?比如,现在BTC 10w 一个。按个卖还是按0.1个卖?还是按0.00000001个卖?
再比如,行情翻转时怎么处理?BTC:BCH交易对,现在BTC价格高,可以按BTC个数来整除。万一哪天BCH价格超过BTC了呢?还是按BTC整除,要么1要么0?
再比如,抵押时怎么算?爆仓时怎么算?175%的抵押率,110%的惩罚系数,本身就不是整数。
再比如,喂价怎么算?外面各个交易所的精度不一样,有的5位有的8位,有的是USD定价有的是BTC定价。
(不要跟我说取消喂价的问题。现在还根本不是取消的时候。)
总结一下,现有系统框架已经运行的很不错了,只是有些小问题,修补一下就会更好。
我发这个贴,是为了改善目前的规则,不是为了推倒重做。