區塊鏈共識機制一 POW POS DPOS

2021-08-21 20:26:23 字數 3497 閱讀 2719

念_夕 關注

去中心化系統維繫的核心,在於參與者達成的共識。共識是博弈後的產出,既是博弈,就是平衡,參與到系統中的各方,都是唯利是圖的,名、錢、權,各有所需。

區塊鏈技術發展至今,遇到了各種如擁堵,中心化,浪費資源等問題,各種解決方案層出不窮,也出現了除位元幣使用的pow機制外的其他幾種共識機制。

顧名思義,通過完成一定工作,來證明你有能力完成記賬,系統中算得最快的節點獲得獎勵,這樣乙個去中心化的系統能執行起來的關鍵在於獎勵,然後才是圍繞獎勵建立起來的維持系統的機制。這個獎勵,在位元幣系統中也就是位元幣,從博弈的角度來看,位元幣的市值越高,參與進來的人就越多,維護系統的人就越多,並且維護系統的節點的能力就越強,在這個過程中,維護系統付出的硬體,電力,時間等資源就越來越多,反向推動位元幣公升值,最終形成乙個良性的,基於利益的,完全自治的,安全的,穩定的去中心化系統。

相對而言,依賴機器進行雜湊運算競爭來獲取記賬權,比拼的節點算力,歸根到底是計算機硬體和電力的比拼,這造成系統交易消耗之外的,額外的高資源消耗。同時由於算力這種資源比拼,最終會出現大礦場壟斷獎勵的問題,導致收益集中,也就是主要的位元幣集中在少數節點手裡面,形成對位元幣價的操縱,但是從位元幣系統的交易屬性來看,作為交易手段的一種,普通人利用系統進行交易,成本太高,大可以不用,所有從交易屬性的角度來看,位元幣系統會維持在乙個適當的價值。從金融屬性來看,特別是做多做空產品出現,由於可監管性弱,參與位元幣金融投資風險很大。

從技術實現上來講,pow非常簡單,可靠

一下是 go 寫乙個簡單的pow

func (pow *proofofwork) run() (int, byte) else {

nonce++

return nonce, hash[:]

本質是暴力計算符合條件的hash值

pos是一種在公鏈中的共識演算法,可作為pow演算法的一種替換。pow是保證位元幣、當前以太坊和許多其它區塊鏈安全的一種機制,但是pow演算法在挖礦過程中因破壞環境和浪費電力而受到指責。pos試圖通過以一種不同的機制取代挖礦的概念,從而解決這些問題。

pos機制可以被描述成一種虛擬挖礦。鑑於pow主要依賴於計算機硬體的稀缺性來防止女巫攻擊,pos則主要依賴於區塊鏈自身裡的代幣。在pow中,乙個使用者可能拿1000美元來買計算機,加入網路來挖礦產生新區塊,從而得到獎勵。而在pos中,使用者可以拿1000美元購買等價值的代幣,把這些代幣當作押金放入pos機制中,這樣使用者就有機會產生新塊而得到獎勵。在pow中,如果使用者花費2000美元購買硬體裝置,當然會獲得兩倍算力來挖礦,從而獲得兩倍獎勵。同樣,在pos機制中投入兩倍的代幣作為押金,就有兩倍大的機會獲得產生新區塊的權利。

總體上說,pos演算法如下所示。存在乙個持幣人的集合,他們把手中的代幣放入pos機制中,這樣他們就變成驗證者。假設在區塊鏈最前面乙個區塊(區塊鏈中最新的塊),這時pos演算法在這些驗證者中隨機選取乙個(選擇驗證者的權重依據他們投入的代幣多少,比如乙個投入押金為10000代幣的驗證者被選擇的概率是乙個投入1000代幣驗證者的10倍),給他們權利產生下乙個區塊。如果在一定時間內,這個驗證者沒有產生乙個區塊,則選出第二個驗證者來代替來產生新區塊。與pow一樣,以最長的鏈為準。

pos 的優點:

不需要為了保護區塊鏈而消耗大量電力(例如,位元幣和以太坊預計每天要在共識機制的電力和硬體上耗費超過100萬美元的成本)。

由於權益證明避免了高電耗,就沒有太多必要為了保持網路中參與者的積極性而發行很多新代幣。從理論上來說,甚至有可能變為負發行量,其中一部分交易費被「燒掉(burned)」,因此**量會逐漸減少。

權益證明有助於實現更多採用博弈論機制設計的技術,從而更好地抑制中心化卡特爾式機構的形成,如果這種機構確實形成了的話,也能夠阻止它們危害網路(如工作量證明中的自私挖礦)。

降低中心化風險,因此規模經濟不會造成太大問題。你不會因為負擔得起更好的大批量礦機而獲得與投入資金不成比例的收益,在pos中,1000萬美元投資帶給你的收益就是100萬美元投資的整整十倍。

能夠採用經濟處罰,這讓發動各種形式的51%攻擊所要付出的代價比在工作量證明中高出許多——vlad zamfir說過這樣一句話,大意是:「就好像如果你參與了51%攻擊,你的asic礦場就會燒毀一樣」。

與pos的主要區別在於節點擊舉若干**人,由**人驗證和記賬。其合規監管、效能、資源消耗和容錯性與pos相似。類似於董事會投票,持幣者投出一定數量的節點,**他們進行驗證和記賬。

dpos的工作原理為:

去中心化表示每**東按其持股比例擁有影響力,51%股東投票的結果將是不可逆且有約束力的。其挑戰是通過及時而高效的方法達到51%批准。為達到這個目標,每**東可以將其投票權授予一名代表。獲票數最多的前100位代表按既定時間表輪流產生區塊。每名代表分配到乙個時間段來生產區塊。所有的代表將收到等同於乙個平均水平的區塊所含交易費的10%作為報酬。如果乙個平均水平的區塊含有100股作為交易費,一名代表將獲得1股作為報酬。

網路延遲有可能使某些代表沒能及時廣播他們的區塊,而這將導致區塊鏈分叉。然而,這不太可能發生,因為製造區塊的代表可以與製造前後區塊的代表建立直接連線。建立這種與你之後的代表(也許也包括其後的那名代表)的直接連線是為了確保你能得到報酬。

該模式可以每30秒產生乙個新區塊,並且在正常的網路條件下區塊鏈分叉的可能性極其小,即使發生也可以在幾分鐘內得到解決。

成為代表:

成為一名代表,你必須在網路上註冊你的公鑰,然後分配到乙個32位的特有識別符號。然後該識別符號會被每筆交易資料的「頭部」引用。

授權選票:

每個錢包有乙個引數設定視窗,在該視窗裡使用者可以選擇乙個或更多的代表,並將其分級。一經設定,使用者所做的每筆交易將把選票從「輸入代表」轉移至「輸出代表」。一般情況下,使用者不會建立特別以投票為目的的交易,因為那將耗費他們一筆交易費。但在緊急情況下,某些使用者可能覺得通過支付費用這一更積極的方式來改變他們的投票是值得的。

保持代表誠實:

每個錢包將顯示乙個狀態指示器,讓使用者知道他們的代表表現如何。如果他們錯過了太多的區塊,那麼系統將會推薦使用者去換乙個新的代表。如果任何代表被發現簽發了乙個無效的區塊,那麼所有標準錢包將在每個錢包進行更多交易前要求選出乙個新代表。

抵抗攻擊:

在抵抗攻擊上,因為前100名代表所獲得的權力權是相同的,每名代表都有乙份相等的投票權。因此,無法通過獲得超過1%的選票而將權力集中到乙個單一代表上。因為只有100名代表,可以想象乙個攻擊者對每名輪到生產區塊的代表依次進行拒絕服務攻擊。幸運的是,由於事實上每名代表的標識是其公鑰而非ip位址,這種特定攻擊的威脅很容易被減輕。這將使確定ddos攻擊目標更為困難。而代表之間的潛在直接連線,將使妨礙他們生產區塊變得更為困難。

dpos裡沒有小節點,dpos保證選不上小節點。在dpos裡,理論上來講,大節點不再是富人本人,而是富人的**人,當然富人本人也可以親自上陣。但是總體而言,按照dpos的邏輯,管理區塊鏈的人,應該代表了最大多數財富的意見。而在理想狀態中,dpos是有個隱藏的「聲望」系統的——如果你錢多,或者你之前管理沒出過問題,那麼你聲望就會提高,別人選你的機率也會增加,於是,你的收益也會增加。這個時候,你如果作惡,你會損失聲望,就沒人選你繼續參與管理區塊鏈了,但是從收益-成本來看,作惡的成本相對pow和pos要小很多了。

區塊鏈共識機制

1 工作量證明共識機制pow proof of work 工作量證明是指使用者使用計算機算力耗電的成本,人稱挖礦,率先算出區塊唯一雜湊的礦工會得到這個區塊的獎勵,然後礦工們爭著計算出區塊的雜湊特定唯一值 這一數學問題答案 代表 位元幣 2 權益證明共識機制pos proof of stake 權益證...

區塊鏈有哪些共識機制

位元幣在block的生成過程中使用了pow機制,乙個符合要求的block hash由n個前導零構成,零的個數取決於網路的難度值。要得到合理的block hash需要經過大量嘗試計算,計算時間取決於機器的雜湊運算速度。當某個節點提供出乙個合理的block hash值,說明該節點確實經過了大量的嘗試計算...

區塊鏈共識機制及其迭代

共識,consensus,故名思義,共同的認識,共識問題研究的就是多個成員如何達成一致,典型的比如投票選舉。區塊鏈是一種去中心化的分布式賬本系統,區塊鏈的共識問題實際上 於分布式系統的一致性問題。區塊鏈是一種去中心化的分布式賬本系統,由於點對點網路下存在較高的網路延遲,各個節點所觀察到的交易事務先後...