上期系列教程第二章,我們已經詳細介紹關於 EOS 賬戶、權限分配以及 EOS 錢包安全策略,今天我們來介紹一下 EOS 資源機制與 EOS 投票機制。
EOS 資源機制
第二章我們談到, 在創建 EOS 賬戶的時候, 需要消耗資源, 這點和比特幣或以太坊生成地址是不同的。那麼 EOS 的資源機制是怎樣的, 都包括哪些? 為什麼會出現抄 RAM 的現象呢?
一、EOS 資源都包括哪些
EOS 的資源分為以下三種:
1. RAM (內存)
2. Network BandWidth (網絡帶寬)
3. CPU BandWidth (CPU 帶寬)
根據獲取機制的不同, 將他們分為兩大類, 一般我們將 Network BandWidth 和 CPU BandWidth 劃分為一類, 統稱為帶寬類。 RAM 則單獨劃分出來, 為什麼這樣分類呢? 下面我將詳細進行講解。
二、贖回帶寬操作
Network BandWidth 簡稱 NET (網絡帶寬) 和 CPU BandWidth 簡稱 CPU (CPU 帶寬) 是通過抵押 EOS 的方式獲得的, 如果你想釋放 NET 和 CPU 可以通過贖回操作贖回抵押的 EOS 代幣, 但是需要等待 72 小時, 也就是三天后才能到賬。
NET 和 CPU 用來保證用戶使用 EOS 網絡轉賬等基本功能, 例如你每次使用轉賬功能的時候, 都會消耗 NET 和 CPU 資源, 並且單位時間內轉賬的次數越多, 消耗的 NET 和 CPU 越多, 但是 NET 和 CPU 可以隨著時間的推移, 自動釋放。
值得注意的是, 目前在 EOS 系統中, 贖回 NET 和 CPU 的方法和贖回投票抵押的方法是一致的, 也就是說, 當你想贖回自己投票超級節點的抵押金的時候, 也是相當於贖回 NET 和 CPU。
三、特別的 RAM
RAM 必須通過 EOS 購買的方式獲得的, 而 RAM 的購買價格是隨著市場價格上下浮動的, 關於 RAM 的價格, 可以通過 https://www.eosrp.io 查看。關於 RAM 的價格算法, 我會在下邊的 Bancor 算法中詳細提到。
那麼購買 RAM 有什麼用處呢? 截止到我寫這篇文章, 之前 EOS 全網一共有 64 GB 的 RAM 內存,
但是前一段時間, EOS RAM 擴容方案通過, 在當前的 64 GB 基礎上每生產一個區塊,RAM 增 1 KB 。
在 EOS 系統中, 每個賬戶都需要 RAM 來存儲數據, 比如你在 EOS 中創建賬戶、轉賬、購買資源、抵押、贖回、投票等操作的時候, 都有可能消耗 RAM, 換句話說如果你的 RAM 消耗殆盡, 那麼有很多基本操作是無法實現的。
當然, 我們在購買 RAM 的時候, 還需要消耗當前購買所需 EOS 的 0.5% (千分之五) 的手續費, 同樣賣 RAM 資源的時候, 也需要消耗 0.5% (千分之五) 的手續費, 這筆手續費被存在 eosio.ramfee 中, 由 BP 節點進行管理。
四、Bancor 算法
Bancor 算法最早誕生於 1940 年 - 1942 年, 由凱恩斯和舒馬赫提出, 但是實際應用是在 Bancor Network 項目。它定義了兩類 token: 一種是通常會流通使用的 connector token(即儲備金,例如:BTC、ETH、EOS等),而另一種是作為“超平台”中間媒介的 Smart Token。為了使得兌換價格滿足供需關係,設計的公式中的價格為 connector 的可流通餘量(balance)除以按照一定係數的 Smart Token 供應量:
其中,CW (Connector Weight) 表示設計出來的 Smart Token 的總價值與實際在使用中的連接器餘量間的關係,設計好後為一個固定參數:
總體上來說,就是 Smart Token 的供應量越少或者 connector 的餘量越多,那麼使用 connector 來兌換 Smart Token 的價格就越高。
雖然很不嚴謹,但這也足以理解為什麼 EOS 的 RAM 越少,價格越高了。 [1]
EOS 投票機制
EOS 採用 DPoS 共識機制 ,該機制通過社區投票選舉 21 個超級節點來維護 EOS 網絡,為 EOS 網絡提供算力、帶寬以及存儲支持。
從 6 月份 EOS 主網上線後,用戶在錢包內完成投票操作,投票給自己認可的超級節點。一個 EOS 可以抵押成一票,一票最多可以同時投 30 個候選節點,每個候選節點最多投 1 票,用戶可以隨時改變想法投給其他候選節點,可以隨時申請贖回抵押的 EOS,申請贖回後 72 小時後到賬。這點和 NET 和 CPU 贖回是一樣的, 之前也有提到。
EOS 超級節點的投票是不斷變化的, 因為一共有 21 個節點, 每個節點一次負責出 6 個塊, 每個塊 0.5 秒, 所以每過 63 秒, 就需要重新統計所有節點的得票數, 得票排在前 21 位的, 重新獲得 BP 權利。
最後
EOS 作為當前最熱門的公鏈項目, 給予了部分區塊鏈從業者很大的期望。 Code is not law, 讓 BM 將人治的思想灌入其中, 無論是信仰上的衝擊, 亦或者技術上的革命, 作為普通用戶的我們, 還是應該更加冷靜的著眼於安全本身, 了解原理, 並帶有自己的思考。同時我也希望 EOS 社區能對 EOS 投票機制加以改進, 讓更多的 EOS 持有者參與到 EOS 投票中, 包括一些社區決策, 技術提案, 使 EOS 更加惠民。
END....
參考文獻:
[1]《Bancor 算法:數學、經濟學解析與參數測算》- 火幣區塊鏈研究院