
正如區塊律動 BlockBeats 之前所言,EOS 官方到現在為止還沒有正式公布 EOS 超級節點選舉如何進行投票,這讓很多人對這次投票一頭霧水。
區塊律動 BlockBeats 在查閱了幾乎所有的 EOS 社區文件之后,終于找到了關于超級節點、EOS 主網上線形式的討論,他來自 BlockOne 公司的副總裁 Thomas Cox 在 Medium 上發布的一篇文章《很久以前:EOS 區塊鏈的 BIOS 啟動》。
今天本文又被 Thomas 發布在 EOSGo 官方論壇,基本可以看作是最終版。
在這篇文章中,區塊律動 BlockBeats 將帶各位了解:EOS 創世節點是怎么選出來的,EOS 創世區塊是如何產生的,創世后的 21 個節點是如何產生的,EOS 主網是如何啟動的,21 個超級節點是如何選舉產生,超級節點如何替換創世節點,EOS 憲法也需要投票,EOS 憲法投票最長要鎖倉1個月,憲法替換之前的Token是無法交易等內容。
區塊律動已為各位準備了全部流程和配圖,幫助各位了解這講究的創世節點和主網上線。
最近,在 EOS 社群里大家圍繞著「EOS 軟件項目怎樣開展」展開了熱烈的討論。本文將討論中大家所達成的共識抽取出來,揭示 EOS 軟件項目啟動時需要經歷哪些環節。
但請注意:本文接下來的內容,并不一定認為,同樣也不會暗示,將來 EOS 系統會擁有哪些特定的功能。


1、在 EOS 主網上線之前,「超級節點社區」將從成員里面挑選一批志愿參與「上線候選池(Go-Live Pool)」的技術精英。這個上線候選池中應該有大概 50 人。
2、在上線之前,根據已有經驗,這個候選池會用某種隨機挑選技術*選出 22 個人組建一個「上線小隊」(Go-Live team)。然后,他們開始建立高度加密互通的 VPN 連接,以阻擋 DDOS 攻擊及其他黑客攻擊。接下來,這 22 個人會公布成員名單,但并不會在選出之后立刻公布。
3、EOS Token 的眾籌活動截止在 2018 年的 6 月 2 日 22:00(世界標準時間 UTC),在這一刻,EOS 的 ERC-20 代幣將被凍結。最后一刻會生成一個包含所有 EOS Token 數量的快照,包含 EOS Token 數量的 EOS 區塊鏈網絡將由此被創建。
4、 只要這個快照中的初始值被「上線小隊」22 名成員中的 15 人確認 (他們會發布關于數據的外部驗證),他們再次用上面提到的隨機挑選技術選擇 22 人中的 1 人作為 BIOS Boot 節點(*創世節點)。此人生成一個新的 EOS 密鑰對,這一密鑰對將只能在 BIOS Boot 節點進程上使用。


BIOS Boot 節點抓取包含 EOS Token 初始值的「創世區塊」,然后開始 EOS 區塊鏈的啟動引導流程:
1. 建立 EOS 區塊鏈上第一個全新的區塊。
2. 利用一個 EOS 系統賬戶,安裝核心運行協議,這個系統賬戶使用階段 0 最后一步生成的、專門為 BIOS Boot 而準備的 EOS 密鑰對。
3. 在 EOS 區塊鏈上安裝 21 個「指定節點」(ABP,Appointed Blockchain Producer),這些節點將負責進行首次超級節點投票選舉。這 21 個指定節點為「上線小隊」中剩余的其他 21 個人。
4.BIOS Boot 節點將系統的算力分配給這 21 個指定節點,僅此而已;然后
5.BIOS Boot 節點上的那位技術精英,將該節點在 EOS 區塊鏈上的所有系統權限密鑰移除。接下來,BIOS Boot 節點將發布自己剛才使用的 BIOS Boot 密鑰(現在已無用),這樣一來其他人都可以審核和重制他的工作。


1、指定節點連接著最開始的 EOS 區塊鏈系統,并且對系統賬戶以及余額進行驗證,然后開始生成區塊。BIOS Boot 節點退出后,返回到上線候選池中(在之后公眾投票被選舉上的超級節點進行 10 輪區塊生產之前,BIOS Boot 節點將無權參與選舉)。一個節點區塊鏈的運行時間:少于 9 秒。一旦 21 個指定節點都已經上線,并且開始運行 EOS 網絡,那么后面參與進來的人就可以相互連接了。
2、「上線小隊」中的剩余成員可以連接 EOS 區塊鏈,并將自己置于超級節點候選人的位置上。
3、EOS Token 持幣人也可以接入 EOS 區塊鏈,并且用代幣來換選票,用選票來進行超級節點的投票。
3、指定節點的職責只有一個:組織選舉。正如 BIOS 啟動的超級節點一樣,他們是(暫時)無法參選的。一旦 21 個超級節點選舉產生,之前的指定節點就自動被替換下崗了。這次選舉要求這 21 個超級節點成為一個單獨小組,替換之前的指定節點、直到完全接手 EOS 網絡的運行,21 個當選超級節點將進行幾輪的區塊生產來組織整個 EOS 主網,而「上線小隊」中剩余的超級節點候選者也將接入 EOS 主網,他們同樣也可以參與 EOS 主網運行。(指定節點和 BIOS Boot 節點,在 21 位當選超級節點成功的進行 10 輪區塊生產之前,都是無權參與超級節點競選。)


已當選的超級節點開始對主網的「普通」交易進行處理,并為接下來無窮無盡、每輪一次的超級節點選舉做好相應的準備工作。
在 10 輪的區塊生產之后,當選超級節點可以被之前的指定節點或者之前的 BIOS Boot 節點所取代,也或許是被新的競爭上位者所取代。
在接下來的幾個小時,或者幾天時間內,當選民們開始能夠連到區塊鏈上,并投出初始投票時,一些人就有可能被頂替掉了。


此刻,進入到了一個新的階段:我們要將默認憲法給置換掉,即替換 #0 憲法。這個過程持續的時間相對較長一些:
1. 在這個階段,任何一個權益持有者,在任何時間,都可以提出一份自己的章程草案,作為替換默認章程的備選章程。
2. 根據軟件算法,所有權益持有者都將對每一份章程進行投票表決
0# 章程能夠升級為 1# 章程,是達到下面的兩個條件之一即可:
獲得普遍多數人的認同(50% 以上的活躍賬戶),并且認同狀態要持續 15 天時間。
又或者,
獲得支持的票數高居榜首狀態持續 30 天。


在 EOS 主網驗證之前,任何 EOS Token 都無法在賬戶之間進行轉移,超級節點生成的區塊也不會得到任何獎勵。主網驗證需要以下兩個條件同時出現:
1、持有 EOS Token 數量總和大于等于 15% 的賬戶接入并且進行了一次有效的交易;
并且
2、#1 憲法被選出
*上面提到的隨機挑選技術將在第 5 階段公布

社區提問:指定節點因為他們的技術能力而被選出作為指定節點,負責 EOS 主網的上線工作。隨后區塊生產將逐漸進化到滿足存儲、內存、寬帶需求的超級節點。
Thomas:上線候選池的任選將經過慎重考慮。他們中的每個人都將有可能會被任命為 BIOS Boot 節點這項極其重要的工作,所有候選池里的技術精英都必須能勝任這份工作。我認為挑選這些人必須進行同業互查、多次演練。(個人的非官方觀點)
社區提問:請公布主網上線和指定節點的技術細節?
Thomas:關注 BIOS Boot 電報群以及上線流程的 Github。(*譯注:該 git 由 EOS Canada 負責維護)

因為這是一份官方提供的僅供參考的流程,在我撰寫這篇文章的時候還發現了很多值得注意的內容和問題:
1、EOS #1憲法可能因為無法選出而持續鎖倉,任何更好的憲法草案都將替代排名最高的憲法草案,最壞的情況是遇到名次持續變化,得票第一的草案在第 14 天被第二名超越,或者是連續的票第一的草案第 29 天被超越等,這將導致新草案的計時器重置,EOS Token 持幣者的鎖倉時間更長。
2、因為擔心鎖倉時間太長無法交易帶來的價值流失,Token 持有者可能會為了短期利益同意憲法中一些不合理的條款。
按照目前的投票規則,ESO Token 的持有者投完超級節點的選票之后,還需要去投 EOS#1 憲法,憲法將規定未來 EOS 生態的走向。
如果這種情況發生,那么 EOS#1 憲法的投票又將陷入和 EOS 超級節點選舉一樣的窘境。
如果 EOS 生態真的被 EOS 大戶控制,那很有可能不僅搶節點,還要改憲法,稱王?
3、在 EOS BIOS Boot 上線技術群里,絕大部分都是外國人,只有一兩個中國人的身影,因為這是真正的技術群,有錢、有勢但是沒技術是無法參與討論的。
上面還提到,EOS BIOS Boot 的代碼是由 EOS Canada 維護的,也能看出 BlockOne 和國外 EOS 開發者的親密關系。
所以上線小隊里入選的人,很大概率都是外國人,而這份參與主網上線的殊榮,中國團隊已經無緣。
當然,這些也可能是我們想太多,BlockOne 或許會在之后的日子里公布更多技術細節來預防這類問題的出現,但就目前來看,確實有這些潛在的 bug。