最實用入門 EOS 手冊,先收藏再看(附106個工具類連結)
編者按:2008 年,比特幣白皮書的釋出標誌著區塊鏈冒險的正式開始;2018 年,EOS 誕生,被視作繼比特幣、以太坊之後的第三代公鏈,短時間內便吸引了區塊鏈世界中眾多關注的目光,雖然一路也伴隨著爭議,但EOS在技術以及理念上的創新仍然值得學習。根據 EOS 的生態以及規劃,本文將 EOS 分為 EOS 誕生之路、賬戶與錢包、BFT-DPOS 共識機制、資源分配、社群治理、DApp 生態、經濟模型、智慧合約、側鏈與程式碼分叉 9 大部分,各部分均附以網站索引,將幫助大家更加了解和學習 EOS。
目錄:
一、EOS 誕生之路
二、賬戶與錢包
三、BFT-DPOS 共識機制
四、資源分配
五、社群治理
六、DApp 生態
七、智慧合約
八、經濟模型
九、程式碼分叉與側鏈
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的官方部落格發聲)。
4、推薦閱讀
《EOS生態研究報告》
《EOS前傳:生逢其時的“騙局”與區塊鏈的蒸汽朋克》
賬戶與錢包
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.9RMB)、Morewallet(註冊成本9.9RMB)、虎符錢包(EOS賬號疑似拋錨無法操作,這裡提供EOS幣與資源的緊急救援)、EOSVibes(為使用者提供了數個安全使用的金鑰對生成器)、EOSnameswaps(一個提供 “靚號” 交易的中介平臺)。odaily教程在此。
交易所註冊:擁有其他幣種的讀者可以採用交易所一鍵式建立的方式,以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錢包前,讀者可參考公鏈數字錢包排行榜,選擇公信力高的錢包。
EOS錢包開發可推薦閱讀Chaindesk的專欄《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 超級節點?》、《什麼是 EOS 的超級節點?它為什麼需要競爭?》《熊市下的 EOS 節點:我們根本賺不回伺服器錢》、《超級節點的困境,社群治理的尷尬》、《房間裡的EOS大象》。
投票
由於 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:EOSBeijing出品,統計了變化超過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小時價值10EOS的CPU,其他價格從1-99不等。
Bank of Staked:EOSLaoMao出品,提供 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。推薦閱讀《集權還是分權,21個超級節點會執行EOS緊急措施保護令嗎?》、《EOS公投進行時,這裡有5大關注點》。
網站索引
公投網站
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 支付系統中,最初的應用是債券交易系統。它是一種清晰定義、不可篡改的可讀文字,主要用作交易中明確雙方的意圖。
簡單來說,智慧合約本質是一套程式碼,是基於區塊鏈的,並且會在區塊鏈檢測到特定條件 / 事件下觸發,用於保證讓參與方執行承諾;而李嘉圖合約可以列出程式碼全部的意圖,對程式碼的輸出流程做了約束。在區塊鏈世界裡,有時存在一些概念的理解和釐清,僅僅靠智慧合約無法完成。這時候,李嘉圖合約會給每一筆轉賬定義一些更為清晰的條款,用於確保轉賬的意圖,能給智慧合約的執行帶來更多的準確性,實現人類意圖與機器執行更好的融合。
李嘉圖合約在EOS上主要運用在治理上,具體可以參考EOS New York在去年8月提出的一組李嘉圖合約,為了解決EOS自由市場爭議,通過{regforum}和{regarbitrator}在鏈上識別仲裁員和仲裁論壇:《自由市場爭議解決:{{Regarbitrator}} / {{Regforum}} - 徵求意見》。
在 EOS 的 github 程式碼庫中,提供了關於李嘉圖合約的例項,位於智慧合約 hello 之中。
關於李嘉圖合約的更深層次瞭解,推薦《李嘉圖合約(The Ricardian Contract)中英譯文對照版》、《李嘉圖合約究竟講了什麼》、《5 分鐘帶你看懂最近爆火的“李嘉圖合約”》。
主網與測試網
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 萬美元。
推薦閱讀《2018年11月以太坊、EOS平臺及DApp資料分析報告》、《繼Fomo3D之後的EOS Pixel Master,為何9天之內吸金80萬美元 ?》、《研究了EOS體系224個Dapp後,最大贏家還是超級節點》。
網站索引
1、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應用商城
3、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 認為,高效的跨鏈通訊是可擴充套件性和協議演進的關鍵。當我們學會如何擴充套件時,一個代幣可以輕鬆地從一代鏈轉移到下一代。當代鏈和後代鏈可以同時並排執行。推薦閱讀《側鏈(Sidechain)白皮書筆記》、《主鏈和側鏈有什麼關係?》、《目前正在開發的側鏈技術包括哪些?》、《小明學習筆記 | 一文看懂區塊鏈跨鏈機制》、《EOS側鏈上線第一天,老貓隔空對嗆背後團隊與節點》。
目前,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 藝術網站