@[toc]
Filecoin项目介绍
Filecoin项目:Filecoin是运行在IPFS上的一个激励层,是一个基于区块链的分布式存储网络,它把云存储变为一个算法市场,通证(FIL)在这里起到了很重要的作用。通证是沟通资源(存储和检索)使用者(IPFS用户)和资源的提供者( Filecoin矿工)之间的中介桥梁, Filecoin协议拥有两个交易市场一一数据检索和数据存储,交易双方在市场里面提交自己的需求,达成交易。
Filecoin的共识机制
Filecoin的共识机制是预期共识,里面的主要证明机制为时空证明(PoSt)机制,全称Proof-of-Spacetime,即(存储)空间时间证明。在权益共识PoS(Proof-of-Stake)的基础上,Filecoin改进共识机制成了PoSt,来替代工作量证明PoW。
在Filecoin系统中,矿工完成存储,用户确认矿工完成存储,这里的“确认矿工完成存储”,就是Filecoin的共识机制(PoSt),这个“确认矿工完成存储”会一直存在于Filecoin网络中,用户可以随时查看。
PoSt是Filecoin在验证矿工存储用户数据的时候产生的,Filecoin把矿工在网络中的当前存储数据相对于整个网络的存储比例转化为矿工投票权(voting power of the miner),其中网络选择一个矿工创建一个新块的可能性与他们正在使用的存储和网络其余部分的成本成正比。
在PoSt机制下,矿工宁愿投资于存储而不是计算能力来并行化采矿计算,矿工提供存储并重新使用计算来证明数据被存储以参与共识。
利用存储证明(PoSt)来产生共识,不用像比特币那样浪费计算资源和能源,并且能激励矿工投入更多的存储空间(硬盘)资源而不是计算和能源资源为网络做贡献,非常环保高效的方式。
简单说,基于PoSt机制的挖矿就是大量投入存储空间(硬盘)和带宽资源的挖矿。
Filecoin 协议
Filecoin 协议是一个构建在区块链和本地通证之上的去中心化存储网络。用户为 存储和检索数据花费通证,矿工以存储和提供数据赚取通证。Filecoin的DSN通过两个可验证的市场来分别处理存储和检索请求:即存储市场 和检索市场。用户和矿工为所要求的和提供的服务设定价格,并将订单提交到市场上。 ·
市场由采用了时空证明和复制证明的 Filecoin 网络来操作,以确保矿工准确无 误地存储他们承诺存储的数据。 ·
最后,矿工可以参与区块链中新区块的创造中。一个矿工对下一个区块的影响力与它在网络中当前存储的使用量成正比。
Filecoin协议草图:
Filecoin协议插图:
Filecoin网络是如何运行的
互联网世界,本质就是数据之间的传输,传输包含,上行(发送数据)和下行(接收数据)。
上行(发送数据),即你的电脑发送数据到互联网上,比如看网页时你点击想看的,就会上传指令到互联网上,你把图片上传到朋友圈,这些产生的数据就是上行数据。
下行(接收数据),是你从互联网上下载数据。比如你看电影时,不断的下载影片产生流量,或是看网页时互联网上展现到你电脑上的图片和网页文字.都是下载后展现的,这样产生的数据为下行数据。
Filecoin协议里有两个概念:存储市场和检索市场。互联网的上行(发送数据),类似于Filecoin里的检索市场。互联网的下行(接收数据),类似于Filecoin里的存储市场。
在Filecoin网络里,Filecoin把用户的存储和检索需求放在一个交易市场里进行。
整个交易的过程就类似于你在淘宝上购买东西,卖家就像Filecoin网络里的矿工,卖家需要交纳保证金(即抵押FIL),以防止卖家(即矿工)在交易过程中发生违约,导致交易没有完。
卖家创建自己的产品信息(即矿工在Filecoin网络里注册硬盘空间)。卖家将产品上传至淘宝(即连接filecion网络),明码标价。买家浏览淘宝页面,找到符合自己心里价位的产品(即存储服务)。
买家提交购买产品的订单(即提交数据存储的订单),卖家收到订单,开始提供服务(存储数据),服务完成,买家确认收货(即确认卖家已经存储数据),付款(即付FIL)给卖家(即矿工)。
关于filecoin矿池
根据星际大陆的理解,Filecoin可能无法实现像BTC和ETH那种传统意义上的虚拟矿池,原因有以下几点:
(1) 矿工在发布订单和生成证明时都需要使用秘钥对,如果矿池服务商将秘钥告诉矿工(而不像传统矿池只需要配置一个矿池地址那么简单)是非常危险的做法,当然这一点也许可以通过加密的方法来实现,具体可能性目前还无法判断。
(2) 矿工需要不断的提交存储证明,如果矿池中某些矿工无法及时提交证明,扣除的抵押由所有矿工分担,这对优质矿工非常不公平。
(3) 矿池服务商需要提供非常大的代币抵押,因为每个矿工的存储都是不断变化的,不太可能直接让矿工直接支付所有抵押费,这也是不公平的。
综上,Filecoin虚拟矿池可行性是存疑的,但是不代表不会有创新的方法,比如组建实体矿池,由矿场或矿池服务商统一管理矿机的方法,对于矿工来说,同样可以达到加入矿池的效果。
Filecoin挖矿收益的构成
在Filecoin网络里,检索矿工和存储矿工的收益构成是完全不相同的。Filecoin网络矿工共有3种收益。
区块打包奖励
存储矿工通过时空工作量证明(PoSt),获得创建区块(挖矿)的权利,并获得区块奖励。
存储市场收益
存储矿工则是通过在市场上为用户提供存储空间容量,获得FIL代币收益。
检索市场收益
检索矿工帮助用户提取已经保存的内容或者提供检索服务、带宽,获得检索费。
存储矿工和检索矿工都可以存储数据来获取收益。不同的是,存储矿工只能接受Filecoin区块链分发的内容;而检索矿工既可以存储用户的数据,也可以从其他矿工那里购买下载的数据,甚至是自己找的数据,只要被用户下载都可以获取下载费用。
对于早期的矿工而言,矿工获得挖矿收益主要来自于打包区块获得的区块奖励,当Filecoin大规模商用以后,存储收益和检索收益占得比重会越来越多。
由此,我们可以了解 Filecoin经济体系中矿工收益的3部分来源。该经济体系在长期运行中通过各方经济利益进行自我平衡,自我修复,目的是打造一个健壮的分布式存储网络。
Filecoin的抵押机制
承诺质押(Pledge Collateral) 和 存储质押(Storage Collateral)
如果发现有矿工攻击网络的行为,质押物会被全部没收
不能提供全部或部分存储的证明的情况,没收全部或部分质押物
仅部分质押物用于奖励系统维护者,即矿工可以通过惩罚欺诈者或未履行义务者来获取利益
质押是Filecoin的奖惩机制设计中一个重要基石。Filecoin通过区块奖励和服务收费来为诚实矿工带来收益,同时,也通过质押和罚没机制来激励矿工提供优质服务。在这个奖惩机制中,奖励(即矿工收益)来自于以下方面:
矿工的收入来源有四种:
– 区块奖励:按照一定的算法进行全网线形递减释放
– 存储收费:为用户存储数据的收益(来自于用户付费)
– 检索收费:为用户检索数据的收益(来自于用户付费)
– 交易费用:交易收费,燃料费用
Filecoin与其他公链系统的最大的不同在于,这是一个去中心化的存储网络,在这个网络中,矿工必须首先提供好数据服务,才能获得收益。如果不能提供优质的数据存储和检索服务,则对整个网络来说是一个伤害。如何保证矿工提供优质的数据服务呢?简而言之,通过质押来进行承诺,如果不能完成承诺,则罚没质押金,通过这样的经济模型来进行管理。当然,在这个网络之上,还可以建设信用机制等服务,来为用户提供矿工选择,从而实现良性循环,促进整个网络往好的方向发展。
哪些情况下会造成FIL代币会被没收呢?
简而言之,当一个矿工行为不当或没能完成自己应尽的义务时,通常会受到惩罚。惩罚的机制在代码中会详细实现,通过去中心化的机制进行,无需权威的中心化机构干预。矿工的不当行为或未尽义务,主要反映在两个方面:
1)共识失当: 主要是指在区块链的维护中有不当行为
共识失当
当前所设计的共识失当行为主要是指可能危害Filecoin区块链共识的攻击行为。
当一个矿工在一个出块周期内发布两个或以上区块,且满足预期共识所定义的处罚条件时。(严格地说,一个获得出块资格的矿工只能产生一个区块)
当这种情况发生时,任何其他矿工都可以报告,网络通过检验属实后,会罚没涉嫌攻击网络的矿工的所有抵押,并且扣除所有现有算力,因为对网络的攻击行为被视为不可接受的。这基本上是最严重的处罚了。
迟交时空证明(PoSt)
每一个矿工需要在每一个证明周期(Proving Period)内提交证明,否则,就会被罚。这里所说的迟交,不是没交,而是提交时间超过了一个证明周期,但仍然在一个生成攻击阈值(Generation Attack Threshold,超过这个时间,则可能不能鉴别生成攻击)范围内提交了。
在这种情况下,矿工应当知晓自己未在规定的时间内提交证明,此时仍可按照常规提交时空证明(PoSt),但此时要主动附上迟交罚金。
未能提交时空证明(PoSt)
那么,如果情况比迟交更加严重,也就是说,如果一个矿工不仅没有在一个证明周期内提交证明,而其延迟的时间甚至超过了生成攻击阈值。这种情况下,就被视为没有提交时空证明。
在这种情况下,任何其他矿工都可以报告这种情况,网络通过检查属实后,采取严厉的惩罚措施。目前计划的实现是:罚没所有质押物;算力清零。
存储错误
这种情况应该也会比较普遍。这就是说,当一个矿工所存储的数据出现错误时,当然应该接受一定的惩罚。
这种情况需要矿工主动报告丢失(或着说发生错误)的扇区(Sectors)给网络,这可以在时空证明中进行,协议中有定义,包含在“Missing Sectors”字段即可。 作为一个矿工,需要周期性地检测数据,这也是时空证明过程的一部分工作。
网络通过检测矿工提供的证明,验证属实,将根据丢失(错误的)扇区数量来罚没相应的质押物(FIL),同时罚没此矿工相应的算力。
注意,当一个矿工发现磁盘损坏或数据丢失,他/她可以想办法恢复数据,也就是说重新构造时空证明,然后重新向网络申明拥有数据和算力。但是,这是补救措施,本次罚没的抵押物还是没了(否则就为生成攻击打开大门了)。此补救措施的一个好处就是其合约用户可能不追究其责任。
违背合约
如果一个矿工未能按照合约在规定的时间内存储用户数据。比如用户要求存储半年,而矿工存储3月就把数据删了。
这种情况下,用户可以马上报告给网络,附上当初签订的合约,在网络确认属实(即矿工在其证明中不再包含此数据所在扇区)后,将对矿工进行处罚。处罚来自矿工的承诺质押,同时用户的未支付费用将被返还,矿工的相应存储质押将被自然地没收掉。
这里有一点需要注意:在当前正在进行的代码实现中,用户必须在矿工删除数据后一个证明周期(Proving Period)内向网络提出报告。
2)存储市场失当:主要是指未能或未及时提供存储证明,或未能旅行与用户的合约。
Filecoin网络首先是一个存储网络,在这个网络中,首先需要维护的是一个有价值的去中心化的通用存储系统。矿工首先必须能够提供有价值的数据存储和检索服务,才能真正获得收益。
本文素材来自ipfsmain。