矿工应该了解的几个 Filecoin 重要的 FIP(持续更新)
马丁·海德格尔
世界先于我们而存在,而在我们死了之后,世界依然存在。
也许,我们存在的唯一意义,就是给世界一次变好的机会。
这篇文章我们来聊一聊,作为 Filecoin 矿工,你应该知道的几个重要的 FIP。
可能对于新手矿工来说,你并不知道什么是 FIP,那么我希望这篇文章能让你彻底搞懂它,让你能对 Filecoin 这个项目有一些高级的认知,并从中了解 Filecoin 网络的发展历程,体会一点社区治理的智慧。
# 什么是 FIP?
FIP 的全称是 Filecoin Improvement Proposal
(Filecoin 改进提案)。每一个 FIP 都是一个设计改进提案,提案的内容可以是社区治理,技术问题,经济模型或者是网络恢复等相关话题。
FIP 必须按照固定的格式编写,如必须包含问题的简单描述(当前现状),提案动机,解决方案等。FIP 的发起人负责在社区内建立共识(发起投票)并记录不同意见。
协议实验室建立 FIP 的初衷是希望 FIP 能成为 Filecoin 新增功能主要依据来源,用于收集社区在某个问题上的技术投入,以及记录 Filecoin 涉及的设计决策过程。
# FIP 类型
目前来说,FIP 主要分为 3 类:
技术性 FIP(FTP):主要针对 Filecoin 代码实现上的更改提案,比如网络协议的更改,区块验证或者交易验证规则更改,以及任何影响 Filecoin 的应用程序的互操作性的更改。 技术 FIP 包括三个部分:设计文档,代码实现,以及对正式规范的更新(如果需要的话)。此外,技术FIP可以分为以下几类:
- 内核:需要共识升级的改进,以及未必一定是共识关键但可能与将来的共识升级相关的更改。
- 网络:包括对数据传播或任何 Filecoin 网络协议的改进。
- 接口:比如客户端的
API/RPC
规范和标准的改进,以及某些语言级别的标准,例如方法名称。 - 信息提案:例如描述 Filecoin 设计问题,或向 Filecoin 社区提供一般准则或信息,但是不一定提出新的功能。
跟前面几条不一样的是,信息 FTP 并不需要在社区达成共识,它只是一个建议,因此你可以选择遵循也可以自由地忽略他们。
组织类 FIP(FOP): 围绕Filecoin的流程,或提出对流程(或其中的事件)的更改。适用于 Filecoin 协议以外的区域。FOP 也能会提出 Filecoin 的实现方案,但是不会涉及到代码,一般都需要社区达成共识。 具体包括例如程序,准则,决策流程的更改,FIP 流程的更改以及 Filecoin 开发中使用的工具或环境的更改。
恢复类 FIP(FRP):
通常在网络或者生态出现异常异常问题,无法通过标准协议解决的时候,就需要通过提出 FRP 来解决。比如在协议错误,或者 Filecoin 存储网络被破坏的情况下。
提醒
官方强烈建议建议单个 FIP 只包括一个关键提议或新想法。也就是说你别把多个提议打包到一个 FIP 中,FIP 提案的主题越聚焦,那么提案就越成功,也越容易被接受。
最后,FIP 必须满足某些最低标准。
- 提案中比如有你对新增或者改进功能的清晰完整的描述。
- 提案的内容必须是提升网络性能或者安全性,便捷性等,而不是降低。
- 提案的实现必须是可靠的,而且不能使协议变得过于复杂。也就是你 FIP 实现的代价不要过高,改动不要太大,不能使当前运行的 Filecoin 网络协议变得太复杂。
# 如何提交 FIP?
参与整个 FIP 提案过程的各方是您(参与讨论的所有成员),FIP 发起人或 FIP 作者,FIP 编辑者 和 Filecoin 核心开发人员。
任何致力于改善 Filecoin 网络的人都可以提交 FIP,操作流程如下:
- 找到 FIP (opens new window) 的 GitHub 仓库(文末参考链接有),然后 fork 一份到自己的仓库。
- 克隆你 fork 仓库到本地,新建 FIP 文件,命名往后追加就行了,例如当前 FIP 最大编号是
fip-0014
,那么你新建一个fip-0015.md
文件就行。然后完善你的提案文档。 - 提交你的更改,并向主仓库(官方)发起一个 PR(pull request),并在适当的论坛中扩大讨论范围,围绕该想法建立社区共识。
- FIP 编辑者(一般都是官方人员)会对你的 FIP 进行审核,并会给出审核意见。
- 如过审核通过,会进入最终执行阶段。
一个成功的 FIP 的状态流转如下。
[ WIP ] -> [ DRAFT ] -> [ LAST CALL ] -> [ ACCEPTED ] -> [ FINAL ]
每个状态更改均由 FIP 作者提出,并由 FIP 编辑者进行审查。使用 GitHub 的 PR 来更新状态。你需要提供一个链接,指向人们应继续讨论您的FIP的位置。FIP 编辑者将根据以下条件处理这些请求。
- Active: 信息提交完成,进入讨论阶段。如果初审通过,FIP 审核者将为FIP分配一个编号并合并你的 PR,进入
Draft
(草案)阶段。如果拒绝的话,审核者也会写明原因。 - Draft:合并第一份草稿后,你仍然可以提交具有进一步更改的 PR 请求。如果你认为 FIP 已经成熟,就可以申请进入下一个阶段,
如果同意,FIP 审核者将分配
Last Call
状态并设置审核结束日期(review-period-end),通常是14天后。 - Last Call:此阶段该FIP将在 Filecoin 网站上显眼列出,如果是非技术类的核心 FIP,那么整个流程就基本结束了。
- Accepted:仅核心 FIP 会经历这个阶段,这个阶段由 Filecoin 核心开发人员掌控,他们决定是否将其编码为共识,并强制矿工升级。
- Final:表示该 FIP 代表了当前的最新技术水平。后期不能再更新,如果是错误勘正。
# 几个重要 FIP
目前为止(2021-04-05), 大部分 FIP 都是技术类的(Technical),FOP 和 FRP 很少。Filecoin 毕竟刚刚上线不久,因此项目前期一般都是先解决技术性的问题。 我们一起来看看截止目前为止矿工比较关注的那几个 FIP。
# fip-0002
该 FIP 当前状态: Final
(已生效),主要内容如下:
- 首次丢失
WindowPost deadline
(没有按时提交时空证明)的扇区,只扣除算力,不罚款。
- 错误的扇区,在已经提交了恢复声明后,仍然无法按时提交时空证明的,这些扇区将产生 SectorFaultFee(罚款)。
- 将错误扇区的 SectorFaultFee(罚款)更新为预期的整体 3.51 天的出块奖励,之前是 2.14 天。
# fip-0004
该 FIP 当前状态: Final
(已生效),主要内容如下:
将矿工的出块奖励的 25% 立即释放,剩下的 75% 180天内线性释放。在此之前是所有的奖励都是 180 天线性释放。
# fip-0009
该 FIP 当前状态: Final
(已生效),主要内容如下:
豁免
SubmitWindowPost
消息燃烧的 base-fee。
简单来说就是说现在提交时空证明消息不需要受当前网络的 base-fee
影响了,Gas 费涨得再高,跟时空证明消息都没有关系了。
时空证明提交的成本几乎变得免费了。
# fip-0010
该 FIP 当前状态: Final
(已生效),主要内容如下:
在无需验证的情况下在链上乐观地接受所有矿工提交的时空证明,从而允许链下验证者稍后对它们进行验证挑战。
该 FIP 主要针对 fip-0009
做出一些改进。从 FIP-0009
开始,SubmitWindowedPoSt 消息是免费的,这是一个不完善的权宜之计,因为这虽然减小了矿工的负担(不用承担 SubmitWindowPost
的 gas 费用),
但是并没与减少网络本身的负担,因为网络还是要对矿工提交的时空证明进行链上验证,这浪费了大约 13% 的网络带宽。
FIP-0010 建议把时空证明的验证放到链下进行,这样可以节省这 13% 的网络带宽。主要实现流程如下:
- 除了那些恢复中的错误扇区的那些以外,新提交的时空证明都乐观地认为是正确的,并直接增加算力,但是在状态树中记录了一个验证期。
- 在
WPoStProofDisputeWindow
到来之前,第三矿工可以通过调用DisputeWindowedPoSt
对矿工提交的时空证明提出异议和挑战,如果挑战成功,那么矿工将失去对应扇区的算力,并承担罚款, 挑战者将获得 4FIL 的检举奖励。
# fip-0013
该 FIP 当前状态: Draft
(草案阶段),主要内容如下:
为矿工添加一种在单次提交中提交多个扇区证明提交消息的方法。
目前是每个扇区质押都需要提交 2 条消息,PreCommitSector
和 ProveCommitSector
。链上证明随着网络的增长呈线性增长,矿工越来越多,这导致需要打包的消息越来越多。
但是区块的大小不可能无限制的增长,一个区块能打包的消息数量是有限的,大家都抢着上链,这势必会导致较高的 base-fee
。
fip-0013
就是提出一种方法,把多个扇区的 PreCommitSector
和 ProveCommitSector
打包放在一条消息里面,这样消息的数量将会大大减少,整个链的 TPS 也就上来了。
聚合消息中包含的扇区证明数量在 50-819 之间。该 FIP 如果实现的话,矿工质押 Gas 费的负担会小很多。
# fip-0014
该 FIP 当前状态: Final
(已生效),主要内容如下:
允许将 V1 证明扇区延长到最长 540 天的生命周期。
主要是针对 SR1 阶段的扇区,协议实验觉得有安全问题,所以当时就禁止 2020年11月24以前扇区延长生命周期,也就是说这些扇区将在 4 月份到期,这些扇区总算力有 1.3xEB,因此拥有这些扇区的矿工算力也会大大被削减。 但是那些参与 SR1 的老矿工不怎么乐意,他们就联合发起了这个 FIP,要求允许延长 V1 扇区的生命周期,好让他们可以继续赚取爆块收益。
这个 FIP 大家应该都很熟悉,就前段时间的那个投票搞得沸沸扬扬的,值得一提的是这次投票的结果是老矿工以 98% 压倒性完胜。因为很多新矿工觉得自己算力小,投票也改变不了结果,所以都没有去参与投票。
个人觉得还是应该发出自己的声音,即使改变不了结果,但是可以表明一下你的立场,本人也默默了投了几票反对票。O(∩_∩)O~
# 参考文献
本站博文如非注明转载则均属作者原创文章,引用或转载无需申请版权或者注明出处,如需联系作者请加微信: geekmaster01