區塊鏈共識機制總結

買賣虛擬貨幣
引言區塊鏈是一種去中心化的分散式賬本系統,由於點對點網路下存在較高的網路延遲,各個節點所觀察到的交易事務先後順序不可能完全一致。 因此區塊鏈系統需要設計一種機制對在一定的時間內發生的事務的先後順序進行共識。這種對一個時間視窗內的事務的先後順序達成共識的演算法被稱為“共識機制”。本文旨在闡述常見的區塊鏈中的確認機制,主要結構如下,共識機制在比特幣中的整體地位,常見的共識機制如POW,POS 和 DPOS,以及這幾種機制之前的演進,關係與不同。共識機制

區塊鏈系統的核心是有系統中節點競爭記賬,這個競爭的過程稱為共識機制,區塊鏈的底層有四部分構成,一個分散式的資料庫用來儲存以往和將來的交易資料,密碼學的公私金鑰體系用來確認交易雙方的身份,P2P網路用來廣播和蔓延各類訊息(如節點加入訊息,節點失效訊息,得到挖礦資料的訊息)和 用來決定節點記賬權利的共識機制。

共識機制在區塊鏈中扮演著核心的地位,共識機制決定了誰有記賬的權利,以及記賬權利的選擇過程和理由。不用的虛擬貨幣採用共識機制不同,常見的共識機制如POW,POS,DPOS 拜占庭容錯等。現梳理如下:

POW

POW(Proof of Work),即工作量證明機制。整個系統中每個節點為整個系統提供計算能力(簡稱算力),透過一個競爭機制,讓計算工作完成最出色的節點獲得系統的獎勵,也就是完成新生成貨幣的分配。

區塊鏈是一個持續增長的順序塊組成的,每個塊包含了標頭檔案和一系列的交易信TXi,其中標頭檔案中保護了timestamp Ti ,上一個塊的索引Hi-1,和nounce Ni-1,區塊鏈是密碼上的安全,對於每一輪只要找到相應的HASG的碰撞就算成功,HASG的碰撞的意思可以瞭解為hash值的前多少位相同,我們知道何難找到兩個hash一模一樣的檔案,但是我們可以找到前幾位相同的,我們將一個完整的挖礦過程整理如下:
f(Di)>SHA256(SHA256(Hi−1||Ti||TXi||di||Ni)))
其中Di是難度係數,可以認為是前多少位的碰撞。挖礦的過程就是在不停的嘗試找Ni的過程。下面我們給出一個模擬挖礦的例子。
測試環境說明:

操作步驟:
執行如下指令碼

對結果進行排序,找到前9位對撞成功的n的值.

實驗結果如下:
“311214” sha1 value is:
ff47893a16ec612176cbb4255c7e0ce58400a828
“775478” sha1 value is:
ff47893a1f31dd5fd4220a9e8981112a2b3be2d6
雖然只是模擬實驗,但是完整的反映了POW的運作原理。

POS

POS(Proof of Stake) 最初有Sunny King 在2102年在論文PPCoin: Peer-to-Peer Crypto-Currency with Proof-of-Stake 中提出,這種機制透過計算你持有幣數佔總幣數的百分比,包括你佔有幣數的時間來決定你獲得本次記賬權利的概率。

在 PoW 機制中,由於想要找到符合條件的 nonce. nonce 往往需要花費大量的電力和時間成本,因此,為了使每個 Block 更快被生成,PoS 機制去掉了窮舉 noncenonce 這一過程,繼而採用以下更快速的演算法:
SHA256(SHA256(Bprev),A,t)≤balance(A)m
H 某個雜湊函式
t 為 UTC 時間戳
Bprev 指的是上一個區塊
balance(A) 代表賬戶A 的賬戶的餘額
唯一可以不斷調整的引數是 t,等式右邊 m 是某個固定的實數,因此,當balance(A)越大,找到合理 t 的概率越大。網路中,普遍對於 t 的範圍有所限制,如可以嘗試的時間戳不能超過標準時間戳 1 小時,也就說,一個節點可以嘗試 7200 次,來找到一個符合條件的t,如果找不到即可放棄。因此,在 PoS 中,一個賬戶的餘額越多,在同等算力下,就越容易發現下一個區塊.

DPOW

Delegated Proof of Stake(委託股權證明) 是 PoS 的進化方案,在常規 PoW 和 PoS 中,一大影響效率之處在於任何一個新加入的 Block,都需要被整個網路所有節點做確認。DPoS 最佳化方案在於:透過不同的策略,不定時的選中一小群節點,這一小群節點做新區塊的建立,驗證,簽名和相互監督,這樣就大幅度的減少了區塊建立和確認所需要消耗的時間和算力成本。

機制的演進

在本章中我們會重點探討POW->POS-DPOS這個演進的過程,哪些原因促使了區塊鏈從POW到POS的轉移。

比特幣的設計之初,系統預設節點和算力是均勻分佈的,因為透過CPU來進行投票,擁有錢包(節點)數和算力值應該是大致匹配的,每一個比特幣錢包的擁有者都能夠參與整個系統的決策機制,如果有任何人試圖對系統作惡,或者某一部分節點收到損失,都可以讓其他節點迅速補上,並且只要有51%的節點(算力)投票就可以選擇對系統發展更有利的方向。

在實際操作中POW的主要問題是算力過於集中的安全風險,這種風險體現在比特幣的控制權上,挖礦的人和持有比特幣的人已經完全被隔開,許多礦工可能完全不瞭解比特幣的生態,甚至不關心比特幣的未來,卻擁有對比特幣的絕對控制權,因為他們是新幣產生的起始點。一種極端的想法,如果幾個大型的礦池聯合在一起,那麼最新發行的幣將囤積,會造成原有幣種的進一步通貨緊縮。簡而言之,比特幣的命運掌握在並不一定關心比特幣命運的人手上,而持有比特幣的人並沒有控制權。

這就有點像,一個公司的命運並不是那些持有公司股份的股東來決定的,而是那些有可能根本不擁有股份,而只要有錢的人來決定的。那些持有比特幣的人完全無法對比特幣的未來做出自己的決定。我們彷彿從中本聰設定的一CPU一票的文明世界,一下子淪為純粹是靠蠻力,看誰力氣更大的原始社會。

DPOS機制似乎又重新把權利歸還到那些持有數字貨幣的人手上。DPOS機制是讓每一個持有BTS的人對整個系統資源當代表的人進行投票,而獲得最多票數的101個代表進行交易打包計算。這個可以理解為101個礦池,而這101個礦池彼此的權利是完全相等的。那些握著BTS選票的人可以隨時透過投票更換這些代表(礦池),只要他們提供的算力不穩定,計算機宕機、或者試圖利用手中的權力作惡,他們將會立刻被憤怒的選民門踢出整個系統,而後備代表可以隨時頂上去。

發行機制

POW的新增機制是“挖礦”,即礦工每完成一定量的計算,有可能獲得一塊新block中的新增比特幣。這個過程是一個純粹的通脹過程,即無中生有新增比特幣。但獲得新增的比特幣有一定的要求,必須全球第一個找出特定的HASH值。因此發行機制是算力比例分配的。

POS的新增機制是“利息”,即持有一定的POS幣一定時間,當然得開著客戶端,將獲得一定量的固定“利息”。這部分“利息”是新增的POS幣。只要你持有POS幣並開機,你就能獲得一定比例的“利息”。 因此POS體系將新增POS幣投放社會的機制,其投向是以已有POS幣等比例增加的。

優缺點對比

總結

本文介紹了常見的共識機制,並闡述了其中的演進和發展的過程,下部分中我們將從確認時間,能耗,激勵措施,經濟模型等方面進行詳細的分析。本文來自李佳軒部落格。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;