以太坊pos演算法
『壹』 以太坊pos模式是什麼意思
POS是一種在公鏈中的共識演算法,可作為POW演算法的一種替換。POW是保證比特幣、當前以太坊和許多其它區塊鏈安全的一種機制,但是POW演算法在挖礦過程中因破壞環境和浪費電力而受到指責。POS試圖通過以一種不同的機製取代挖礦的概念,從而解決這些問題。
【拓展資料】
POS機制可以被描述成一種虛擬挖礦。鑒於POW主要依賴於計算機硬體的稀缺性來防止女巫攻擊,POS則主要依賴於區塊鏈自身里的代幣。在POW中,一個用戶可能拿1000美元來買計算機,加入網路來挖礦產生新區塊,從而得到獎勵。而在POS中,用戶可以拿1000美元購買等價值的代幣,把這些代幣當作押金放入POS機制中,這樣用戶就有機會產生新塊而得到獎勵。在POW中,如果用戶花費2000美元購買硬體設備,當然會獲得兩倍算力來挖礦,從而獲得兩倍獎勵。同樣,在POS機制中投入兩倍的代幣作為押金,就有兩倍大的機會獲得產生新區塊的權利。
眾所周知,第三季度的「DeFi熱」促使以太坊網路上的交易量大幅增加,DappRadar 2020 Q3 Dapp報告指出,以太坊交易量在2020年第三季度猛增至1195億美元,與第二季度相比增長了近1200%,但隨著而來的是網路堵塞,交易費猛增。在今年9月9日,以太坊平均交易費用達到14美元的高度,刷新歷史記錄。因費用飆升,導致許多交易只能延遲。
EOS創始人BM感嘆稱:對於大多數正常規模的交易來說,以太坊交易費用太高了。
目前的以太坊仍然面臨多重問題,首先老生常談的是上面提到的交易處理,以太坊網路支持數千個去中心化應用程序,每秒都需要處理大量交易,而採用PoW共識機制的以太坊1.0,每秒只能處理約10-50筆交易,遠小於PayPal、Visa 等中心化網路,遠無法滿足用戶對於交易速度的需求。手續費高昂一直是以太坊被詬病的一個重要的點,V神直言,在rollups和分片完成之前,以太坊別無選擇,只能忍受高額交易費。因此以太坊需要升級。
『貳』 區塊鏈共識演算法——(二)PoS共識(Proof of Stake)
2011 年 7 月, 一 位 名 為 Quantum Mechanic 的 數 字 貨 幣 愛 好 者 在 比 特 幣 論 壇 首次提出了權益證明 PoS 共識演算法. 隨後, Sunny King 在 2012 年 8 月發布的點點幣 (Peercoin, PPC) 中首次實現. PoS 由 系統中具有最高權益而非最高算力的節點獲得記賬 權, 其中權益體現為節點對特定數量貨幣的所有權, 稱為幣齡或幣天數 (Coin days)
PoS是考慮到PoW的最大缺陷:浪費資源而提出的,簡單來說就是 誰的權益大,誰說了算 。
PoS共識機制(Proof of Stake 權益證明)通過權益記賬的方式,解決效率低下、資源浪費、節點一致性等問題。
各個節點需要滿足一定的條件(如抵押一定的代幣)才能成為驗證節點(權益提高),系統通過演算法在其中選擇一部分作為出塊節點(礦工),每隔一段時間重新選擇,演算法會保證完全隨機,不可被操控。只有出塊節點才能進行數據處理,爭奪記賬權。
權益主要由權益因子決定,可以是持幣數量,也可以是幣齡及兩者的結合。
以太坊在之後很有可能會改用PoS進行共識,其更加符合以太坊高效率的特點。
『叄』 【Discover ETH】什麼是權益證明PoS
本篇作為Discover系列文章的開篇,結合ETH2.0的目標,來談談權益證明PoS是什麼。
在談PoS之前,我們先來了解一下共識。共識,即達成了普遍協議。區塊鏈實質上是一個全球性的狀態機,達成共識意味著網路上至少有超過一半(51%)的節點同意網路的下一個全球狀態。
共識機制 (也稱為共識協議或共識演算法)允許分布式系統(計算機網路)協同工作並保持安全。當前主流的共識機制有兩種,分別是 工作量證明 (Proof of Work,PoW)和 權益證明 (Proof of Stake,PoS)。以太坊在設計之初就希望最終以太坊的共識機制能轉變為PoS,而PoW只作為一個過渡階段。但無論是PoW還是PoS,最終的目的都是相同的,即實現分布式計算機的共識機制。下面先簡單了解工作量證明(PoW)的工作機制。
工作量證明通過礦工們完成,礦工們需要競爭創建最新區塊以處理和完成交易。 獲勝者將與網路中的其他節點分享最新區塊,並且獲得最新的特定代幣區塊獎勵(如以太坊的以太幣)。由於用戶需要擁有超過網路中 51% 的算力才能夠欺騙整條鏈,因此網路安全得以保證。 這將需要巨大的設備和能源投入,所需的開支甚至可能超過收益。
工作量證明是08年在中本聰所創造的比特幣中提出的,至今已經經過了充分的考驗和測試,但隨著越來越多的礦工和礦池的加入,挖掘新的區塊的難度指數爆發式上升,也面臨的如下的問題:
PoS作為ETH2.0關鍵的建設目標,其作用不僅僅只是因為PoW帶來的環境不友好的能源消耗,還有PoS的建設能更有力支持 分片鏈 (以太坊網路擴展的關鍵升級),更強的去中心化特性等等。下面從幾個方面來簡單談談權益證明PoS的工作過程。
在以太坊中,工作量證明的過程參與的角色是礦工/礦池。其目的是通過算力試錯來反復計算,以此生成一個低於目標隨機數的混合哈希。這個計算難度依賴於區塊所聲明的 難度 ,難度越小,有效的哈希值的集合就越小。而在權益證明中,則沒有礦工這一角色,與之對應的是稱之為 驗證者 的角色。
在ETH2.0中,用戶需要質押 32ETH 來獲得作為驗證者的資格。驗證者被 信標鏈 隨機選擇去創建區塊,並且負責檢查和確認那些不是由他們創造的區塊。他們不需要開采區塊,他們只需要在被選中的時候創建區塊並且在沒有被選中的時候驗證他人提交的區塊。此驗證被稱為證明。
驗證者因提出新區塊和證明他們已經看到的區塊而獲得獎勵,對於一些惡意驗證者節點,也會有相應的懲罰機制使之失去質押。驗證者質押的ETH越多,獲得的獎勵也越多。可以這樣說,權益證明是一種用於激勵驗證者接受更多質押的機制。
前面提到了 分片鏈 這個名詞, 分片 就是將區塊鏈分成多條鏈。驗證者將會在不同的分片上處理它們的分片數據,以此來提高區塊鏈的工作效率。ETH2.0預計會有64個分片鏈。
驗證者會被隨機洗牌到不同的分片中,以防止驗證者惡意操縱節點並提高鏈的安全性。處理不同分片之間的數據的關鍵角色就是 信標鏈 (Beacon Chain)。
信標鏈 是協調分片信息、管理驗證者的連接不同分片的橋梁。
當用戶在分片上提交交易時, 驗證者 將負責將用戶的交易添加到分片區塊中。 信標鏈 通過演算法選擇驗證器以提出新的塊。如果一個驗證者沒有被選中提出一個新的分塊,它們將會證明另一個驗證者的提議,並確認一切都正常。
至少需要 128 個被稱為 委員會 ( committee )的驗證者來證明每個分片塊。委員會有一個提出和驗證分片區塊的時限,這個時限被稱為 插槽 ( Slot ),大約為12秒。 每個插槽只能創建一個有效區塊,一個 周期 ( Epoch ,大約6.4分鍾)有 32 個插槽。
每個周期過後,委員會都由不同的、隨機的參與者解散與重組,重組過程由一個半隨機演算法 RANDAO 來選擇,以此避免惡意節點的操縱。
ETH2.0使用 Cassper 終局協議來確認一個新的區塊是否得到足夠的證明,即只要2/3的插槽同意(即當前參與計算的2/3的驗證者節點),該區塊就會被最終確定。而推薦此區塊的驗證者將獲得獎勵。因此,在權益證明的機制下,每過6.4分鍾就會創建一個新的區塊。關於Cassper協議的詳細說明後續再進行探索。
權益證明的建設以太坊在15年就已經提出,截止至今也才完成了Phase 0信標鏈的建設。而下一階段的與主網合並,再下一階段的分片鏈建設也一再推遲。雖然PoS的建設非常緩慢,但無論如何,權益證明作為主流的共識機制演算法之一,也是值得我們探討其設計原理。
後續將會針對信標鏈的詳細設計、分片等ETH2.0內容進行探索。