已故科学家张首晟教授,在演讲中提到了物理学第二定律和区块链的关系,其中说区块链靠消耗算力来获得秩序。一个聪明的学生,可以去研究一下获得秩序的最小能量消耗是多少?
这真是一个好问题。
物理学的视角,数学的视角大概是最接近上帝视角的看待问题的方法。也就是说是靠一些外部的输入来获取秩序的过程,这个更接近物理学的一般定律。比如空调输入电力,获得低温。是一种秩序的获得。激光系统获得能量输入,输出有秩序的激光。这都是一种输入输出的转化。
在一个分布式系统中,是否也有可能通过消耗一种外部输入来获得秩序,在不同的机器上获得一种共识的秩序。
那么我们回到区块链本身来看。
在POW的区块链系统中,所谓获得秩序的过程,是一个消耗算力的过程。更抽象的来讲这是一个共识过程。
而区块链的共识机制,大家知道有POW和BFT,POS等不同系列。粗略的来划分就是竞争性共识和协商性共识。
对于竞争性共识,是靠消耗算力来获得秩序,获得秩序的稳定边界是51%。也就是说容错概率是49%。
对于协商性共识,比如BFT系列的共识算法,其容错概率是三分之一,也就是当三分之一的节点出现异常的时候,可以维持系统的正常运行。超过三分之一,则无法有效达成共识。
那么回到拜占庭共识的机制来看,这个中间需要多个节点之间的通信来完成。一个重要的限制就是通信带宽和通信时延。
星际互联网中如何设计一个共识系统
假如在星际互联网中,比如各个节点之间处于一个边长60万千米的六边形的节点中,达成一个共识。每两个最近的节点之间通信需要最少的时间是2秒钟,一个共识周期至少4个节点进行签名验证。从1号节点向2,3,4节点分别发送消息进行签名验证。2,3,4分别再进行签名后的广播。那么这个过程最少需要8秒的共识时间来取得至少4个节点的签名共识。
约束变量
区块大小
这个和网络带宽是一个反比关系。
如果区块有1G大小,在1G的带宽容量下,需要1秒种。如果区块大小是100M,大约就需要0.1秒钟传输。
带宽
对于竞争性共识,也需要通信来确保全网的一致性。只是对于一个块来讲,通信是否成功不会受到影响。但是对于一个块的确认,无论是竞争性共识还是协商性共识都需要依靠通信广播来确保。
只是在协商性共识中,有一个截止时间来打包,超过截止时间,就无法打包,也就是出块失败。
打包的块是最终共识。
而在竞争性共识中,需要几个块的确认来确保块不分叉,不是一个最终性共识,而是伴随着时间的增加,被修改的概率无限趋近于0。
节点之间的物理通信距离
竞争性共识,靠消耗算力
CPU的处理速度
参考今日头条上的收藏文章,CPU,内存,总线的关系。
待更
内存的读取速度
内存优先的计算架构设计。
整个过程中的处理速度取决于最慢的部分。目前在地球的互联网中是取决于通信带宽。因为在其他部分,性能足够。
总结出一个一般性的结论。
协商性共识的约束边界
竞争性共识的约束边界。
网友评论