有人说,”分布式计算是区块链的技术基础之一,但目前区块链世界并不是用明确的方法解决一个已知的问题,所以核心并不在于工程质量。“
很多人都觉得区块链世界,靠的是创新方案,而不是工程技术主导。这是大错特错,正相反,区块链要求更高的代码,技术,工程,算法,理论,质量控制,安全等各种***的能力。
***,区块链和应用系统的bugs,疵瑕,安全隐患,一旦被发现和利用,造成的后果和损失是巨大的,而且不可逆转。这时,造成的很可能是大量的实实在在资产的盗用,或是金钱的损失,从几十到几亿金钱损失都是可能的,哭天天不应,叫地地不灵。历史上,已经发生了不止一次,而且,再次发生也是可以预见的。更可怕的,由于匿名性,不可篡改性,想追回来损失都没有办法。那么,想想看,没有强大的工程技术能力,质量管理能力,安全能力来保障,动不动就出现bugs,和安全隐患,造成大的事故和损失,再好的想法,创新和方案,又能有什么用呢。
第二,区块链系统是去中心化的分布式系统,对系统的可靠性,系统的稳定性,系统的质量,要求更高,因为纠错的成本巨大。在中心化的时代,一旦代码出了问题,可以回滚,可以快速修复,快速部署,就可以了,用户可能基本感受不到,或是影响的用户很少,纠错成本不高。而到了去中心化的区块链时代,好像又回到了过去一个一个单机应用的时代,一旦出了问题,每个用户都得升级,都得修复,这是一个要求各个参与者共同行动,才能将整个系统带回正常。所以,要求系统的开发者有很强的代码能力,有多年的编程经验,有多年的积累,知道坑坑洼洼。这样,可以在开发的过程中避免很多的问题。开发过程必须有很强的工程管理能力,包括需求分析,功能取舍,code review,测试,等等。
第三,系统的架构,设计,参数的选择,也是致命的,少有不当,就需要分叉。因为涉及到资金,想做任何的调整,都是很困难的。比特币1M大小的区块设计,到现在已经是一个非常致命的问题。想把它改到另一个大小,大家都争得不易热乎。而且,往往会引起硬分叉。比特币现金,比特币黄金,都是硬分叉的结果。让区块链世界乱象丛生,群魔乱舞。
第四,理论高度,算法能力,要求也很高,当设计了一个新的共识算法,必须能够证明它的有效性,证明它能解决避免双花问题。不是谁都可以凭着想像就发明新的共识算法和靠口头来证明。
第五,长江后浪推前浪,前浪死在沙滩上。虽然是创新的先行者,由于问题太多,很可能被后面工程技术能力强的高手和团队取而代之。现在,大家都看到了,比特币现金想取代比特币,EOS等想取代以太坊。
所以,在考察和投资一个区块链项目时,有必要看看团队里面有没有有丰富经验的真正做过大系统的技术牛。虽然不是充分条件,应该是必要条件。
别看大家现在都在谈概念,要真正落地,一定还是要靠超强技术能力,工程能力和经验。