本文將 EOS 分爲 EOS 誕生之路、賬戶與錢包、BFT-DPOS 共識機制、資源分配、社區治理、DApp 生態、經濟模型、智能合約、側鏈與代碼分叉 9 大部分,各部分均附以網站索引,將幫助大家更加了解和學習 EOS。

原文標題:《最實用入門 EOS 手冊,先收藏再看(附 106 個工具類鏈接)》

2008 年,比特幣白皮書的發佈標誌着區塊鏈冒險的正式開始;2018 年,EOS 誕生,被視作繼比特幣、以太坊之後的第三代公鏈,短時間內便吸引了區塊鏈世界中衆多關注的目光,雖然一路也伴隨着爭議,但 EOS 在技術以及理念上的創新仍然值得學習。根據 EOS 的生態以及規劃,本文將 EOS 分爲 EOS 誕生之路、賬戶與錢包、BFT-DPOS 共識機制、資源分配、社區治理、DApp 生態、經濟模型、智能合約、側鏈與代碼分叉 9 大部分,各部分均附以網站索引,將幫助大家更加了解和學習 EOS。

一、EOS 誕生之路

EOS 是什麼?可以說有兩個含義,可以指 EOSIO 軟件,即我們常說的 EOS 主網或 EOS 主鏈;也可以指用於 EOS 平臺上的流通媒介,即 EOS 通證 /Token/ 代幣。

EOSIO

EOSIO 是一個叫 Block.one 的技術團隊開發的一個平臺軟件,它構建一個區塊鏈底層的技術架構,類似區塊鏈中的操作系統,開發者能夠基於 EOS 快速方便的構建分佈式應用軟件 DApp。

EOSIO 的技術白皮書 V2.0 這樣形容該軟件:「這個軟件提供賬戶、身份驗證、數據庫、異步通信、以及分佈在多個 CPU 內核或集羣的程序調度。由此產生的技術是一個區塊鏈架構,這個架構的性能可以擴展至每秒處理百萬級交易,消除用戶的手續費,並且允許快速和輕鬆的部署去中心化的應用。」通俗的說,EOS (Enterprise Operation System),是一個爲商用分佈式應用設計的區塊鏈操作系統。

在公鏈 EOS 之前,主要的公鏈有比特幣、以太坊,這兩條公鏈面臨着低吞吐量與手續費高昂的難題,對此,EOS 採用並行鏈和 BFT-DPOS 共識機制的方式致力於改善以上問題。EOS 主網於 2018 年 8 月正式上線。

EOS 通證

EOS 通證(也叫「柚子」)則是 EOS 上的價值載體,是獲取網絡資源、進行用戶投票的重要工具,作爲 EOS 生態中各個角色互通串聯的角色存在,在 EOS 主網上線前,EOS 曾爲基於以太坊的 ERC20 代幣,2018 年主網上線後,這些 ERC20 代幣通過映射成爲真正的主網原生通證。映射相當於在以太坊與 EOS 之間搭建一座橋樑,在主網上線前,需要生成一個主鏈的 EOS 原生幣地址,並通過一系列操作將其與以太坊錢包相關聯,在 6 月 2 日前,需要將臨時 EOS 代幣轉入以太坊錢包,之後的 23 小時內,EOS 將對錢包中的 EOS 代幣進行快照,並在之後以空投的形式將 EOS 平臺通證發到你的 EOS 地址上,48 小時後,以太坊上的臨時 EOS 代幣將被凍結無法使用。

EOS 通證有兩種不同的發行方式:衆籌和增發。在主網未上線前指代基於以太坊 ERC20 發佈的臨時 EOS 代幣,通過衆籌方式發行 10 億枚,衆籌在 2017 年 6 月 23 日開始,並於 2018 年 6 月 1 日結束,這場 ICO 維持了 341 天,融資額達到 40 億美元,成爲當時史上最大金額的 ICO。在 EOS 主網上線後,將每年增發 5% 的 EOS,其中 1% 將獎勵區塊生產者和備選節點。

BB 與 BM

EOS 是如何誕生的?離不開一個叫 Block.one 的公司,該公司有兩個核心人物,一個是首席執行官 Brendan Blumer (簡稱 BB),一個是首席技術官 Daniel Larimer (網名爲 bytemaster,人們習慣叫他 BM),曾創立 Bitshares 比特股(去中心化交易所)、Steemit (去中心化社交媒體),被視作天才程序員,EOS 是他的第三次區塊鏈創業。

有一個有趣的故事值得分享,2010 年 7 月,BM 在 Bitcointalk 發帖說,比特幣 10 分鐘一次的交易確認時間顯得太長了,而改變共識機制可以實現這一點。中本聰說:If you don\’t believe me or don\’t get it, I don\’t have time to try to convince you, sorry。

網站索引

1、重要網站

Block.one 官網、EOSIO 官網:讀者可對 EOS 以及 EOS 背後團隊有個大概的瞭解,同時也可輕鬆鏈接到一些重要網站:比如說 EOS 風投網站 EOSVC、開發人員門戶 EOSIO Developer Portal (EOS 官方提供的一個開源的開發者工具平臺,包括高級文檔、SDK
參考資料、基礎和高級引導資料以及教程)、EOSIO 博客(可追蹤 EOSIO 最新動態、版本更新)、2018 年路線圖(英文版)(中譯版本)。

如果對 EOS 有更多問題或者想得到更多開發資源,可以訪問 StackExchange 問答網站、EOS 中文社區,這是關於 EOS 各種問題的彙總論壇。

2、必須要看的白皮書

2017/5 – EOSIO 技術白皮書 V1.0 (中英版本),中文譯者爲 Harvey 老狼 @OracleChain、譚智勇 @OracleChain、宋承根 @OracleChain、梓岑 @HelloEOS;2018/3 – EOSIO 技術白皮書 V2.0 (英);EOSIO 技術白皮書 V2.0 (中譯):荊凱 @EOS42 在第一版 EOS 技術白皮書譯本基礎上修訂增改而成。

3、主要領袖言論

BM: 推特、medium 賬號、github 博客(2017 年前的博客文章)。
BB:推特、medium 賬號(通過 EOSIO 的官方博客發聲)。

二、賬戶與錢包

EOS 賬戶

EOS 賬戶可視爲 EOS 持幣者在線訪問 EOS 系統的一張憑證。擁有了一個 EOS 賬戶,即可以在 EOS 公鏈上進行轉賬、投票、使用網絡資源以及使用 DApp。

就像一個支付寶賬戶,在比特幣和以太坊中,賬戶由一個私鑰和公鑰地址對組成。公鑰可以理解爲賬戶地址,可以理解成支付寶號碼,私鑰可以理解成賬戶的密碼、鑰匙,也就像支付寶密碼;公鑰和私鑰是系統生成的一長串的字符串。

而在 EOS 中,公鑰賬戶地址爲 12 個自定義字符,從而方便用戶記憶,用戶之間的轉賬是通過賬號來進行操作的。

私鑰也有不同,權限更加細分,天然對應兩個祕鑰:1、Owner key;2、Active key。Owner key 可以理解成賬號的所有控制權限,有了 Owner key,你可以對這個賬號的任何東西做任何的事兒,這是它的最高權限,比如修改 Active key,新建或刪除一個權限等;Active key 可以理解成賬號資金的管理權限,如果有了 Active key,用戶僅僅可以對這個賬號的資金進行轉移,沒法做其他事。

另外值得注意的是,創建一個 EOS 賬號需要付出額外的成本。爲什麼呢?賬號的創建需要保存在 EOS 主網中,需要佔用區塊鏈生產節點(BP)的內存資源,一般爲 4K 大小。而內存資源是有限的寶貴資源,因此賬號創建是有成本的,內存價格和 EOS 價格隨市場變動,因此 EOS 主網賬戶註冊價格也是變動的。

EOS 賬號不像以太坊賬號,無法自己生成,需要由一個已存的 EOS 賬號才能註冊 EOS 賬號。

錢包

錢包是用來管理數字資產的工具。但實際上,數字資產存儲在 EOS 公鏈上,錢包的主要功能就是生產或存儲私鑰,從而在交易的時候可以進行簽名(類似於輸入支付密碼)。它一般是一個運行在你本地機器的程序,PC 端和移動端均可。

EOS 官方錢包的名稱是 keosd,它負責管理你的私鑰,並且幫你進行交易的簽名。但 keosd 錢包對普通用戶並不友好,它是一個命令行程序,目前還沒有像以太坊的 mist 那樣的圖形化界面,而且還只能運行在 linux 或 mac 操作系統下,適用於開發人員,目前已有節點與錢包商提供用戶友好的錢包。

網站索引

1、EOS 賬號註冊平臺

目前來看,EOS 賬號註冊有四種渠道:

瀏覽器插件註冊:以 Scatter 插件爲代表,是一個基於瀏覽器插件式的 EOS 錢包,需要基於 chrome 瀏覽器運行。爲了 EOS 資產及私鑰的安全性,用開源的、安全的 Scatter 是當下最好的選擇,但操作較爲繁瑣,且需已有 EOS 賬戶的朋友幫助。網絡教程在此。

輕錢包註冊:EOS 錢包服務商們通常會推出 EOS 賬號一站式註冊服務,用戶可以支付寶即法幣購買激活碼,便可一鍵創建,步驟更爲簡單快捷,適合 EOS 小白用戶。舉例來說:TokenPocket (註冊成本 4.9 RMB)、Morewallet (註冊成本 9.9 RMB)、虎符錢包(EOS 賬號疑似拋錨無法操作,這裏提供 EOS 幣與資源的緊急救援)、EOSVibes (爲用戶提供了數個安全使用的密鑰對生成器)、EOSnameswaps (一個提供「靚號」交易的中介平臺)。

交易所註冊:擁有其他幣種的讀者可以採用交易所一鍵式創建的方式,以 TOP.ONE 交易所爲例, EOS 錢包自助創建支持 ETH、BTC、USDT、EOS 四種代幣支付。

命令行註冊:也就是 EOS 官方錢包 keosd 註冊賬戶,屬於高端玩法,此類註冊方法多見於 EOS 主網剛剛上線、周邊工具尚未完善之際,早期用戶搶注「靚號」。根據 Keosd 概述,keosd 位於 eos/build/programs/keosdEOSIO/eos 存儲庫中的文件夾中,命令行註冊需要在 docker 環境下創建本地錢包,再註冊賬戶名。教程可見《 5 分鐘學會註冊 EOS 主網賬戶、投票和發幣》、《手把手教你搞定 EOS 靚號搶注》。

2、錢包:作爲 EOS 生態的入口, EOS 錢包數量衆多,主要分爲冷錢包(硬件錢包)、移動端錢包、Web 錢包、瀏覽器插件錢包,另外,在 GitHub 還可以找到很多開源錢包。

(1)冷錢包:Ledger Nano S、Trezor (Trezor Model T 即將支持 EOS)、Bepal Pro S、Cybex、庫神錢包、Memory Box 冷錢包(Starteos 團隊出品)

(2)移動錢包:功能大同小異,一般具備多籤、創建賬戶、轉賬、投票頁面、資源買賣、DApp 門戶等功能,包括支持多鏈的錢包商和節點出品的 EOS 專用錢包。

EOS LIVE ( SuperONE 團隊開發)、MEET.ONE (MeetOne 開發)、TokenPocket、HaloWallet (EOS
引力區出品)、imToken (知名以太坊錢包,目前已支持 EOS 生態)、麥子錢包、比特派(老牌比特幣錢包,目前已支持 EOS 生態)、幣信 EOS 錢包(Bixin 出品)、PocketEOS (OracleChain 出品)、ONE (OneChain 出品)、幣通(BitPortal 出品)、虎符錢包(多鏈錢包,帶理財功能)、Cobo Wallet (多鏈錢包,支持 EOS)、斑馬錢包(多鏈錢包,支持 EOS) Starteos (Starteos 團隊出品)、MoreTop (IMEOS 出品)、番茄錢包(團隊創始人爲搜狗輸入法之父馬佔凱)。

(3) web 錢包:bloks (EOS CAFE 出品)、EOSX (EOS Asia 團隊出品)、starteos,(Starteos 出品)、EOSlynx

(4)瀏覽器插件錢包:Scatter 插件

(5)開源錢包:EOSPortal、EOSWallet、eos4j,更多開源錢包詳見《 EOS 錢包》

總之選擇錢包的重要因素爲安全(冷錢包 > 熱錢包)、交互體驗(熱錢包 > 冷錢包)、團隊,視個人而定,在選擇 EOS 錢包前,讀者可參考公鏈數字錢包排行榜,選擇公信力高的錢包。

三、BFT-DPoS 共識機制

共識機制概述

區塊鏈本質是一個賬本,數據以鏈式結構存儲,共識機制決定如何出塊,是區塊鏈網絡用來達成交易、確認共識的協議,也是降低區塊鏈中各個分散節點信任成本的協議,目前在區塊鏈世界中,包含 POW、POS、DPOS、PBFT、DAG 機制。共識機制詳細閱讀推薦《八大區塊鏈共識機制綜述》。

EOS 在第一版白皮書中採用的是 DPoS 共識機制,該共識機制在比特股、Steemit 被 BM 實踐成功過,在最新一版的白皮書中,其做了一些改進,現爲 BFT-DPoS 共識機制。改進內容推薦閱讀《 EOS 技術白皮書 V2 修改了哪些之- 共識機制 ( BFT-DPOS ) 篇》

DPoS (Delegated Proof of Stake),即授權權益證明共識機制。DPoS 機制通過賦予 EOS 通證持有人投票權,選出 21 個「超級節點」(也就是區塊生產者 block producer,簡稱 BP)來擔任記賬人的角色,保證整個網絡的正常運行。21 個超級節點輪流負責記賬,每一個區塊產生後,會按照順序傳遞到下一個超級節點中,第二個超級節點要負責打包新的區塊,同時確認上一區塊的內容,當某一區塊被超過
2/3 的超級節點確認後,該區塊將被確認爲不可逆區塊。

BFT (Byzantine Fault Tolerance),意思是拜占庭容錯算法,DPoS 共識加上 BFT 算法後,驗證時不再按照出塊順序由超級節點一個個驗證區塊內容,而是讓出塊節點成爲主節點,出塊後同時向剩下 20 個節點進行廣播,並獲得節點的驗證反饋,如果有超過 2/3 的節點驗證通過,則該區塊成爲不可逆區塊。BFT 可以使得 EOS 的區塊確認速度顯著增加。

BFT-DPOS 機制由於減少了記賬節點的規模,從而也提高了效率,加上並行鏈,在最理想的狀態下,EOS 聲稱可以達到百萬級 TPS。但在區塊鏈去中心化的原教旨主義下, DPOS 機制由於節點太少而遭受集中化的質疑,這種質疑仍舊存在。

超級節點

在 EOS 中,目前存在 300 + 候選節點,這些候選節點的參與方通常包括礦池、加密貨幣交易所、區塊鏈諮詢公司和 EOS 發燒友團隊。票選出來的超級節點們,將按照區塊產生順序(首字母排序)打包交易,獲得區塊生產獎勵;除此之外,EOS 白皮書中提到,EOS 的每年會增發代幣的 5% 給維持節點的人,EOS 總量爲 10 億,5% 也有 5 千萬代幣,結合 EOS 代幣價格,對於 BP 來說,這都是一筆不小的收益。

在 Thomas Cox 的 EOS 憲法草案(此處鏈接到社區治理)的摘要中,第四條規定:「任何成員不得以任何形式提供或接受任何有價物品,包括超級節點候選人,修正案或 worker 提案,也不得過分地影響另一個人的投票。」在 EOS 中買票、賄票無論如何都是不允許的。

除了 21 個超級節點之外,EOS 生態中還有 49 個備選節點。這些備選節點的存在,是頂替一些面臨問題或者受到干擾的超級節點,以維持好系統的穩定性。

另外,設置備選節點的另一個用處即爲權力的制衡。首先,若某個超級節點作惡,其他超級節點可以通過投票取消作惡節點的地位,並且備選節點會一直監督超級節點的行爲,若出現非法行爲,備選節點將通過民主的方式吸引選票,替換作惡節點,以此實現監督的作用。

EOS 的備選節點隨時準備着替補已有的超級節點,他們需要保證和超級節點一樣的硬件設施,使得節點替換時不對 EOS 網絡造成影響。

爲保證備選節點的積極性,EOS 規定,每年分配給節點的 1% 的通證獎勵,只有 0.25% 是分給超級節點的,剩下 0.75% 將按照收到投票數按比例分給所有的超級節點和備選節點。

投票

由於 EOS 爲 DPOS 共識機制,每個 EOS 持幣者都擁有投票權,作爲持幣者,投票是一項十分重要權利,需要每一位投票員珍視並妥善的行使這項權利。目前,EOS 超級節點競選和 2019 年 1 月開放的公投系統(具體詳見治理一章)均需要投票。

加拿大節點 EOS Cafe Calgary 的創始人 Syed 在一封電子郵件中寫道「如果你在網絡上持有金融股份並希望保護它,那麼決定系統未來的最好方式就是參與投票過程。」投票是沒有直接收益的,但是在超級節點競選中,當持幣者選出足夠優秀靠譜的超級節點,以保證 EOS 網絡的穩定運行;而在公投中,對於提案的投票將在 EOS 生態特定問題上發出社區的聲音,甚至更改主網設定和 EOS 憲法,有利於 EOS 生態的繁榮長治,只有當以上兩者得到實現,那麼隨着 EOS 的發展,持幣者手中的 EOS 也會隨之升值,這也算是投票的間接收益。

那麼如何投票呢?開發 EOS.IO 的 block.one 軟件公司已經表示,他們只會釋放一個 EOSIO1.0 版本的命令型工具,這就需要用戶在 github 代碼庫中抓取一段出來,到自己的本地電腦上運行,一些節點已經設置了用戶友好界面,在一些節點官網網站、區塊瀏覽器、錢包、交易所均可實現一站式投票服務。

另一種方式則是通過代理式投票,將投票權利交給代理人,讓投票代理人代替我們進行投票。投票代理對那些想要投票,但無法瞭解全部節點候選人的用戶來說是非常有用的。

投票的規則爲由 EOS 持幣用戶以每個代幣最多 30 票的方式選舉出前 21 個超級節點;投票的方式爲質押 EOS,獲得等量投票權,質押期間,EOS 將爲鎖定狀態,不能轉賬也不能交易,從用戶取消抵押開始,鎖定期爲 72 小時。

投票可以隨時進行,並且隨時更改。投票結果每 126 秒會記錄一次,這也是完成一輪出塊所需要的時間。每一輪出塊中,每個超級節點都會生成 12 個區塊,每個區塊的生成時間是 0.5 秒。這意味着超級節點選舉每 2 分 6 秒就會進行一次。每個 EOS token 最多可以投給 30 個不同的節點候選人。你所投的每個節點候選人都會一致獲得你所擁有的選票。

但一票 30 投的規則截止目前已經受到質疑,會迅速使頭部超級節點聯合投票,控制整條鏈,進而增加了產生雙花的可能性。目前已有公投提案提出一票一投。

爲了確保用戶經常更新他們的投票設定,Block.one 引入了一個時長爲一年的投票權重半衰期。這個半衰期將從投票一週後開始。如果一個用戶在一週後不重新投票,選票權重就會衰減。一年後,選票權重會降到原來的 50%。如果用戶重新投票,選票權重就會完全恢復。

網站索引

1、區塊瀏覽器(查詢搜索工具,可以查詢到 EOS 的相關信息,包括 TPS、交易數量、賬戶數量、資源價格、EOS / 資源供應量、最新區塊、EOS / 資源富豪榜、投票率、超級節點競選實況等等,也可查詢賬戶信息、以及投票超級節點或者公投,通常由節點們組建,數量衆多)

推薦幾個常用且清晰度易懂的瀏覽器 :eosflare.io (EOSFlare 出品)、eospark.com (EOSPark 出品)、bloks.io (EOS Cafe 以及 EOS HK 出品)、 eosx.io (EOSAsia 出品)。

另外也收納了幾個包括一些特殊參數的瀏覽器:eosnetworkmonitor.io (區塊信息面板較爲常用)、eostracker.io (主網信息面板與 EOS 價格面板較好用)、eosq.app (EOSCanada 出品,交易區塊信息詳細清晰) eostree.io (一個可視化的瀏覽器,數據很有趣)、eosblocksmith.io (一個英文網站,但包括了一些 EOS 新聞、EOS 行程、教育視頻、工具網站整理)、cypherblock.io (包含了 EOS 區塊鏈上數百個去中心化代幣的市值排名與交易行情)、eosindex.io (EOS Canada 出品,包括了一些區塊鏈職位招聘信息)

2、節點情況

由 EOS Asia 出品的 eosgo.io 網站以及 IMEOS 出品的 imeos.one 收納了數百個候選節點的信息。

如果想在全球地圖上預覽所有的 EOS 節點,可以點開 cypherglass.com,可以看到前 10、前 50、前 100 以及全部節點的全球駐點;

EOS 節點投票結果一直在變,blockproducers.info 提供了節點排名變動一覽。

3、超級節點投票網站

超級節點投票結果展示網站除以上區塊瀏覽器之外,還有一些包括了自助投票渠道的網站:alohaeos.com、eosphere.io,火幣礦池,以及以上提及到的部分輕錢包也是自帶投票門戶的。

在 eostoolkit.io 上可找代理投票渠道,教程可見 medium 文章《 EOS Proxy Voting: Everything You
Need To Know》。

除此之外,另有一些投票分析網站,對於投票的結果有進一步的數據整理和結果分析。

eosauthority.com:EOSAuthority 出品,呈現投票率、投票圖表、投票分析、代理投票分析、選民地域分析等圖表,也可查詢投票權重的衰減程度。

eosbeijing.one:EOS Beijing 出品,統計了變化超過 20W EOS 的賬號、節點背後投票賬號的大戶排名、投票賬戶數量、節點投票佔比等數據。

dapptools.info :EOSTitan 出品,以可視化圖片爲特點。

alohaeos.com:依據 EOS 代理投票總額、賬戶數量、代理人數提供了代理投票排行榜。

四、資源分配

在 EOS 資源分配的核心思想中,token 代表系統資源的使用權。EOS 用戶或者 DAPP 開發者需要購買 token,並將其抵押到 EOS 的系統賬戶,用以獲取網絡帶寬資源和 CPU 計算資源的使用權。在 EOS 系統中,存在三種資源分別爲: 網絡帶寬資源(NET)、 CPU 計算資源(CPU)、 運行內存資源(RAM)。

1、網絡寬帶資源(NET)

當用戶發送一筆交易信息後,區塊生產者需要將這筆交易打包生成區塊,然後將區塊通過網絡同步給其它生產者,這個過程需要消耗一定網絡帶寬資源。

2、CPU 計算資源(CPU)

當用戶發起調用智能合約這個動作時,區塊生產者需要根據智能合約地址查找合約代碼,然後將代碼加載到內存中執行,這個過程需要消耗一定的 CPU 算力。CPU 通過抵押 EOS 免費獲取的,抵押的 EOS 越多,獲得的 CPU 比例也就越多。但比例越多並不代表算力越多,因爲 CPU 算力多少取決於抵押 EOS/ 質押池 EOS 總數的比例,也就是說,隨着抵押池 EOS 數量的不斷增加,老用戶原先擁有 CPU 的比例也會隨之縮水。

但該機制的消極效應在於,負反饋很容易失效,CPU 價高,全網的抵押量也跟着漲,然後 EOS 變的更貴,形成了一個惡性循環。加上部分 DApp 佔用過多的主網 CPU,導致用戶資源緊張,甚至無法轉賬。對此,2018 年 10 月,EOS 將主網的全局參 TARGET_BLOCK_CPU_USAGE_PCT 從 10% 提升到 20%。在 Kylin 測試網絡上的結果來看,保守估計,這一改動將至少提升 2 倍的可用 CPU 資源。另外,爲降低資源使用成本,BM 發佈了 有關 EOS 資源租賃及租金分配的提案,爲去掉 EOS 隨意抵押和不理性抵押行爲,只保留那些真正需要使用 CPU 的 EOS 抵押行爲。

3、運行內存資源(RAM)

EOS 系統中的帳號信息、智能合約執行信息的當前的狀態都是存儲在內存中的,這些信息的儲存就需要長期佔用內存資源;RAM 的總量由超級節點共同投票決定,一旦確定之後,短時間內不會發生大幅的擴容;一般是 DApp 開發、EOS 持幣者創建賬戶需要 RAM;合約規定 RAM 買賣 EOS 主網系統會收取 0.5% 的手續費,RAM 不可轉讓與租賃,只能夠和系統交易。

爲了實現 RAM 的市場配置,RAM 的價格採用了 Bancor 算法(這裏推薦閱讀《深入淺出講解 BANCOR 算法》、《 Bancor 協議研究報告》),由市場的供求關係決定 RAM 的價格,買入的人越多,價格越高,以保證 RAM 資源的流動性。但由於 RAM 資源的稀缺,RAM 在 2018 年中旬一度暴漲,引發投機行爲。

對於 RAM 價格炒作的愈發火爆,7 月 11 日,BM 情緒化退出了 EOS RAM 電報羣,並在隨後提出了 3 項提議,1、增加 RAM 的供應(擴容),建議節點以每年 64GB 的速度增長 RAM,如果價格仍然過高可以根據社區需要進行調整 2、降低每個賬戶內存的使用率 3、Block.one 將開發 iOS 錢包,將爲用戶免費創建賬戶。隨着 7 月 26 日 RAM 擴容提案投票的通過,RAM 已經在當前 64GB 的基礎上,每出一個區塊增加了 1KB RAM,由此 RAM 價格迴歸平穩。

簡單來說:CPU 和 NET 通過抵押 EOS 獲得,屬於可恢復資源,用於交易的計算和帶寬;RAM 需要向系統購買,屬於固定資源,用於存放賬戶相關的數據,包括賬戶名、授權信息、合約代碼、合約 abi 和智能合約的數據。

4、REX

爲了「降低在基於 EOSIO 的區塊鏈上使用 NET 和 CPU 資源成本」,2018 年 3 月,BM 發佈了 有關 EOS
資源租賃及租金分配的提案,IMEOS 給出了中譯本,即 REX 交易所(EOS Resource Exchange。),主要解決資源不對稱的問題(部分投資者有大量的 EOS 閒置,另一方面,很多開發者又面臨資源匱乏的問題。)

在該交易所當中,REX token 爲資源代幣。出租者可將其 EOS 質押給 REX,以換取 REX token (T-Rex),比例爲 1:1,作爲憑證待租期過後可可拿回本金並獲得租金,同時也可按比例獲得 REX 分紅的權利;而承租人需要支付一定量的 EOS 作爲租金(採用 Bancor 算法計算租賃資源的多少),獲得 30 天裏 EOS 的資源使用權,到期可續租。

購買 REX 代幣的前提是必須給 21 個 BP (超級節點,可以理解爲比特幣裏的礦工)投票才能獲得購買權。

目前,REX 提案仍然在測試與更新中,尚未面世,EOSIO github 上可以追蹤更新代碼、修復漏洞;EOSAuthority 官網上也將公佈測試進度以及下一輪的計劃。

網站索引

EOS 資源規劃師:EOS NewYork 出品,包括 CPU 與 RAM 行情、CPU 租賃、RAM 計算器,一個比較全的網站。

1、CPU 租賃平臺

CPUemergency:每 48 小時可有機會獲得一次維持 8 小時的免費 CPU;另外,某些與其合作的 DApp 玩家也可在遊戲中免費租賃。

Chintai:提供 7 天、14 天、21 天、28 天不等租期的 CPU 租賃交易。

YOURtoken:EOS 轉賬救急,提供一次維持 24 小時價值 10 EOS 的 CPU,其他價格從 1-99 不等。

Bank of Staked:EOS LaoMao 出品,提供 1 個免費的救急計劃和 6 個付費計劃。

EOSBank:一個開源的租賃平臺。

ZKS:一個類似於 REX 模式的資源交易所,購買其代幣便可租賃。

2、RAM 工具網站

Tokenpocket:實時價格行情表、大單記錄、大戶排名、交易記錄。

Chaince:一個去中心交易平臺,可交易 RAM。

RAMDEX:RAM 交易網站。

MarketstackD:RAM 富豪榜,附加 RAM 價格計算器。

五、社區治理

治理是共識算法之外,需要人們在主觀問題上達成共識的過程,具體表現爲社區民衆通過投票等方式表達意願,執行決策;同時通過公約修正提案,來變更治理規則。

在 EOS 的社區治理中,治理的權力掌握在 Token 持有者手上,Token 持有者可以將自己的權利代理給區塊生成者(超級節點投票),這樣區塊的生成者就有了相應的權限(凍結賬戶、更新有缺陷的應用程序、提出對底層協議硬分叉的改變等)。當權限代理出去後,權限是受限的、被監督、被檢查的。

在 EOS 治理體系中,存在立法、執法和司法三大支柱。

立法

EOS 憲法 / 公約是 EOS 社區治理依據的原則,這裏以公約的表達形式更爲恰當。在 BM 看來,「憲法是一種和平條約,作爲一個社羣,我們就在制定最基本的規則,既然是基礎性的規則,就必須闡明清楚。最好採用非暴力的方式進行自我治理,如果我們不能用非暴力的方式自我治理,那麼將會有人以暴力的方式治理我們。」

目前公約由 BM 以及超級節點們起草,當前,按照時間線已有三版公約:Thomas Cox 帶頭起草的 V1 版本 / 中譯本;BM 不久前擬定的 V2 版本(主張代碼的意圖即法律)/ 中譯本;以及由 EOS 阿姆斯特丹起草的 V3 版本 / 中譯本。V1 與 V2 公約之間條款的對比可參考何德林的《兩個已有 EOS 公約版本的對比分析》。

由於初始公約並未得到足夠的共識,2019 年出現了新的立法系統。1 月 11 日,由 EOS Canada 在 3 天前發起的公投相關智能合約 eosio.forum,得到了 16 個 BP (超級節點)的表決通過。這意味着,自此以後,EOS 持幣者能夠自由創建對 EOS 事項表達意見的提案,也能用抵押的代幣來對提案發表 Yes or No 的建議,參與投票的 EOS 需要達到 EOS 總量的 15%,投票結果才能生效。

在發起的諸多提案中,REX、ECAF、EOS 通貨膨脹用途、公投投票建議以及 BP 是當前提案聚焦的五大話題。

司法與執法

在司法上,EOS 也建立了一套基於 EOS 公約的程序和職權基礎。其中仲裁作爲司法中的一個主要的部分,是一種無需訴諸法庭就能解決爭端的方式。爭議雙方將自己的立場提交給專業仲裁員,由專業仲裁員全面審查爭議並作出合理的解決。

ECAF 是一個爲 EOS 提供服務的獨立自治仲裁機構,包括以下三個組成部分:

1. 管理員:分配仲裁員給案件;仲裁員的招聘、審查、培訓、替換;聯絡 BP 實施裁決;2. 仲裁員:仲裁糾紛;3. 仲裁基礎:EOS 憲法;EOS 爭議解決規則(RDR);EOS 仲裁手冊。

在主網上線至今,EOS 網絡中設計爭議和仲裁常見的問題是:當 EOS 賬號的所有者因爲遭遇詐騙 / 黑客攻擊等行爲,導致密鑰被盜,而進行的追索資產的爭端。

當 ECAF 仲裁結果出來後,EOS 超級節點就是工作人員和執法者。

目前來看,ECAF 與 EOS 超級節點的仲裁權和執法權執行的並不理想,新的公投系統也正在考慮是否推翻 ECAF。

網站索引

公投網站

EOSAuthority:提案有中文版本。

eosx.io:EOS Asia 出品,清晰詳細,提供投票與提提案渠道。

bloks.io:EOS CAFE 出品,提供投票與提提案渠道。

eosdac.io:EOSDAC 出品,以提案人爲主體呈現提案,提供投票與提提案渠道。

eosalliance.io:EOSAlliance 出品,提供了公投投票步驟,投票網站超鏈接。

EOSforum:按時間線排序提案。

六、智能合約

EOS 智能合約

智能合約(Smart Contract)是什麼?簡單來說,智能合約是寫在區塊鏈上的代碼 / 程序,在特定條件下會被觸發自動執行,對於普通人來說可以理解爲公開透明、即便是編寫人也不可篡改的程序。它允許我們在不需要第三方的情況下,執行可追溯、不可逆轉和安全的交易。

EOSIO 開發者文檔這樣形容 EOS 智能合約:「真實世界的合約,簡單來說,是一組協議,給予其輸入一定的行爲,它會產生相應的結果。從正規的法律合同(如金融交易)到簡單的遊戲「規則」都屬於合約的範疇。典型的行爲可以是轉賬(金融合約)或玩家的移動(遊戲合約)。EOSIO 智能合約軟件註冊在區塊鏈上,並在 EOSIO 節點上執行,它實現了「合約」的語義,並將合約的請求行爲存儲在區塊鏈上,即請求賬本。」

EOS 定義的智能合約包含兩個要素:代表合約的程序和執行合約時的行爲。它不僅支持轉賬合約, CPU、Bandwidth 抵押、RAM 人機交易市場、投票等都在其範疇之內。

EOS 的智能合約基於 WebAssembly(WASM) 技術,因爲使用了 WebAssembly,目前的 EOS 智能合約只支持 C/C++ 語言,簡單的智能合約由 3 種文件組成:.hpp 文件、.cpp 文件、.abi 文件,關於 WebAssembly(WASM),推薦閱讀《EOS 智能合約爲何選擇 Web Assembly(wasm)》。

目前,隨着智能合約安全事件頻出,智能合約安全性問題迫在眉睫。成都鏈安科技 CEO 楊霞表示,在審計客戶合約時發現:EOS 代幣合約存在整型溢出等問題,部分合約實現不夠嚴謹。具體包括:整型溢出錯誤;權限檢查不嚴謹;API 函數的不規範使用;常規代碼錯誤。(詳情可見《鏈安科技漏洞分析連載》、《EOS 智能合約的一些問題總結和建議》)

目前智能合約安全審計平臺有 Certik、慢霧、成都鏈安、知道創宇、Hacken、Zepplin 。

李嘉圖合約

根據 EOS 憲法 第 7 條,EOS 區塊鏈上的所有智能合約也必須有李嘉圖合約。

李嘉圖合約由 Ian Grigg 在 2000 年提出,最早用於 Ricardo 支付系統中,最初的應用是債券交易系統。它是一種清晰定義、不可篡改的可讀文本,主要用作交易中明確雙方的意圖。

舉個特別簡單的例子,智能合約寫的是「A 給 B 一個 EOS,B 返還給 A 一個 EOS」,這個合約只保證讓 A、B 雙方完成給與還的動作,但是返還的 EOS 真假難辨,質量難辨,即使是假的,合約也可以執行。當李嘉圖合約加上智能合約時,如果 B 返還的不是 EOS,即不是代碼意圖,合約就無法執行。這個例子當然十分簡單,但真實情況會複雜地多。

簡單來說,智能合約本質是一套代碼,是基於區塊鏈的,並且會在區塊鏈檢測到特定條件 / 事件下觸發,用於保證讓參與方執行承諾;而李嘉圖合約可以列出代碼全部的意圖,對代碼的輸出流程做了約束。在區塊鏈世界裏,有時存在一些概念的理解和釐清,僅僅靠智能合約無法完成。這時候,李嘉圖合約會給每一筆轉賬定義一些更爲清晰的條款,用於確保轉賬的意圖,能給智能合約的執行帶來更多的準確性,實現人類意圖與機器執行更好的融合。

在 EOS 的 github 代碼庫中,提供了關於李嘉圖合約的實例,位於智能合約 hello 之中。

主網與測試網

EOS 有兩種網絡——主網以及測試網。測試網絡(Test net)與主網(Main net)是相對而言的,主網是指正式上線的、可以獨立運行的區塊鏈網絡,在主網流通的數字貨幣具有真實的經濟價值。測試網絡是未來公鏈的測試版,與主網功能相似,是爲了在不破壞主網的情況下嘗試新想法而建立的,只作爲測試用途。

EOS 主網版本一直在更新,已經從 dawn-v1.0.0 迭代至 EOSIO 1.6.1。如果想知道 EOS 的版本更新歷史,可進入 github 的 Release、Tag 頁面,可查閱從 2017 年起更新的數十個版本文件以及更新內容。

測試網推薦叢林測試網 Jungle Testnet 與麒麟測試網 CryptoKylin,推薦閱讀測試網絡使用指南 EOS Debug。

網站索引

EOSIO 的源代碼庫: 可追蹤最新的代碼修改。

EOSIO 中文文檔:開發者指南以及智能合約工具,EOS 開發者必讀。

EOSIO Developer Portal:EOS 官方提供的一個開源的開發者工具平臺,包括高級文檔、SDK 參考資料、基礎和高級引導資料以及教程

開發者資源大全整理(原文 @Steve Floyd 譯 @EOS42 荊凱):包括開發者社羣、開發者文檔 / 工具、開發工具、瀏覽器、測試網絡、基礎運維工具 / 插件、不同語言的 RPC 封裝,網站齊全。

EOS 區塊鏈開發指南:包括開發文檔、測試網、環境配置、Scatter 接口開發。

慢霧安全開發指南:旨在爲 EOS 智能合約開發人員提供一些智能合約的安全準則及已知漏洞分析。

在線 EOS 智能合約編輯器:https://dev4eos.com/:EOS Mediterranean 出品,支持 EOS
Mainnet、叢林測試網和麒麟測試網,鼓勵用戶在 Github 上提交 issue。

開發者 telegram 官方羣。

七、經濟模型

與目前大多數公鏈爲通縮的經濟模型,發行總量恆定不同的是,EOS 代幣採用了通貨膨脹的發行模式,每年增發總量的 5%。

EOS 代幣採用通脹的模型主要有以下兩個原因:

①在 EOS 系統中,區塊生產者的激勵並不通過收取手續費,而是每年增發 EOS 代幣用於激勵超級節點。通過增發 EOS 代幣,用於激勵來實現免除用戶手續費的目標。

②由於 EOS 系統的資源是按照 EOS 代幣的持有量進行分配,那麼現有的 EOS 代幣,必定無法支持更多的商業級應用的運作。所以 EOS 代幣需要不斷增發,以應對長久的發展需求。

八、DApp 生態

自 EOS 主網上線以來,EOS 已逐漸成爲以太坊的有力競爭對手,吸引了一批 DApp 入駐。截止目前,EOS 上已經入駐了 300+dapp,目前,DApp 類型主要包括競猜類(Gambling)、遊戲類(Games)、去中心化交易所(Exchanges)、收藏品類(Collectibles)、高風險類(High Risk)、市場行情類(Marketplaces)和其他。(Others)。

據 dapp.com 2018 年報告,在 2018 年的兩個季度內,EOS 已成爲交易金額和交易量方面都最大的公鏈。其中,97% 的交易來自博彩,75% 的交易量來自投注遊戲。 其中,EOS 節點 對於擴展 EOS DApp 生態系統,正在發揮關鍵作用。他們開發了各種工具來方便帳戶的設置、以及借出資源。並且主要節點 對很多 EOS DApps 都有投資或者作爲顧問提供建議。

但隨着 dapp 的繁榮,EOS 也漸漸成爲黑客的天堂。據區塊鏈數據與安全服務商 PeckShield 的統計,去年 7 月至 12 月間,EOS 鏈上的 DApp 共發生 49 起安全事件,波及 37 個 DApp,導致項目方共損失近 75 萬枚 EOS,按照攻擊發生時的幣價折算,總損失約合 319 萬美元。

網站索引

dapp 門戶網站:dapps 收集及更新;數據分析(包括日活、交易筆數、交易總額等數據)

imeos.one:IMEOS 出品,一個囊括 EOS 生態工具、dapp 項目信息平臺、EOS 空投信息平臺、錢包、交易所等各類網站的大百科。

spiderdata.com:Spiderstore 出品,除了 24h 與 7 日日活、交易量排行榜之外,還有 EOS 新增用戶、新增合約的可視化圖像。

dapptotal.com:Dapptotal 出品,排行榜移除機器人的干擾,且很貼心的標註了漲跌幅度。

eosindex.io:聚焦對更新 dapp 的信息收集。

dapp.review:囊括 dapp 數量多。

dappradar.com:清晰詳細。

dappx.com:一個 dapp 應用商城

EOS 空投信息收集網站

imeos.one:IMEOS 出品,以排行榜的形式呈現空投項目及空投日期。

airdropsforeos.com:信息面板大,視覺效果好。

eostoolkit.io:需安裝 Scatter 軟件,可一鍵領取空投糖果。

九、代碼分叉與側鏈

在 DPOS 機制下,一個 DPOS 區塊鏈不會經歷分叉,因爲區塊生產者是通過合作而非競爭的方式來生產區塊。所以目前並不存在因共識分叉因而導致鏈分叉的情形。即便真的出現了分叉,共識也將自動的切換到最長的鏈上。

當前 EOS 存在代碼分叉與側鏈兩種形態。推薦閱讀《EOS 主鏈、側鏈、分叉鏈》。

1、代碼分叉(code forks)

代碼分叉意味着用 EOSIO 的代碼,創建一條新的,獨立的區塊鏈。可能帶來的優勢在於,可以在新的這條鏈上,去對一些特殊的需要進行優化,當然,也有一些改動並不一定就帶來了改進。code forks 的情況下,項目方可以對這一條鏈有完全的控制權。推薦閱讀《Everything you wanted to know about EOS forks but were afraid to ask》/ 中譯本。

現在 Worbli (服務金融行業平臺)、 EOS Force、Telos、 Ono、Wax 等項目,可以看作是屬於 code fork 類型。

2、側鏈(sidechian)

側鏈,是一條獨立的區塊鏈,是主鏈的輔助組建。側鏈通過雙向錨定的方式與主鏈連接,意味着,主鏈與側鏈的代幣價格是維持了一個固定的兌換比例的。側鏈可給主鏈增加更多的額外性能和特徵,比如,用作運行 DAPPs 或者對整個網絡進行橫向擴容。BM 認爲,高效的跨鏈通信是可擴展性和協議演進的關鍵。當我們學會如何擴展時,一個代幣可以輕鬆地從一代鏈轉移到下一代。當代鏈和後代鏈可以同時並排運行。

目前,Fibos、BOS 屬於 EOS 當中的側鏈。

其他網站

1、https://eosprojects.org 一個集合及更新 EOS 生態各類項目的網站,包括區塊瀏覽器、社區網站、遊戲、開發工具、錢包、交易網站等工具,另外,每個項目都包含創始與開發團隊信息、時間線。
2、https://eosindex.io 聚焦項目的更新
3、http://allthingseos.com/ 一個 EOS 工具與項目列表
4、http://blocktivity.info/ 區塊鏈活躍度矩陣
5、https://www.pixeos.io/ EOS 藝術網站