比特幣網絡為完全公開,任何人都可以匿名接入,因此共識協議的穩定性和防攻擊性十分關鍵。比特幣區塊鏈採用了 Proof of Work(PoW)的機制來實現共識,該機制最早於 1998 年在 B-money 設計中提出。
目前,Proof of X 系列中比較有名的一致性協議如 PoW、PoS 和 DPoS 等,都是通過經濟懲罰來限制惡意參與。
什麼是 PoW?
工作量證明 (Proof of Work,簡稱 PoW ) ,簡單的解釋就是一份證明,用來確認你做過一定量的工作。通過計算來猜測一個數值(nonce),使得拼湊上交易數據後內容的 Hash 值滿足規定的上限(來源於 hashcash)。 Hash 難題在目前的模型下需要大量計算,這就保證在一段時間內,系統中只能出現少數合法提案。反過來講,能夠提出合法提案,也證明提案者確實付出了一定的工作量。
什麼是PoS?
權益證明(Proof of Stake,PoS),最早提出於 2013 年,並在 Peercoin 系統中實現,類似現實生活中的股東機制,擁有股份越多的人越容易獲取記賬權(同時越傾向於維護網絡的正常工作)。作為一種在公鏈中的共識算法,PoS 可替換為 PoW 算法。 PoW 的算法機制可以保證比特幣、當前以太坊和其它區塊鏈的安全,但是 PoW 算法在挖礦過程中因為破壞環境和浪費電力而受到指責,PoS 試圖通過以一種不同的機制取代挖礦的概念,從而解決這些問題。
PoS 機制可以被描述成一種虛擬挖礦,主要依賴於區塊鏈自身的代幣。在 PoW 中,一個用戶可能拿 1000 美元來買計算機,加入網絡挖礦產生新區塊,從而得到獎勵。而在 PoS 中,用戶可以拿 1000 美元購買等價值的代幣,把這些代幣當作押金放入 PoS 中,用戶就有機會從新塊裡得到獎勵。在 PoW 中,如果用戶花費 2000 美元購買硬件設備,當然可以兩倍算力來挖礦,從而獲得兩倍獎勵。同樣,用戶在 PoS 中投入兩倍代幣作為押金,也能有兩倍大的機會獲得產生新區塊的權利。
什麼是 DPoS ?
委任權益證明。 DPoS 是一種區塊鏈的共識算法, 2014 年 4 月由 Bitshares 的首席開發者 Dan Larimer (現為EOS CTO) 提出並應用。當時 Dan 觀察到比特幣系統共識算法 PoW 的一些問題:比如礦池導致算力越來越集中、電力耗費過大等,所以他提出了一種更加快速、安全且能源消耗比較小的算法,這就是後來的 DPOS。
在DPoS共識算法中,區塊鏈的正常運轉依賴於受託人(Delegates),它們是完全等價的。受託人的職責主要有:
- 提供一台服務器節點,保證節點的正常運行;
- 利用節點服務器收集網絡裡的交易;
- 節點驗證交易,把交易打包到區塊;
- 節點廣播區塊,其他節點驗證後把區塊添加到自己的數據庫;
- 帶領並促進區塊鏈項目的發展。
受託人的節點服務器相當於比特幣網絡裡的礦機,在完成本職工作的同時可以領取區塊獎勵和交易的手續費。一個區塊鏈項目的受託人個數由項目發起方決定,一般是101個受託人。任何一個持幣用戶都可以參與到投票和競選受託人這兩個過程中。用戶可以隨時投票、撤票,每個用戶投票的權重和自己的持幣量成正比。投票和撤票可以隨時進行,在每一輪 (round) 選舉結束後,得票率最高的 101(一般為101,也可以是其他數字,具體由區塊鏈項目方決定)個用戶則成為該項目的受託人,負責打包區塊、維持系統的運轉並獲得相應的獎勵。
選舉的根本目的,是通過每個人的投票選舉出社區裡對項目發展和運行最有利的 101 個用戶。這 101 個用戶的服務器節點可以高效維護系統的運轉,而它們也會貢獻自己的能力促進區塊鏈項目的發展。通過這種方式,既達到了去中心化的選舉共識,又保證了整個系統的運行效率和減少能源浪費。
評論
0 條評論
請登入寫評論。