区块链,可以共识和效率兼顾吗?
前段时间我看了一本关于区块链的一本知识普及类的书。书中的序言写到,区块链可以提高效率。
在理解了POW算法后,我认为这种说法不太严谨。
区块链为什么会提高效率?按照作序者的逻辑,区块链的运行机制创造了信任,有了这种信任,就不需要中心化的组织进行信用的背书了。在此基础上,原本需要通过中心化组织介入的交易,现在不需要了。交易双发可以在区块链创造的信用的基础上,直接进行点对点的交易,省掉了中心化组织的环节。因此,区块链可以提高效率。
这事听起来没毛病,可现实却不是这样。
以比特币为例,目前比特币POW算法的局限性决定了比特币的出块速度是被限定的,差不多十分钟出一个区块。同时,一个区块只有1M大小,所有都要记录在区块内。这直接导致比特币的交易频次被限定在非常低的量级上,1秒钟大概可以支撑不到10个交易。
这种级别的交易速度,不要说支付宝、微信支付这样的量级,国内任何一个第三方支付接口的性能诉求,以目前比特币的架构来讲都支撑不住,又何来提高效率之说。
我认为,POW的算力空耗是比特币交易效率低下的原因之一。
中本聪在《比特币白皮书》中是这样解释比特币网络的运行步骤的:
1、新的交易向全网进行广播;
2、每一个节点都将收到的信息纳入一个区块中;
3、每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明;
4、当一个节点找到了一个工作量证明,它就向全网进行广播;
5、当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;
6、其他节点表示他们接受该区块,而接受的方法则是跟随在该区块的末尾,制造新的区块以延长该链条,并将该区块的随机散列值视为新区块的随机散列值。
简单来说,每条交易都会发布到各个不同的节点,节点将检查最新的记录打包在一个新的区块上,然后通过算力证明取得发布区块的权力,将区块发布到网络,并获得区块的奖励。然后,未获得算力证明的区块放弃已经打包的数据。获得算力证明的区块经过全网节点连续6次确认后,区块中包含的交易将不可逆转,成为区块链的一部分。
从以上比特币的运行步骤我们可以看出来,POW算法的算力空耗比较严重,具体体现在以下几个方面:
1、为了争夺算力证明,全网节点要一起进行哈希运算。但只有一个节点能够取得算力证明,其他节点的哈希运算只能化为无用功。
2、在算力证明尚未明确花落谁家之前,大家都在积极打包新发生的交易记录,一旦算力证明尘埃落定,仅获得算力证明的节点打包的数据被认可,其他节点打包数据的行为将不存在意义。
3、连续6次确认的验证机制成为算力空耗的原因之一。
实际上,为了解决比特币的这一局限性,很多技术方案应运而生。有的提倡直接
提高单个区块的大小,有的提倡提高区块的产生速度同时降低区块的奖励,有的
则希望通过闪电网络来提升交易速度。
总之,直接地说比特币可以提高效率似乎不太严谨。就现在而言,区块链能够提高效率的场景非常有限,个人认为仅仅局限在中心化组织效率本身不高或者没有中心化组织的场景中。就未来而言,区块链通过技术的升级换代,不仅完全有可能取代中心化组织信用背书者的角色,而且很有可能超越现在的围绕中心化组织进行交易的场景的效率。
以上仅供学习\参考\交流之用,不构成任何投资建议。