不可能三角:区块链系统的安全、效率、去中心化三者之间不能共存。这个理论是在2014年提出来的,当时很多人批评PoW(工作量证明)造成了巨大的能量浪费,试图用非计算共识如PoS(股权证明)等来取代计算共识。但经过研究发现,PoS等非计算共识的提出虽然节约了能源,但却带来新的问题,牺牲了去中心化。
这个理论甫一提出,便引来了铺天盖地的批评。在一家论坛上,《不可能三角形:安全,环保,去中心化》这篇文章下有90多条评论,大多是反对文章的观点的。NEO创始人达鸿飞、YOYOW创始人巨蟹都有过关于不可能三角的激烈的讨论。
当时我参加一家区块链的会议活动,听了文章作者的演讲,下面的观众都笑了,大家都笑称他为“长三角”。我想,这些批评是可以理解的,因为当时开发者、研究者都有根深蒂固的互联网思维,即优化思想,认为可以通过技术手段实现极致的效率。但这对于区块链而言是不成立的,因为要实现去中心化共识,需要引入计算的竞争,竞争就会带来计算成本。
其实在很多分布式领域都存在不可能三角,比如在分布式计算领域存在“一致性、分区容错性、可用性”的不可能三角,在分布式域名领域存在“安全、去中心化、人类可读”的不可能三角。
所以区块链不可能三角其实是归纳出来的,但是若要证明这个问题,可以把它归约到另一个问题,即数学上的希尔伯特公理体系的“不可能三角”。它讲的是在公理体系中,如果命题满足独立性和一致性,那么将不具可判定性。不可判定性已经被丘奇和图灵证明了,从这个思路出发,其实区块链不可能三角也是可被证明的。
从数学上讲,它们其实是同一个问题,一致性其实就是安全性,即命题之间不能相互矛盾。独立性就是去中心化,每个命题之间不可能相互推导出来。可判定性就是效率,不存在一个通用算法,可以提前验证一个命题是否成立。
几年后,对“不可能三角”的争议渐息,反而逐渐被接受为行业共识。对共识机制的创新其实并无高下之分,并不存在新的共识机制可以一劳永逸地解决全部问题,而只是在三角中选择一种平衡,比如牺牲部分去中心化而寻求更高效率。
领取专属 10元无门槛券
私享最新 技术干货