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

PAXOS是一個典型的強一致性非拜占庭共識算法。它與前面我們講的PoW、PoS都不同。強一致性,是指系統所有的節點在同一個時間點收到的結果都是一致的,而非強一致就是指系統的所有數據達成一致需要一定的時間,比如PoW,PoS。

那麼非拜占庭是什麼?拜占庭是指“叛徒”問題,即破壞性極強、不可預測、任意隨機特性的問題,如黑客攻擊,而非拜占庭是指宕機、網絡延遲、信息缺失等這些問題。Paxos算法設立了提議者、接受者和學習者三種節點。它的工作原理是,提議者在準備(Prepare)階段向接受者發送一個帶有唯一編號的提議來請求承諾。接受者在迴應時,如果他們之前已經接受了其他的提議,會將這些提議的值和編號返回給提議者。如果提議者獲得超過一半接受者的承諾,它會進入接受(Accept)階段,發送提議的具體值。一旦這個值被超過一半的接受者接受,那麼對這個提議就達成了共識。學習者隨後會了解到這一決策,這是爲了確保系統的其他部分知道哪些提議被接受,從而保持全網數據的一致性。

根據著名的CAP定理,一個分佈式系統無法同時保證一致性、可用性和分區容忍性,所有的共識算法都是根據實際情況來在三者中達到一種平衡。PAXOS的目的是保證強一致性,這就導致會犧牲一定的可用性。與PoW不同,PoW實現的是最終一致性,也就是可以允許出現短暫的分叉,而PAXOS不會出現分叉,因爲只有一致的結果才能讓系統繼續運行下去。同時,它的側重在於解決非拜占庭故障,那麼也會導致在受到惡意攻擊時系統無法正常運轉,比如如果有惡意提議者不停發出新的提議,整個系統就會陷入停滯。#Paxos #熱門話題 #每日解析