以太坊2.0 意在解決以太坊的共識問題和擴展性問題,基于共識問題提出了一個新概念就是信標鏈( Beacon Chain ),而基于擴展性問題提出的是分片鏈(Shard Chains)。今天大白就和大家科普一下什么是信標鏈以及信標鏈具有怎樣的功能。
1. 信標鏈是什么?
信標鏈,英文名叫 Beacon Chain,Beacon ,意思就是燈塔,信號浮標。它其實是以太坊 2.0 系統的核心。
信標鏈是一種全新的權益證明( PoS )區塊鏈,它是為了解決共識問題,而分片鏈( Shard Chains )的目的是解決以太坊的擴展性問題。
分片鏈之所以能解決性能問題,它相當于是通過多片技術處理交易等,提高了系統的效率和性能,下圖展示的是信標鏈和分片鏈的結構圖,其中信標鏈處于協調層,負責協調和管理工作,而分片鏈處于數據層,負責數據部分的工作。
在圖中我們可以看到,為什么我們需要信標鏈呢?信標鏈像是一個核心脊骨,支撐和聯系著各分片鏈。事實上,信標鏈是給整個以太坊 2.0 系統注入生命力的核心,負責指揮協調系統的所有參與者。那么它能做些什么呢?
2. 信標鏈可以做什么?
首先,這條鏈是權益證明( PoS )區塊鏈,它可以讓驗證者可以參與質押系統、替代礦工的角色而成為鏈的構建者。也就是說信標鏈上管理著驗證者的名單,以及分片驗證者任務。
怎么樣才可以成為信標鏈的驗證者呢?
首先你需要向當前以太坊主鏈上的一個合約發送押金( 32 個以太幣),然后經過一系列的審核檢查之后,你就會收到一張電子收據(以太坊智能合約中的事件),這個收據就相當于一張 vip 卡,有了這張卡,你就擁有了驗證資格,成為了驗證者。如果你很“活躍”,就可能被選中成為區塊提議者。
成為驗證者之后,信標鏈就會給你安排任務了。
它會將你隨機分配到一到兩個分片中去做驗證。我們知道,在工作量證明機制下,也就是我們現在的以太坊主鏈上,礦工通過挖礦生成下一個區塊,但是在權益證明機制下,不存在挖礦,下一個區塊的產生是由驗證者們選擇出來的。這個選擇具有隨機性,不是一個驗證者所能掌控的,這也體現了去中心化的特點。
假如你不是很“活躍”,信標鏈將你分配到分片之后,你需要同該分片的其它驗證者一起選擇出新的區塊。
然后該分片的區塊提議者就會為這個分片收集交易,并且將這些交易納入到剛剛驗證者們選出的區塊中去,雖然由于你不是區塊的提意者,也就沒有將交易納入新區塊的權力,但是作為驗證者的你這個時候可以驗證這個過程中區塊提議者是否行為妥當。
如果你表現良好,做了身為驗證者應該做的事就會得到獎勵,相反,如果你違反規則就受到懲罰,懲罰就是從你抵押的 32 ETH 中扣除一部分,當抵押金低于 16 個以太幣之后,信標鏈就會將你從驗證者列表中移除。
如果有一天你不想當驗證者了,你抵押的以太幣加上你得到的獎勵以及減去你因懲罰而扣除的以太幣將不會回到你之前的以太坊主鏈中,而是會被存進某一個分片鏈中。
除了管理驗證者之外,信標鏈還需要存儲一些認證( Attestation )。
我們知道當前的以太坊區塊鏈上存儲了我們平時的那些資產轉移等交易的數據信息,但是信標鏈不同于當前的以太坊主鏈,它存儲的是一系列經過計算的字符串。
這個字符串的產生基于計算機中的一種哈希運算,它就像生活中你將豆子放進豆漿機處理之后,你不能根據得到的豆漿去判斷之前豆子的形狀大小等特征。而且假設你多加了一顆豆子,得到的豆漿就會發生很大的改變,你無法確定你這顆豆子是豆漿中的哪個微粒,這個豆漿機就像是哈希算法,不能通過哈希之后的結果去推導去哈希之前的樣子,而且只要哈希之前的數據有一點改變,哈希之后的結果就會發生很大的變化。
在信標鏈中,驗證者驗證并簽名交易,比如一筆轉賬交易,然后經過哈希變成一段字符串,將這個字符串存到信標鏈中,此時這個字符串就代表了一筆交易的數據,這樣做的好處就是,你不用去深入探究這筆交易到底在哪個分片中發生。
分片中的狀態一旦發生改變(比如某個賬戶余額發生了丁點改變),驗證者都會把這個變化匯報給信標鏈。因此,信標鏈實時跟蹤者分片的變化,也建立起了個分片間的聯系與通信。
3. 小結
總的來講,信標鏈就像信號燈一樣,指揮著系統的各種行為,存儲著大量的認證數據。但是這種指揮是去中心化的,如參與其中的驗證者的投票行為是由驗證者本身自己所決定的,信標鏈是不能左右的。最后,信標鏈以及分片鏈還涉及許多的的技術難點,以太坊團隊也在砥礪前行。
評論
查看更多