What’s New in Ethereum Serenity (2.0) – Kimi Wu – Medium

0 19


Ethereum 2.0已經正式改名為Ethereum Serenity

原本預計在今年(2018)上線的Hybrid POS(Casper FFG)跟sharding,因為遇到一些技術上的困難,所以把Hybrid POS改成單純POS,然後因為sharding跟POS有部份技術是重疊的,所以把POS跟sharding併在一起做(本來是分成兩個team作開發)

Beacon Chain

在Ethereum Serenity的規劃中,在原本的POW chain之外多一個鏈叫做Beacon chain,是一個POS chain。在Beacon chain中有兩種角色proposerattester,proposer就是產塊的人,attester是驗證的人。而在POW chain上存入32 ETH,可以成為Beacon chain上的validator,而validator有權利產塊(proposer),也會有機會被選attester。此外,還引入了finality個概念,也就是在finality之後的狀態就是正確的狀態(不可回復),不像POW一般需要6個塊的時間才能確認交易是不會被更改的(POW的狀態確認是機率,六個塊之後有”很高的機率”是無法被改變的,而finality就像是0跟1一樣,沒有中間)。

聽到這,好像覺得很簡單,但是在實作上會遇到幾個問題,首先,怎麼決定誰是proposer誰是attester,如果亂數的隨機性不夠,就很容易被遭到操控。接下來是,每次驗證都需要做一次簽名,因為32個ETH就可以當validator,每次驗證可能會有10~20幾萬的簽章(簽章數量的預估方法),驗完簽章天都黑了 XD。

RNG

針對亂數產生(RNG, Random Number Generator),使用RANDAOVDF,RANDAO是個利用經濟獎勵的機制來產生亂數,是一個smart contract。而VDF是一個delay function,因為速度的關係,基金會打算自己開發ASIC晶片。關於這RNG之後會再寫一篇詳細解釋。

Signature Aggregation

驗證簽章,到了今年五月中才有了最終的解法,採用了BLS signature aggregation(BLS128–381),把所有的簽章累加起來合成一個再作驗證,細節可以參考這篇

Fork Choice Rule

在POW上根據算力決定最長的鏈,而POS會需要另一套規則來決定大家要跟從的鏈,而這就是fork choice rule。之前的文章有介紹了兩種fork choice rule(GHOST跟IMD),不過都不是最終採用的,Serenity最終的finality rule是採用LMD GHOST(Latest Message Driven GHOST),LMD跟IMD最大的差別是,若有一個validator對多個fork都有簽章,LMD的計分方式是只用最新(Latest)block上的簽章,而不是全部都算分(IMD),這也是不久前才決定的。(LMD的細節

以上簡單介紹了幾個遇到的問題,接下來繼續解釋還有哪些改變

首先,先作名詞解釋,在Beacon chain中使用slot取代block(目前每6秒一個slot),然後加入了epoch,每個epoch是64個slot。根據EIP 1011 epoch是check points之間的時間,也就是多久有一個finality。而Eth 2.0 規格是這樣敘述的 “Epoch — an aligned span of slots during which all validators get exactly one chance to make an attestation.”。所以大約每6.4分鐘(6秒 x 64 slot)有一個check point。

You might also like

Pin It on Pinterest

Share This

Share this post with your friends!