關於加密貨幣在實作上的議題實在太多了,談也談不完,不過我們還是想知道其中一些有趣的改善或特性是如何作到的,在day 11的時候有簡單介紹過Proof of Stake的概念,現在來看看實際運作的機制。
Ethereum在今年1月1日釋出了在測試網路上的PoS版本,詳情可以參考該篇文章,Ethereum接下來要使用的Casper是Proof of Stake演算法的其中一種,讓我們來看看這個Casper FFG是如何運作的。
先推薦這個投影片,對於理解Casper FFG的運作機制很有幫助。
Casper FFG(Casper the Friendly Finality Gadget)的目的是要讓Ethereum逐步由PoW轉變為PoS,其運作模式如下。
有一個Casper智能合約,其功能是讓乙太幣的持有者成為驗證者(Validator),可以對產生的區塊進行投票,每50個區塊產生稱作一個epoch。
之後進行Finality,步驟如下:
1. Announce you believe block is in main chain
2. Receive same message from ⅔ of validators
3. Announce that you heard ⅔ validators announcements
4. Receive same message from ⅔ of validators
成功之後這條鏈就是主鏈(main chain)了。
在演算法中也有加入懲罰攻擊者的機制,像是攻擊者重複投票給不同的鏈,被發現的話乙太幣會被沒收,發現者可以得到獎勵等等。
對演算法細節有興趣的話可以參考原始論文,在時間內無法理解更多跟講解的更清楚,我太弱了。
區塊鏈技術實在是博大精深,如果區塊鏈的應用真的發展起來,不知道能不能增加我這種碼農的工作機會。
Alpha Casper FFG Testnet Instructions
http://notes.eth.sg/MYEwhswJwMzAtADgCwEYBM9kAYBGJ4wBTETKdGZdXAVmRvUQDYg=
Ethereum Proof-of-Stake-FAQ
https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ
Casper the Friendly Finality Gadget
https://arxiv.org/pdf/1710.09437.pdf