在 EOS 生態中,投票與 stake 是並不完全一致的概念,stake 首先換取的是 CPU 和 NET 的資源,在 EOS 生態裏面每一筆交易都需要佔用一定的 CPU 和 NET,因此大部分散戶將持幣質押是爲了換取相應的主網資源來滿足日常需求。

目前 EOS 節點返利給投票者依然被視爲賄選行爲,幾乎沒有節點公開進行返利,所以 EOS 持幣者想要像其他 PoS 公鏈持幣者一樣參與 staking 挖礦還需要觀察 EOS 社區的輿論風向。

原文標題:《PoS 項目分析(一):EOS》
作者:Rudy 盧地,InfPool 無限礦池合夥人

PoS 共識機制的發展史有太多可寫,因爲其衍生出來的變種實在太多,各個項目的設計者們總有自己的奇思妙想。之前已經有一篇關於 PoS 發展史,但是各項目的特點我覺得還是有必要單獨好好寫一寫,畢竟 staking 質押挖礦是一件長期賺利的事情,看好一個項目而不做 staking 是愚蠢的,而對一個項目的機制沒有充分的瞭解就買幣做 staking 更是盲目的。

Staking 火熱,但 EOS 爲何還不能參與?

PoS 項目分析系列的開篇當然要寫 EOS,這個 PoS 項目中如今市值第一的老大哥(ETH 升級成 PoS 樂觀估計還要一年),當年超級節點競選時也是風頭無兩,其共識機制、投票機制的設計,爲之後的 PoS 項目均產生了極強的影響。

EOS 的全稱爲 Enterprise Operation System,直譯就是爲商用分佈式應用設計的一款區塊鏈操作系統,爲了達到其商用的願景,EOS 通過 DPoS 的方式解決區塊鏈之前數據延遲、吞吐量低的問題,使得 EOS 可以達到每秒上千級別的處理量,在經過 DPoS 與 BFT 機制結合後,目前出塊速度已達 0.5s 一個塊。

Staking 火熱,但 EOS 爲何還不能參與?

EOS 共識機制:DPoS+BFT

EOS 共識算法經歷過一次升級,最早採用的是純粹的 DPoS,就如同其創始人 Daniel Larimer(BM) 在他的前兩個項目 Bitshares 和 Steem 中採用的共識機制一樣,用戶以抵押持幣的方式獲得投票權,投票給節點幫忙驗證交易並出塊。

BM 根據 Bitshares 的經驗,將參與驗證出塊的超級節點數量定爲 21 個之少,他認爲較少的節點數量有助於社區對每個節點都做好監督,而 Bitshares 的持幣人就沒有足夠的注意力去審視他們的 100 位委託人,造成決策力的削弱。當然,數量較少的超級節點也進一步引起了外界對 EOS 去中心化程度低的詬病。

EOS 升級後的共識機制一般被稱爲 BFT-DPoS 機制,融入了拜占庭容錯算法,也即出塊節點產生區塊後就直接發給所有其他節點,超過 2/3 的節點驗證並簽名返回給出塊節點後就可以確認此區塊,區塊確認即代表着該區塊不會再分叉,也即交易得到確認。

這次共識機制的改變爲 EOS 的性能帶來了很好的效果。共識機制主要影響四個問題:

  • 誰來出塊?
  • 多快產生一個塊?
  • 如何驗證區塊?
  • 多快可以確認區塊?

在 BFT-DPoS 機制下,投票選出的 21 個超級節點根據地理位置傳播距離最短的次序(避免網絡傳輸時間過長)順次出塊,每 0.5s 產生一個塊,每個節點生產 6 個區塊,21 個節點出塊完畢爲一輪。從產生區塊到其他節點簽名驗證返回並確認,需要的時間不會超過 1s,也即意味着不到 1s 的時間交易即可得到確認,不會有分叉、雙花等問題。

因此,EOS 是一條不會分叉、TPS 較高、交易確認速度極快的公鏈。順帶一提,1s 內區塊確認也幾乎是拜占庭容錯算法機制下的最快速度量級,想達到更快的速度除非有更好的共識解決辦法。

節點與獎勵機制

在 EOS 的機制中,持幣人投票給超級節點候選人先需要將持有的 EOS 質押換取投票權,若要將質押的 EOS 取回則需要 3 天的鎖定期。每一枚通證質押換取的投票權最多可以給 30 位超級節點候選人投票,且一枚通證只能爲一個節點投票一次,獲得票數最多的前 21 名候選人將成爲超級節點。

Staking 火熱,但 EOS 爲何還不能參與?數據源自 eosauthority.com/voting

截止到 2019 年 8 月 5 日,根據 EOSAuthority 統計,實際投票數超過 3.16 億,在逾 10 億的流通總盤中投票比例達到了 30.9%,而總 staking 比例爲 48.23%。

EOS 機制中設計的通脹率爲 5%,但只有 1% 用來獎勵給節點(另外 4% 留作他用,但還沒有想好做什麼用,所以幾個月前已經全部銷燬過一次)。目前 EOS 的總盤大致有 10 億,增髮量可以粗略以 1 千萬計算。

在這 1% 的獎勵中,25% 將會作爲出塊獎勵分發給超級節點,其餘的 75% 作爲投票獎勵由超級節點和備選節點根據得票比例進行分配,前提是備選節點獲得每天至少 100EOS 的收益。根據 EOSbeijing 的統計,目前只有 68 個備選節點可以達到這個門檻。

Staking 火熱,但 EOS 爲何還不能參與?圖片源自 InfStones

Staking 火熱,但 EOS 爲何還不能參與?

EOS 中的投票與 staking

在 EOS 投票率的圖中我看可以看到有投票率與 stake 率兩個比率,兩者的差別意味着在 EOS 生態中投票與 stake 是並不完全一致的概念,stake 首先換取的是 CPU 和 NET 的資源,在 EOS 生態裏面每一筆交易都需要佔用一定的 CPU 和 NET,因此大部分散戶將持幣質押是爲了換取相應的主網資源來滿足日常需求。

不同於其他 PoS 公鏈,目前在 EOS 社區中,節點返利給投票者依然被視爲“賄選”,所以散戶將幣質押是不會得到通脹獎勵的。目前持幣者通過 stake 換取主網資源後,更有可能將資源租賃給需要大量主網資源的 DApp 開發者來換取一些經濟利益。

總結

EOS 採用 BFT-DPoS 共識機制,對 PBFT 算法與 DPoS 共識機制完成了較好的融合,0.5s 出一個塊,1s 內可完成區塊確認,不會產生分叉,TPS 較高。

EOS 的投票總量仍在上漲中,投票比例已經達到較高的水平,由於用於獎勵給節點的通脹比例僅爲 1%,計算下來備選節點每一票的年化收益率僅爲 1.5% 左右。但是由於 EOS 較高的價格,收益仍然相當可觀,看好 EOS 未來發展的羣體基數也較大,這也造成了 EOS 質押比例居高不下。

但目前 EOS 節點返利給投票者依然被視爲賄選行爲,幾乎沒有節點公開進行返利,所以 EOS 持幣者想要像其他 PoS 公鏈持幣者一樣參與 staking 挖礦還需要觀察 EOS 社區的輿論風向。