上期系列教程第二章,我们已经详细介绍关于 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 的总价值与实际在使用中的 connector 余量间的关系,设计好后为一个固定参数:
总体上来说,就是 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 算法:数学、经济学解析与参数测算》- 火币区块链研究院