引介 | 以太坊 2.0:驗證者詳解
我們希望你首先理解 ofollow,noindex">Nimbus 就是以太坊 2.0。我們的目標是在 2019 年 3 月之前闡述一種概念驗證(PoC)。這意味著團隊將會把更多精力側重於實現 以太坊2.0 ,而不是實現一個可行的以太坊 1.0(不是說我們要放棄 1.0 啊,只是優先考慮 2.0)。這裡有個巨集大的計劃——以太坊 2.0。
以太坊2.0中有各種各樣的名詞—— Beacon 鏈、劍手協議、驗證者、隨機數生成、BLS 簽名、狀態的確定......就像下面這張圖一樣:
尤其是最近 Casper 以及分片 Sharding 的合併——Shasper 的出現,怎麼會有人能理解這麼難懂的東西?我們不想再泛泛而談,因此寫了這篇文章,它不是對技術的炒作,而是理解,所以跟我們一起去深入理解一下吧~
本文是 Nimbus 團隊解釋以太坊 2.0 系列的第一篇,本系列將把 2.0 分成易於理解的幾部分,如果有必要的話,再介紹下 Nimbus 的實現程序。
閱讀本文應該不需要什麼背景知識。不過 以太坊基礎知識 以及 PoW 和 PoS 之間的區別 還是有必要知道的。
以太坊 2.0 概覽
我們將從最基本的開始,然後解釋新系統中的驗證者,但我們首先要了解一下以太坊 2.0 總計劃中的一些基本概念。
第一課:Serenity(寧靜),不是 Shasper
在今年的 Devcon4 中,Vitalik 表達了他對 Shasper 這個詞的厭惡(社群對 Casper 和分片合併產物起的名字),希望社群把以太坊的新階段(以太坊 2.0 )稱為“Serenity(寧靜)”——下一階段開發工作的真正的名稱。
第二課:多階段
寧靜將會分為 4 個不同的階段——合在一起大約需要 2 年的時間。
-
第一階段,0 階段(我們開發者就喜歡從 0 開始~)或者說 Beacon 鏈階段,將會專注於把 PoS Beacon 鏈上的驗證者跑起來。
-
第二階段將會專注於新增分片,我們會在之後的推文中解釋。
-
第三階段將會完成片間以及片內的互動,即:智慧合約。是的,這意味著新的以太坊前期將不能執行智慧合約
-
第四階段,按 Vitalik 自己的話說,就是對新的世界計算機的微調和優化
第三課:驗證者
驗證者是一個實體(人或公司),可以為區塊鏈提出新區塊,或者確認其他驗證者的提議。我們要搞清楚——這種方式是自動的,沒有任何手動的操作。從技術上講,你可以人工操作,但是你可能來不及反應。所以從各方面來講,驗證者是一個節點,一臺做這種提議的電腦(我們稱為 1C )。
提議的驗證者叫提議者(proposer),驗證提議的驗證者叫證明者(attester)。
這就到了花開兩朵各表一枝的地方了。
驗證者從一組非常大的驗證者列表中選取出來,這組驗證者是註冊在 Beacon 鏈上的(我們下篇推文會介紹這個)。他們是由鏈上主掌隨機數的部分(即使用 RANDAO + VDF 的隨機數生成器)選出來的,選出的驗證者組成一個委員會(committee)。
當驗證者被選為委員會成員,他就有責任區證明一個狀態,即:構造下一個區塊。這種操作發生在一個叫做 slot 的時間框架中(一個 slot 是形成一個區塊的時間,即:區塊的提議發出及證明其正確性的時間),若在一組 slot 裡所有隨機選出的驗證者都進行了提議,那麼這組 slot 就組成了一個 cycle 。
是不是覺得名詞和術語太多了?
不要擔心,這只是定義而已。還有一個你需要知道的,那就是——如何成為一個驗證者!
成為一個驗證者
要成為一個驗證者,可通過當前以太坊 PoW 主鏈,向 Beacon 鏈合約傳送 32ETH 的保證金(目前我們用的是這種方法)。智慧合約生成一個“驗證者委員會成員名片”,可以讓你參與到新系統中。驗證者會負責一到兩個分片(後面才會加上這個功能),能夠對分片塊進行提議或證明。換句話說就是,1C 的資源最多能驗證 2 個分片。如果你想存更多的 ETH ,那你需要再增加 1C 的資源。因此,權益池成為一種不切實際的東西,網路去中心化由此得以加強。
所以呢,目標是兩個系統(PoW vs PoS)要同時執行一段時間,因為就像我們在上面的階段部分描述的那樣——前兩個階段系統中沒有任何的資料流通,所以我們仍然要依賴於 POW 鏈來處理我們的資料互動。兩個系統的過渡是漸進的,沒有礦工會突然挖不到區塊,或者卡在舊的硬體裝置上。實際上,礦工的情況正在好轉——這是我們將會在下一篇關於 ProgPoW 的文章中討論的。
那麼,我能做多長時間的驗證者?而且什麼是Slasher,什麼情況下會丟失保證金?還有,如果鏈上沒有交易的話,驗證者要驗證什麼呢?
求知若渴的讀者們,先別問這麼多,我們一個一個來。
- 驗證者當然可以無限期地留在系統中,如果不作惡的話。
- 驗證者如果掉線,會定期損失部分保證金(即被罰沒)。罰沒的額度會隨時間顯著上升,這就意味著掉線時間週期越短,越容易被原諒。驗證者不會失去所有的保證金,如果被罰沒的總額達到一定閾值(即:28ETH ),該驗證者就會被系統從驗證者集合中剔除。而且幾個月之後,驗證者才能取出剩餘的 ETH 。驗證者作惡——聲稱一個不合法的交易是合法的——也會丟失保證金。這種懲罰會更加嚴厲,但目前還不清楚其嚴厲程度。保證金的丟失成為 slashing (你的保證金被罰沒一部分),削減的演算法被稱為 Slasher 。
- 新的區塊鏈基本上是空的,或者只是填充了空塊。因為還沒有資料沒有分片可供引用,Beacon 鏈上的塊沒有什麼實際意義。
一個比較普遍的疑問就是,為什麼要銷燬作惡者的所有 ETH ,而不是分發給網路中的其他驗證者?簡單來說,銷燬 ETH 會使所有人受益,然而分發給其餘驗證者會使得驗證者互相攻擊,來獲得其他人被罰沒的 ETH 。
Nimbus 的實現
驗證者是 beacon 鏈的一大部分,我們的團隊正在致力於在 2019 年 3 月之前釋出一個 beacon 鏈客戶端的概念驗證。我們會首先發佈一個客戶端,可以和其他團隊的客戶端或者 Nimbus 例項的客戶端協作一起執行beacon鏈。
敬請期待後續的更新。
總結
驗證者是一種現代的“礦工”,但他們並不消耗電力來確認交易;被系統選中之後,驗證者打包交易、構造區塊,並在其他驗證者的證明下,確認區塊。鏈上的驗證者協同形成新鏈,沒有任何一個驗證者比其餘驗證者更有權力。要成為一個驗證者,使用者可通過當前以太坊 PoW 主鏈,向一個 beacon 鏈合約傳送 32ETH,合約會生成對應“驗證者委員會成員名片”憑證。
繼續瞭解關於2.0系列,可以關注 Nimbus 的部落格,或者關注 2.0 系列標籤 也可以。
原文連結: https://our.status.im/two-point-oh-explaining-validators/
作者:Bruno Škvorc
翻譯&校對:豔安 & 阿劍
本文由作者授權 EthFans 翻譯及再出版。