与区块链系统两个相关定理(CAP、FLP)

CAP定理:对于区块链系统有三个基本指标,构成了一个不可能三角
C : Consistency 一致性:在p2p对等网络系统,它的数据存储在很多个节点上,在很多节点上的数据能否保持一致。A : Availability 可用性:系统性能各方面是否是一个可用的系统,如果一个系统的性能过低,它就不是一个可用的系统。P : Partition Tolerance 分区容错性:在网络中,一旦发生故障,这个系统是否具备良好的容错性继续运行。为什么叫不可能三角:在「异步网络」中,互联网就是一个典型的异步网络,而家庭网络和企业网络不能算是异步网络,它们是一个理想的网络状态。在网路情况比较复杂的情况之下,我们很难同时完成这三个指标,以比特币为例:它要保证一个数据的分区容错性,一旦节点之间的通信发生故障,它还能继续的运行下去,那它就要牺牲一定的可用性。一个可用性很强的系统如云服务系统是集中式的,而比特币并不想做成一个集中式的系统,否则就失去区块链的意义了。当要保持一个分区容错性的时候,就不得不在可用性上做出一些牺牲,它所牺牲的就是一些性能,它是每十分钟经过一个区块, 每10分钟有足够的时间把产生的区块在全网中广播,这就付出了一个性能的代价,只为了让节点保持一个一致性。换言之,如果我们设计了一个区块链系统,它的可用性很强,那必然整个网络就一定带有中心化的特征的。举个例子:EOS,它采用21个超级节点来进行区块的产出,整个网络中所有的区块,都是在这21个超级节点中轮换的来生产的,它提升了性能。它不像比特币,在整个网络中通过一个工作量的证明,去随机的选择一个节点来产生区块。EOS采用相对中心化的方式来产生的区块,牺牲了一定的容错性,但增强了可用性和一致性。为什么牺牲了容错性呢?因为所有的区块都是在这指定的节点中产生,那指定的节点如果发生了任何问题,比如一旦受到攻击,更容易产生数据错误,这个就叫CAP不可能三角。另外,在很多学科里都有不可能三角定理。FLP定理:在网络可靠,同时又允许存在节点失效的最小化异步模型系统中,不存在一个可以解决一致性问题的确定性算法。
区块链网络中的数据是最终一致性的,也就是主链确认。节点必须是独立验证的,应该是弱交互或无交互验证。每个节点都要保存独立完整的账本数据才最安全。

与区块链系统两个相关定理(CAP、FLP)

扫一扫手机访问

发表评论