【每天一个web3概念】快速搞懂PAXOS

PAXOS是一个典型的强一致性非拜占庭共识算法。它与前面我们讲的PoW、PoS都不同。强一致性,是指系统所有的节点在同一个时间点收到的结果都是一致的,而非强一致就是指系统的所有数据达成一致需要一定的时间,比如PoW,PoS。

那么非拜占庭是什么?拜占庭是指“叛徒”问题,即破坏性极强、不可预测、任意随机特性的问题,如黑客攻击,而非拜占庭是指宕机、网络延迟、信息缺失等这些问题。Paxos算法设立了提议者、接受者和学习者三种节点。它的工作原理是,提议者在准备(Prepare)阶段向接受者发送一个带有唯一编号的提议来请求承诺。接受者在回应时,如果他们之前已经接受了其他的提议,会将这些提议的值和编号返回给提议者。如果提议者获得超过一半接受者的承诺,它会进入接受(Accept)阶段,发送提议的具体值。一旦这个值被超过一半的接受者接受,那么对这个提议就达成了共识。学习者随后会了解到这一决策,这是为了确保系统的其他部分知道哪些提议被接受,从而保持全网数据的一致性。

根据著名的CAP定理,一个分布式系统无法同时保证一致性、可用性和分区容忍性,所有的共识算法都是根据实际情况来在三者中达到一种平衡。PAXOS的目的是保证强一致性,这就导致会牺牲一定的可用性。与PoW不同,PoW实现的是最终一致性,也就是可以允许出现短暂的分叉,而PAXOS不会出现分叉,因为只有一致的结果才能让系统继续运行下去。同时,它的侧重在于解决非拜占庭故障,那么也会导致在受到恶意攻击时系统无法正常运转,比如如果有恶意提议者不停发出新的提议,整个系统就会陷入停滞。#Paxos #热门话题 #每日解析