对上周美国Poloniex交易所上新币乌龙事件的几点思考
上周山寨币行业在twitter上比较火爆的事件就是Poloniex上新币的乌龙事件。
美国较为著名的山寨币交易所Poloniex,(山寨币交易量位于Mintpal和Cryptsy之后),也就是国内山寨币网友俗称的P网在2014年6月14日爆出了一起上新币的乌龙事件。
事件的过程大致如下:Poloniex今年6月初改变了上币规制,原来上币都是P网的管理员Busoni说了算,如果币有一定创新性,会以较快的速度被列上P网,正是由于这个原因P网取得了较快的发展。后来P网也引入了投票上币的机制,只是投票机制比较苛刻,必须是P网的用户并且有一定的交易记录才可以参与投票,这在一定程度上保证了投票的真实性,值得称赞。
P网的规则改变后,6月9号这一周的得票第一名是Supercoin,按道理,Supercoin应该是P网改变规则后第一个要上的新币。结果Supercoin不但没有能成功登陆P网,还被P网的谣言和不专业给深深的中伤。
在6月14日,Poloniex的创始人busoni在bitcointalk上专门开了一个帖子,说明busoni为什么不上Supercoin。(帖子地址
https://bitcointalk.org/index.php?topic=652351.0) 在帖子里面,busoni以专家的态度贴出了Supercoin的source code
具体如下:
if (dAmount <= 0.0 || dAmount > 150000000.0)
static const int64_t MAX_MONEY = 150000000 * COIN;
static const int64_t POW_MAX_MONEY = 50000000 * COIN;
说在Supercoin的代码中发现最大货币供应量是1.5亿,Pow阶段的货币供应量是5千万,并不像Supercoin作者宣称的最大货币供应量是5千万,Pow阶段的货币供应量是1千8百20万。从而busoni认定Supercoin开发者存在最大总量欺诈的问题。
此帖一出,Supercoin的价格在另外一个交易所的价格直接腰斩,价格从最高的8000聪跌倒800聪。整个Supercoin社区砸开了锅,并且busoni的言论也在twitter上得到大量转发,但是没过多久就有专业的虚拟货币开发者纠正了busoni的错误。
首先网友在很多山寨币的源码中都发现了类似代码,busoni关于MAX_MONEY的参数的理解完全错误,
比如在Silkcoin中
Maximum POW supply: ~45 million
Code:
static const int64_t MAX_MONEY = 2000000000 * COIN;
在Cinni coin
Cinni
Total Coins: 15,000,000
Code:
static const int64 MAX_MONEY = 100000000 * COIN;
网友们发现在silkcoin和Cinni coin代码中MAX_MONEY的值和真实的货币供应量都不一致。
那虚拟货币的真实的最大货币供应量有哪些函数来确定呢?
后来又专业的虚拟货币代码开发人员贴出了辟谣贴:
The max coin limits the maximum coin, but does it mean the maximum coin will be generated?? Not at all. The generated coin depends on the formula in 3 functions:
- GetProofOfWorkReward()
- GetProofOfStakeReward()
- GetProofOfWorkBonusRewardFactor()
These functions define how many coins will be generated.
最后发现货币供应量取决于以上3个函数,pow的区块+pos的区块+bonus区块,和MAX_MONEY的参数并没有太大关系,MAX_MONEY的参数值用来限定发送虚拟货币最大数量。
至此,我们可以知道busoni完全弄错了代码中参数的意义,后来他又声明代码的同行评测是找另外一个人进行的,自己并没有参与同行评测,并想遮掩自己犯下的错误,但是他的轻率和不负责的言论已经给Supercoin 社区造成了不小的伤害,这个肤浅的错误也反应了busoni其实对虚拟货币的源代码也了解不多。
下面来总结一下对这个事件的几点思考:
1 交易平台上币之前确实要慎重考虑,同行的代码评测也是需要的,通过同行评测可以及时发现代码中的漏洞和虚拟货币开发者是否留有后门。这也可以最大程度的保护交易平台用户的利益。
2 同行评测需要专业的开发人员来进行,如果自己都对虚拟货币的源代码知之甚少,给出的意见难免贻笑大方。
3 如果在同行评测中发现问题或者有任何疑问,应该第一时间联系虚拟货币的开发团队,而不是面向公众发表轻率和不负责的言论。
4 即使是在国外的交易所,其虚拟货币从业人员的素质也是良莠不齐,优秀的虚拟货币开发人员少之又少,也亟需提高专业素养。
5 交易平台作为虚拟货币行业的标杆,其一举一动都有巨大的影响,应尽量避免不必要的误会和轻率的言论。