区块链学习-2

区块链学习<二> 一致性问题


由于区块链系统是一个分布式系统,因此一致性问题是实现基于该系统上的业务必须有所保障的。


定义

一致性(consistency),是指对于分布式系统中的多个服务节点,在给定一系列操作之后,在事先约定的协议保障下,对操作结果达成认同,系统对外呈现出一致的状态。


问题

  • 服务节点间的网络通信会在一定程度上出现消息延迟、乱序和内容不正确等;
  • 同步调用会降低分布式系统的扩展性,使其退化为单节点系统;
  • 无法保障节点的处理时间;

然而,如今处理分布式系统一致性的思路普遍集中在将可能发生不一致的并行操作进行串行化

特点

  • termination:操作必须要在一定时间内得出结果;
  • agreement:决策结果相同,这多数体现在分布式系统对transaction进行排序,并且所排顺序得到大家认可;
  • validity:transaction必须由某个节点提出;