Vitalik Buterin在2018以太坊技術及應用大會上分享了節點是如何參與到Casper驗證中來。下面是V神發言的簡要梳理。
參與的步驟
1.質押代幣
Casper是驗證系統。所有的節點要成為驗證者,首先要有權益的證明,所以,需要質押一定額度的代幣。
質押代幣類似於存款,使用公鑰做資訊簽名,同時,也需要一個取款地址,後續獎勵時用得到。
簽名公鑰和取款地址無需完全一致。這意味著讓其他人幫你進行簽名驗證。但即使其他人幫你簽名,但無法把代幣取出。所有的代幣只能進入之前提供的取款地址。這樣驗證節點可以用熱錢包來簽名。公鑰線上,代幣留在冷錢包。作為驗證者,資金更安全。
2.等待加入
質押代幣之後,使用者需要花一天左右的時間來等待加入。目前協議還沒有完全確定。需要等待協議把申請節點加入驗證者池。
3.參與驗證
一旦進入驗證者池,就是驗證者身份了。驗證者做什麼?
首先是參與和確定主鏈區塊。超過一定的節點驗證後,主鏈區塊確定,完成工作。其次是驗證分片上的區塊。按照Casper系統設計,不是所有節點都來做所有區塊驗證。區塊被分配到100或更多的分片中,交易分開,不同的驗證者驗證不同的區塊和交易。
總之,Casper系統是區塊確定工具,是共識機制一部分,主要用於確定區塊,給區塊帶來更多安全性。
分片提案
以太坊的分片提案包含了100個子鏈。主鏈和子鏈各自承擔不同工作。主鏈負責隨機數的生成、隨機選擇哪個驗證者進入哪個分片、誰可以建立分割槽等。
主鏈也會保持對驗證節點的追蹤,也就是說,假如你是一個驗證節點,它會追蹤你的所有驗證相關資訊,比如分配到什麼分片中、得到什麼獎勵或懲罰。這些資訊都由主鏈完成。此外,它也可以追蹤子鏈上的區塊。
子鏈主要負責交易處理,同時儲存賬戶狀態、合約狀態。每隔一個小時,每個驗證節點由系統隨機分配一個分片。驗證節點要做驗證,要幫助確認區塊是在哪個分片之上。
在任意時間點,驗證節點被分配到特定分片上,比如有100個分片,有些人隨機選擇1%的驗證節點,來確認任意一個分片上的區塊。
分片系統可擴充套件,一個計算機可以處理N個交易,主鏈可以追蹤N個分片。每個分片都能處理N個交易。也叫2次性分片,系統可以處理2倍N的交易。如果計算能力再翻一番,主鏈可以追蹤2倍的分片,系統處理交易的能力是之前的4倍。
這裡有一個Cross-links,實現溝通的方式,也是主鏈用來追蹤分片的方式。主鏈不追蹤每個分片中的每個區塊,只追蹤Cross-links。
驗證節點的職責
V神指出,作為驗證節點的工作,是做主鏈驗證,驗證每個區塊。主鏈包括副聯、交易和對驗證節點的獎懲。驗證節點必須在分片上作區塊的生成,生成主鏈區塊,還需確認分片上的區塊已經交聯。
驗證節點獎懲
如果節點正常執行,其他三分之二的節點也正常,大家都可以拿到獎勵。如果不是,則拿不到。
如果進行簽名,但發生錯誤或衝突,雖然線上,但簽名信息不正確。節點被認為有攻擊網路意圖,或者節點被黑。一旦出現此種情況,都會按比例得到懲罰。比例按照其他線上簽名的驗證節點比例來確定,罰款跟其他犯錯節點的罰款數量成正比。
如果被黑,或者出現電腦或資料有問題,也得接受懲罰,不過程度較輕。一旦確定是攻擊行為,罰款會很大。攻擊成本也很高。
也就是這個機制主要是激勵大家更好的保護網路安全,也是保護自己。如果大家有同樣的權益池,如果權益池被黑,非常集中,大家的懲罰都會很高。這樣也就是鼓勵大家不要用同樣的權益池、不用同樣的VPS。
通過這樣的機制鼓勵大家更去中心化,不用同樣的系統,不用同樣的客戶端等,通過更好地保護自己的同時,增加了整個網路的安全性。
收益提取
通過私鑰或提款地址可以觸發提款。觸發後,驗證節點在7天左右關閉。然後等待4個月,之後可以提取以太坊代幣。