文| Bruce Lee(转载请注明出处)
微信公众号: BCH爱好者BruceLee
微博: BCH爱好者BruceLee
BCH高达10分钟的出块时间一直让很多用户觉得很难受。去年,BCH开发者推出了avalanche这个项目,旨在极大幅度的提升0确认的安全性。Avalanche何时可以真正上线目前还没有明确时间,但是昨天有开发者推出了一种新的瞬时确认方案 – Storm。
【开发者已经写好了Storm的白皮书以及模拟器】
与很多先吹风的开发者不同,这位名叫awemany的BCH开发者已经闷头研究了好一阵子,然后才推出这个项目。
这是storm的白皮书:
https://github.com/awemany/storm-sim/raw/master/whitepaper/pdf
而且已经写好了模拟器:
https://github.com/awemany/storm-sim
我昨晚大致看了一遍白皮书,长达35页,里面涉及了大量技术细节,写的非常详细。光是这份白皮书,我觉得没有1-2个月的功夫是不可能搞出来的。
【storm可以实现什么样的效果?】
根据白皮书所述,storm的出块速度理论值是600ms(也就是0.6秒),用模拟器运行得出的结果平均是2秒!
这么快的速度说是瞬时确认,完全没毛病!
【那么storm到底是什么原理呢?】
几年之前,BU的开发者曾经发表了weak block (下面简称弱块)的论文,大概意思是让矿工在正常的两个区块中间,构建一系列的弱块,这些弱块自行组成一条链。每个弱块需要的算力要比正常少很多,所以弱块的出块速度就会比正常区块快得多。这样,一笔交易在正式获得确认之前,会先获得若干个弱块确认,这就比之前的0确认交易的安全性高很多了。
但是问题来了,这些弱块组成的链依旧是使用pow达成共识,因此弱块的时间间隔也得高达几十秒,否则很容易出现分叉。这也是BCH首席开发amaury当初在推广avalanche的时指出的弱块的主要缺陷: 太慢!
Storm在原理上其实就是升级版的弱块。之前的弱块是使用POW达成共识,而Storm则是使用DAG达成共识。DAG这个技术也已经出来了2-3年了,目前很多币都在使用这项技术,包括BCH自身的token协议SLP其实就是利用的DAG。
当弱块使用DAG达成共识后,一下就鸟枪换炮了,就像前面所说,平均出块时间只需要2秒。
当然,上面只是简单通俗的解释,实际过程还涉及到许多技术原理,有兴趣的可以自行翻阅白皮书。
【storm的安全性如何?】
根据白皮书所述,每个弱块被双花的概率是10%。而每个弱块的出块时间是2秒,那么我们可以计算得出,只需要等待12秒,也就是6个弱块确认之后,这笔交易被双花的概率就变成了百万分之一,相当安全了。
【storm VS avalanche】
① 速度: storm一个确认是2秒,需要多少个确认才觉得安全取决于收款方,这里近似看成是10多秒吧。Avalanche达成共识的速度是3秒左右,没有确认的概念(avalanche协议不是链)。这里avalanche速度略微占优。
② 预期市场接受程度: storm还是使用的区块链的概念,每多一个确认安全性就增强一个级别,非常符合币圈的主流市场,毕竟现在交易所充值任何币都需要若干确认数。Avalanche就不好说了,有些人说avalanche就算实现了,可能市场也不会认可,还是有一定道理的。这点上storm占据明显优势。
③ 对WHC(虫洞协议)这类二层协议的友好程度: WHC是一个让人非常惋惜的项目,按照WHC原本的路线继续下去,是可以实现所有ETH能做的事情的,非常强大。但是WHC是账户制,所以必须要求每个交易都获得一个时间戳(获得确认就等于是得到一个无法篡改的时间戳),这样才能确立交易的前后顺序。而BCH现在十分钟的确认速度实在太慢,让WHC的智能合约没有任何竞争力,WHC现在处于停滞状态。
而storm和WHC简直是黄金搭档,每个弱块都可以给WHC交易加一个时间戳。如果storm正式上线了,WHC就可以死而复生,继续开发下去。想象一下: 一个永远不会堵塞,确认速度又超快,可以实现任何智能合约的区块链,会是多么牛逼?storm+WHC就可以让BCH做到。
Avalanche就不行了,这个协议没有确认的概念,无法帮助WHC的交易按照时间顺序排序,因此avalanche对于WHC是没有任何帮助的。
综合比较下来,我个人更喜欢storm这个方案。
结束语
Storm的开发者awemany之前也曾参与了avalanche的开发,他现在是把Storm作为一个可行的替代方案 (万一avalanche难产呢?)。两个方案都需要耗费不少的精力,我预计先完成的那个方案上线的概率会比较大。