前一篇文章介紹了一些關於 EOS 的故事,今天要來發第二篇繼續介紹 EOS 這個區塊鏈項目,繼續分享最近研究的心得。
EOS 區塊鏈 Account 帳戶與權限
EOS 提供了一套標準化的細粒度高級別帳戶與權限機制,可以明確指定哪些帳號?在什麼時間可以做什麼事?整個智能合約的權限都是建構在這一個機制上。在 EOS 上面基本的操作個體是帳號,申請帳號必須由令一個帳號幫你申請,所以申請帳號還真的有點麻煩。
每個帳號都有自己的資料庫,一旦你進入 EOS 的世界,也必須有一點點的 EOS 幣來維持你的帳號資訊。帳號可以透過 EOS 互相傳遞結構化的訊息,有點像是 Message Queue 的概念,也可以發布智能合約與綁定執行的權限,權限還支援命名空間層次化的架構,這些功能都是為了讓 DApp 能夠更靈活開發。
此外,EOS 還提供一個帳號救援的機制,透過當初幫你創建帳號的 Owner 支持,你可以透過 30 天前有效的 Owner Key 重新取回帳號控制權。其實 EOS 很多機制都與 Steem 使用一樣的設計,像是複合 Key 的權限設計等等。
EOS Storage 分散式儲存
介紹一下 EOS 的儲存技術,這裡有 EOS Storage 白皮書,閱讀英文可以幫助睡眠。既然要執行 DApp 就需要儲存檔案,EOS 透過 IPFS 技術實現檔案儲存 (IPFS 介紹)。為了提供檔案儲存與管理,在 EOS 有一份由 @storage 帳號所發布的智能合約,透過在 EOS 中發行 TOK Token 來管理 Storage 的使用。當你要儲存檔案時,需要鎖定一定數量 TOK,直到你刪除檔案 TOK 才會釋放。儲存檔案時,你可以指定檔案要上傳到那一個 EOS 區塊生產者 (超級節點) 上,上傳後節點會將檔案廣播出去,正常情況下,只有有一個節點存在檔案,所有節點就可以被讀取 (原本 IPFS 的機制)。但實際的副本演算法我也不了解,如果以 IPFS 原生的特性來看,其實有資料丟失的機會,比如你上傳的超級節點被排名到很後面,變得不超級了,節點也關機了。那麼整個 EOS 網路會怎麼進行處理,這裡看不出 EOS 有什麼明確的作法,期待有緣人能夠解答。
那麼儲存空間如何定價呢?定價方式會透過一個 CRR 值 (ㄈ尺尺) 來動態調整售價。每個節點都可以調整自己的 CRR 吸引 EOS 用戶傳檔案上來。由於只有前面 25 個節點可以 (也必須) 提供儲存服務,因此想成為區塊產生者的節點也會大力宣傳自己的儲存能力,讓大家投票給他,成為超級節點後可以分到很多出塊獎勵,有獎勵就可以買更多硬碟!? 提供更便宜的服務!? 貌似一個正向循環,當然要在有人用的前提下...
EOS 網路頻寬
儲存空間由上傳者鎖定 TOK 支付,那麼下載頻寬呢?目前的設計也是下載者在下載的期間需要鎖定 TOK 來完成。 EOS 鎖定 TOK 要做什呢?因為 TOK 也是會通貨膨脹的,透過目前 5% 的通膨來支付費用給提供儲存的節點,應用的概念其實是 TOK 的「時間成本」。在這個情況下,只要 EOS 使用的人夠多,隨時被鎖定的 TOK 也夠多,就有足夠的 TOK 產生通膨收入來維持儲存網路與頻寬費用,數學 + 經濟學 + 心理學真的太牛了.......
EOS 違法資訊管理與隱私
違法資訊管理與隱私 EOS 如何管理呢?在法律的前提下,如果上傳的檔案有法律問題,EOS 節點可以直接移除檔案 (說好的去中心化呢?)。當然為了避免白目節點亂砍檔案,一旦發生異常的節點,使用者也可以聚眾投下反對票讓節點出局。至於隱私,EOS Storage 不負責加密內容的,使用者請自行加密。
EOS 憲法與修憲制度
最後介紹一下 EOS 共識憲法,由於 EOS 網路運作在少數得票前幾名的節點上 (弱中心化),因此必須建立一套安全的機制,一旦 EOS.IO 需要軟體更新,要想辦法避免區塊鏈分岔問題。所以 EOS 一開始就設計了修憲機制,避免分岔問題,整個軟體更新的流程如下:
-
- 區塊生產者提議修憲並且通過 17/21 的批准
-
- 區塊生產者連續 30 天維持 17/21 的批准
-
- 全面改用新憲法 Hash 進行簽署
-
- 改 Code 透過 GIT Hash 進行代碼提交
-
- 區塊生產者連續 30 天維持 17/21 的批准
-
- 新憲法一週後生效、一週內進行升級
- 不升級的節點將自動關閉
如此看起來整個升級過程至少要兩個月,我猜測維持 30 天批准是有原因的,如果發生「南北菜蟲一起串連」21 個節點想要聯合作弊的時候,如此大家就有足夠的時間可以投反對票來罷免節點。但是我又想到,那如果這 21 個節點也持有大多數的 EOS 幣,那麼豈不就構成南北菜蟲一起串連的事實了。
寫在最後...
其實我對於 DPoS 底層的演算法還有安全機制蠻好奇的,能夠作到這樣機制實在 Magic,如果真的行得通!?未來這種混和式的弱中心化區塊鏈,應用應該會越來越多。以目前來說,在 EOS 開發 DApp 的能力與價格,還沒有辦法與主流中心化的 IaaS, PaaS, SaaS 所抗衡,光打著去中心化的名義發展應用其實不切實際,使用者根本不在乎什麼去不去中心化,千萬要小心別搞錯方向囉!區塊鏈這個更很深,信仰來得快去得也快.......
最近實在接收太多區塊鏈的資訊,下次還會繼續介紹 EOS Smart Contract,未完待續.......