共识算法是区块链的核心, 解决的是在不可信网络下的分布式状态数据的共识计算 。区块链的节点网络规模以及执行效率,都取决于采用了什么样的核心共识算法。共识从不同的算法也根据自身的特性采用了不同的一致性协议,从共识属性上,FLP(Fischer, Lynch and Paterson)定义了三个特性,同时认为:Any algorithm that has these three properties can be said to solve the consensus problem。
1)Termination/Liveness: 可终止性
All non-faulty processes eventually decide on a value.
共识算法中每个过程调用都会有固定的结果值, 算法不会出现死循环无尽执行下去。
2)Validity:合法性
The value that has been decided must have proposed by some process.
每一轮共识的结果值,都是由网络中的某些节点或者进程提议共识出来后结果。
3)Agreement /Integrity/Safety: 完整性
All processes that decide do so on the same value.
网络中节点或者进程都会对相同的调用执行得到相同的结果集,所有正确的节点都必须在这个结果集上保持一致。
定义1)强一致性:对于系统这种存在的节点集合S(1,2,……n),对于任何状态数据序列D(i ,i+1,i+n),所有 节点的S的序列是一致的。
定义2)弱一致性: 对于系统这种存在的节点集合S(1ÿ
共识算法的背景及原理介绍
最新推荐文章于 2023-09-26 20:30:55 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)