科普| 給新來貢獻者的以太坊2.0 Phase0 指南
編者按:本文來自Ethfans編者按:本文來自Medium介紹

介紹
介紹
編者按:本文來自
編者按:本文來自
介紹
介紹
本文旨在幫助那些第一次接觸ETH 2.0 並且想要參與開發工作的人(撰寫本文之時處於階段0 )。
很好地總結了以太坊2.0 的開發階段:
概述
概述
質押:通過Eth 1 上部署的智能合約引入驗證者
階段0 - 系統:信標鏈,即本文主要介紹的部分
概述
概述
概述
目標:交易排序
以太坊主鏈(即,以太坊1.0 主鏈)創建了一個有效交易的有序列表。有效交易指的是由一組運行以太坊挖礦軟件的獨立互聯計算機(即,“挖礦節點”)達成共識的交易。以太坊2.0 依舊維持這個目標不變,只是改用PoS 機制代替PoW 機制來對交易順序達成共識。
並行處理
並行處理
此外,以太坊1.0 主鏈只是單獨一條由區塊組成的鏈,以太坊2.0 則是由很多分片組成的,會創建出並行的幾條區塊鏈(分片數據鏈),不過這要等到階段1 才能實現。為了讓這些分片協同工作,會有另一條鏈來將各個分片的有效區塊統一起來。這條專門用於主導系統運行的區塊鏈被稱為信標鏈。
以太坊2.0 階段0 的規範聚焦於信標鏈,完整的解決方案請參見其它資料。
信標鏈由信標鏈節點構建
信標鏈由信標鏈節點構建
運行以太坊2.0 客戶端信標鏈節點軟件的聯網計算機就是以太坊2.0 網絡上的節點。在以太坊1.0 中,互聯的節點會通過分享信息來創建/分享新的區塊。因為要等待所有節點都就鏈上最新挖出的區塊達成共識,所以交易確認需要一點時延。
以太坊2.0 階段0 的核心是,信標鏈節點之間如何對信標鏈上的出塊順序達成共識。
隨機出塊
隨機出塊
為了不引入中心化金融系統中可能有害的屬性,我們需深思熟慮才能設計出良好的去中心化系統(見比特幣白皮書)。
一方面是要確保在分佈式網絡中的一大撥人都有機會產生/驗證數據,以此來避免中心化/腐敗:
必須保證提議區塊的節點是從網絡中隨機選擇出來的
創建有效區塊會得到獎勵以及/或者無效區塊會遭受懲罰
區塊提議者之間進行週期性(15 秒)的隨機出塊
創建有效區塊需要負擔一定的經濟成本(從而有機會得到出塊獎勵)
權益證明是通過質押ETH(貨幣)的方式來實現這一點:
雖然我們提到過信標鏈節點也在生成區塊,但是它們實際上不是通過質押來參與以太坊2.0 網絡(成功的參與者會獲得獎勵)的節點。這是驗證者的職責。

圖片描述
驗證者
驗證者是(通過以太坊1.0 主鏈上的智能合約)質押32 ETH 來參與以太坊2.0 的個人地址。驗證者會被頻繁且隨機地分配到任務,簽署新提議區塊中他們認為是有效的區塊。
等到以太坊2.0 匯集了一批驗證者之後,會對這些驗證者進行偽隨機混洗,然後將他們組成一個個委員會。在每個時段內,會有一或多個委員被分配到一個時隙中去參與驗證工作。
圖片描述
圖片描述
-驗證者、委員會、時隙、時段-
每個時段內,驗證者都會被分配去簽署新提議的區塊、為已經產生的區塊投票(或者說提供證明信息(attestation))。一個時段結束之後,驗證者們就會經歷再度混洗,然後重複這個過程。
信標鏈節點
保證時隙長度(6 秒)
創造隨機性

為每個時隙分配(驗證者)委員會catkuro)-
響應與之相連的驗證者客戶端
硬件/軟件
硬件/軟件
互聯計算機
要想具備高可用性並且讓區塊驗證獲得足夠高的隨機性,需要匯集一大批驗證者(最少1 萬名)。在理想情況下,這些驗證者都分散在多個驗證者客戶端之間,後者與組成以太坊2.0 網絡的一個或多個信標鏈節點相連。
-信標鏈節點之間通過網絡連接;驗證者客戶端和信標鏈之間通過網絡或本地連接(圖源:
運行信標鏈節點的硬件之間會進行通信,分享已簽署的區塊和證明信息。驗證者客戶端會連接到它所信任的信標鏈節點上,以便了解其驗證者被分配到了哪個時隙。此外,驗證者客戶端會為其管理的驗證者請求數據(區塊/證明信息)。
最簡單的配置是一個信標鏈節點,加上一個與之相連的只管理一名驗證者的驗證者客戶端。然而,考慮到運行信標鏈節點的要求較高,而運行驗證者客戶端的要求要低得多,驗證者客戶端在數量上很可能大大超過信標鏈節點。驗證者客戶端只需要一台性能較好的家用個人電腦或是一個樹莓派就可以搞定,因此一個驗證者客戶端上可能只有很少幾名驗證者。
因此,一個信標鏈節點上可以連接多個驗證者客戶端,一個驗證者客戶端也可以選擇連接到多個信標鏈節點上。這是為了預防某個信標鏈節點掉線,或者(更糟糕的)在錯誤時隙上提供了數據。如果是前者這種喪失可用性的情況,驗證者被罰的錢很少,而在誤籤的情況下,驗證者被罰的錢要多得多。這種削減驗證者權益的懲罰在規範中被稱為罰沒。
從軟件到數據
從軟件到數據如果你將來想協助開發以太坊2.0 客戶端的話,最好了解一下不同軟件之間是如何連接並通信的。階段0 規範不涉及這一點,主要專注於作為數據的信標鏈,比“節點” 概念更高一層。後續。 。 。
)的。後續。 。 。。
驗證者的押金如何存入以太坊1.0 的智能合約內,並讓信標鏈節點發現(視頻視頻
)的。
強薦這個
視頻https://github.com/ethereum/eth2.0-specs#ethereum-20-specifications
視頻https://github.com/sigp/lighthouse/#lighthouse-ethereum-20
(2019.5)。注:音頻已改進。https://github.com/protolambda/eth2-docs#justification-and-finalization
更多資料
參考資料
視頻視頻


