一句話介紹:勞動致富,多勞者多得!
描述:POW中文翻譯是工作量證明。采用此共識的數(shù)字貨幣有比特幣、萊特幣等。工作量證明系統(tǒng)(或者說協(xié)議、函數(shù)),是一種應對拒絕服務攻擊和其他服務濫用的經濟對策。它要求發(fā)起者進行一定量的運算,也就意味著需要消耗計算機一定的時間。這種系統(tǒng)要求得到證明的過程是低效且漫長的,可是校驗則是高效且迅速,概括起來就是求解難,驗證容易。比特幣是第一個區(qū)塊鏈應用,同時也是最著名的應用之一,它所使用的共識機制就是POW。那么具體是怎么實現(xiàn)的呢?在比特幣中,使用了SHA256這種哈希函數(shù)作為求解手段。SHA256有以下特征:
是一種散列函數(shù),即相鄰的x1和x2,求得的f(x1)和f(x2)差別極大。
不可逆推,給定了f(x)的值,推斷不出輸入值。
不存在比窮舉更好的方法,可以使f(x)落在特定的范圍。
實際使用過程中,每個節(jié)點需要打包的交易數(shù)據(jù)相同,再從尾部加一個隨機數(shù)(節(jié)點自己選)作為整體輸入來求輸出值,把結果和當前的挖礦難度對比(要求輸出值前x位為0),滿足條件則向附近節(jié)點廣播;不滿足則更換隨機數(shù)繼續(xù)求解。最快求得解的節(jié)點,則可以視為挖礦勝出,取得其他節(jié)點的共識。
目前比特幣已經吸引了全球大部分的運算能力,其他再使用PoW共識機制的區(qū)塊鏈應用很難獲得相同的計算能力來保障自身的安全,從而無法復制比特幣的輝煌;同時由于挖礦造成大量的資源被浪費,共識達成的周期很長,導致了比特幣的TPS(transaction per second,每秒執(zhí)行事務數(shù)量)極低,只有個位數(shù)。
優(yōu)點:算法簡單,容易實現(xiàn);節(jié)點間無需交換額外的信息即可達成共識;破壞系統(tǒng)需要投入極大的成本;
缺點:浪費能源;區(qū)塊的確認時間難以縮短;新的區(qū)塊鏈必須找到一種不同的散列算法,否則就會面臨算力攻擊;容易產生分叉,需要等待多個確認;永遠沒有最終性,需要檢查點機制來彌補最終性;
2. POS( Proof of Stake)一句話介紹:持有越多,獲得越多。
提出目的:解決POW51%攻擊
描述:
不同的曠工計算不同的數(shù)學難題,這個數(shù)學難題和你的擁有幣的時間/幣的多少持反比例。擁有幣時間越長,難度越低。持有幣數(shù)量越多,難度越低。
POS通過區(qū)塊鏈系統(tǒng)內部的虛擬資產來管理安全性,根據(jù)節(jié)點持有的通證數(shù)量或者時長來決定節(jié)點享有的權利大小。區(qū)塊鏈系統(tǒng)的參與者鎖定他們在該區(qū)塊鏈上持有的虛擬資產(Coin或Token),他們會簽署消息以達成一致意見。只有那些已經成為系統(tǒng)一部分的參與者才能夠決定下一個區(qū)塊的內容。
PoW共識算法從經濟角度,可以自然做到防止區(qū)塊鏈分叉(區(qū)塊鏈分叉的本質就是網絡各節(jié)點對區(qū)塊鏈的生成產生分歧,無法達成共識)。但是PoS則需要精心設計好相應的規(guī)則來防止分叉,例如PoS可以設定懲罰機制,參與挖礦的礦工被要求鎖定一定數(shù)量的虛擬資產。如果他們被偵測到了存在不當?shù)男袨?,則系統(tǒng)會沒收全部或部分被鎖定的虛擬資產。
優(yōu)點:在一定程度上縮短了共識達成的時間;不再需要大量消耗能源挖礦。
缺點:還是需要挖礦,本質上沒有解決商業(yè)應用的痛點;所有的確認都只是一個概率上的表達,而不是一個確定性的事情,理論上有可能存在其他攻擊影響。例如,以太坊的DAO攻擊事件造成以太坊硬分叉,而ETC由此事件出現(xiàn),事實上證明了此次硬分叉的失敗。
3. DPOS(Delegated Proof of Stake)一句話介紹:POS的升級版
提出目的:POW/POS浪費巨量算力。
描述: DPoS機制,中文名叫做股份授權證明機制(又稱受托人機制),代表數(shù)字貨幣是EOS。它的原理是讓每一個通證的節(jié)點進行投票,選出集中多數(shù)票的節(jié)點,例如100個,然后這些節(jié)點會行使類似POS的權力。 DPOS利用利益相關方批準投票的權力以公平和民主的方式解決共識問題,所有網絡參數(shù),從費用估算到塊間隔和交易規(guī)模,都可以通過選定的代表進行調整。從某種角度來看,DPOS有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責(當輪到他們時,沒能生成區(qū)塊),他們會被除名,網絡會選出新的超級節(jié)點來取代他們。
優(yōu)點:大幅縮小參與驗證和記賬節(jié)點的數(shù)量,可以達到秒級的共識驗證;更加去中心化的機制;擁有更高的處理效率
缺點:整個共識機制還是依賴于token,很多商業(yè)應用是不需要token存在的。
4. PBFT(PracTIcal ByzanTIne Fault Tolerance)一句話介紹:解決一切出現(xiàn)的故障
描述:拜占庭假設是對現(xiàn)實世界的模型化,由于硬件錯誤、網絡擁塞或斷開以及遭到惡意攻擊,計算機和網絡可能出現(xiàn)不可預料的行為。拜占庭容錯協(xié)議必須處理這些失效,并且這些協(xié)議還要滿足所要解決的問題要求的規(guī)范。
PBFT算法的核心理論是n》=3f+1 n是系統(tǒng)中的總節(jié)點數(shù),f是允許出現(xiàn)故障的節(jié)點數(shù)。換句話說,如果這個系統(tǒng)允許出現(xiàn)f個故障,那么這個系統(tǒng)必須包括n個節(jié)點,才能解決故障。
優(yōu)點:PBFT在很多場景都有應用,在區(qū)塊鏈場景中,一般適合于對強一致性有要求的私有鏈和聯(lián)盟鏈場景。(Hyperledger Fabric 在 0.6 版中應用了 PBFT,而在 1.0 版中放棄了 PBFT,轉而采用效率更高的 Kafka,支持單點和集群兩種方式,由 Kafka 直接給交易排序和出塊)
是一種散列函數(shù),即相鄰的x1和x2,求得的f(x1)和f(x2)差別極大。
不可逆推,給定了f(x)的值,推斷不出輸入值。
不存在比窮舉更好的方法,可以使f(x)落在特定的范圍。
實際使用過程中,每個節(jié)點需要打包的交易數(shù)據(jù)相同,再從尾部加一個隨機數(shù)(節(jié)點自己選)作為整體輸入來求輸出值,把結果和當前的挖礦難度對比(要求輸出值前x位為0),滿足條件則向附近節(jié)點廣播;不滿足則更換隨機數(shù)繼續(xù)求解。最快求得解的節(jié)點,則可以視為挖礦勝出,取得其他節(jié)點的共識。
目前比特幣已經吸引了全球大部分的運算能力,其他再使用PoW共識機制的區(qū)塊鏈應用很難獲得相同的計算能力來保障自身的安全,從而無法復制比特幣的輝煌;同時由于挖礦造成大量的資源被浪費,共識達成的周期很長,導致了比特幣的TPS(transacTIon per second,每秒執(zhí)行事務數(shù)量)極低,只有個位數(shù)。
優(yōu)點:算法簡單,容易實現(xiàn);節(jié)點間無需交換額外的信息即可達成共識;破壞系統(tǒng)需要投入極大的成本;
缺點:浪費能源;區(qū)塊的確認時間難以縮短;新的區(qū)塊鏈必須找到一種不同的散列算法,否則就會面臨算力攻擊;容易產生分叉,需要等待多個確認;永遠沒有最終性,需要檢查點機制來彌補最終性;
2. POS( Proof of Stake)
一句話介紹:持有越多,獲得越多。
提出目的:解決POW51%攻擊
描述:
不同的曠工計算不同的數(shù)學難題,這個數(shù)學難題和你的擁有幣的時間/幣的多少持反比例。擁有幣時間越長,難度越低。持有幣數(shù)量越多,難度越低。
POS通過區(qū)塊鏈系統(tǒng)內部的虛擬資產來管理安全性,根據(jù)節(jié)點持有的通證數(shù)量或者時長來決定節(jié)點享有的權利大小。區(qū)塊鏈系統(tǒng)的參與者鎖定他們在該區(qū)塊鏈上持有的虛擬資產(Coin或Token),他們會簽署消息以達成一致意見。只有那些已經成為系統(tǒng)一部分的參與者才能夠決定下一個區(qū)塊的內容。
PoW共識算法從經濟角度,可以自然做到防止區(qū)塊鏈分叉(區(qū)塊鏈分叉的本質就是網絡各節(jié)點對區(qū)塊鏈的生成產生分歧,無法達成共識)。但是PoS則需要精心設計好相應的規(guī)則來防止分叉,例如PoS可以設定懲罰機制,參與挖礦的礦工被要求鎖定一定數(shù)量的虛擬資產。如果他們被偵測到了存在不當?shù)男袨?,則系統(tǒng)會沒收全部或部分被鎖定的虛擬資產。
優(yōu)點:在一定程度上縮短了共識達成的時間;不再需要大量消耗能源挖礦。
缺點:還是需要挖礦,本質上沒有解決商業(yè)應用的痛點;所有的確認都只是一個概率上的表達,而不是一個確定性的事情,理論上有可能存在其他攻擊影響。例如,以太坊的DAO攻擊事件造成以太坊硬分叉,而ETC由此事件出現(xiàn),事實上證明了此次硬分叉的失敗。
3. DPOS(Delegated Proof of Stake)
一句話介紹:POS的升級版
提出目的:POW/POS浪費巨量算力。
描述: DPoS機制,中文名叫做股份授權證明機制(又稱受托人機制),代表數(shù)字貨幣是EOS。它的原理是讓每一個通證的節(jié)點進行投票,選出集中多數(shù)票的節(jié)點,例如100個,然后這些節(jié)點會行使類似POS的權力。 DPOS利用利益相關方批準投票的權力以公平和民主的方式解決共識問題,所有網絡參數(shù),從費用估算到塊間隔和交易規(guī)模,都可以通過選定的代表進行調整。從某種角度來看,DPOS有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責(當輪到他們時,沒能生成區(qū)塊),他們會被除名,網絡會選出新的超級節(jié)點來取代他們。
優(yōu)點:大幅縮小參與驗證和記賬節(jié)點的數(shù)量,可以達到秒級的共識驗證;更加去中心化的機制;擁有更高的處理效率
缺點:整個共識機制還是依賴于token,很多商業(yè)應用是不需要token存在的。
4. PBFT(PracTIcal Byzantine Fault Tolerance)
一句話介紹:解決一切出現(xiàn)的故障
描述:拜占庭假設是對現(xiàn)實世界的模型化,由于硬件錯誤、網絡擁塞或斷開以及遭到惡意攻擊,計算機和網絡可能出現(xiàn)不可預料的行為。拜占庭容錯協(xié)議必須處理這些失效,并且這些協(xié)議還要滿足所要解決的問題要求的規(guī)范。
PBFT算法的核心理論是n》=3f+1 n是系統(tǒng)中的總節(jié)點數(shù),f是允許出現(xiàn)故障的節(jié)點數(shù)。換句話說,如果這個系統(tǒng)允許出現(xiàn)f個故障,那么這個系統(tǒng)必須包括n個節(jié)點,才能解決故障。
優(yōu)點:PBFT在很多場景都有應用,在區(qū)塊鏈場景中,一般適合于對強一致性有要求的私有鏈和聯(lián)盟鏈場景。(Hyperledger Fabric 在 0.6 版中應用了 PBFT,而在 1.0 版中放棄了 PBFT,轉而采用效率更高的 Kafka,支持單點和集群兩種方式,由 Kafka 直接給交易排序和出塊)