浅谈Filecoin(一)
最近大家还是比较关心Filecoin,因为官方有些关于Filecoin的问题还未得到更好的解决方案,导致主网上线的时间迟迟没有消息,那协议实验室也给出了研究资助计划来寻求更好的解决方案等。那最近小编就写一点关于Filecoin和挖矿的一些内容,干货比较多,文章会分很多期,第一期我们先从Filecoin共识说起。
一、共识机制
因为第一个比特币称为“创始区块”,因为介绍主流机制的太多了,那我们就先简单介绍一下,更多的说说Filecoin的共识,比特币网络是完全公开化的,任何人都可以匿名接入,因此共识机制的稳定性和防攻击性十分重要,常见的共识机制如:
1、POW(Proof-of-Work)即工作量证明,整个系统中每个节点为整个系统提供计算能力,通过一个竞争机制,让计算工作完成最出色的节点获得系统的奖励,完成新的分配。
2、POS(Proof-of-Stake)即权益证明,类似现在的股东机制,拥有token数量越多的人越容易获得记账权,恶意参与者将存在保证金被罚没的风险。
3、DPOS(Delegated-Proof-of-Stake)即授权股权证明,基于POS衍生的更专业的解决方案,类似于董事会投票机制,社区成员投票支持超级代表以确保其网络,超级代表将通过验证下一个区块的交易来获得奖励。DPoS与PoS的主要区别在于DPoS共识系统,社区成员在网络中拥有更多的治理权。
二、Filecoin Consensus
因为大量的矿工通过计算来获得奖励,协议实验室认为大量的计算都是有价值的,不仅仅是为了保护区块链的安全,所以如何有效的利用被浪费的计算是Filecoin的主要动机。
一些信的机制正在改变POW的浪费问题,以太坊需要矿工与Proof-of-Work一起执行小型项目,而Permacoin则提供档案通过要求矿工转换哈希函数,同时证明某些数据正在归档。尽管这些尝试中的大多数都能够发挥有用的作用,但浪费的工作量仍然很普遍这些计算中的因素。
所以协议实验室认为大部分的网络资源,应该用在更有用的工作中去,所以着手设计一个基于存储用户数据的有用工作共识协议。
Power in Filecoin(Filecoin功率),类似于比特币中的算力,在Filecoin中,你的存储能力和你的“算力”成正比。Filecoin中功率具有:‘Public‘、’Publicly Verifiable‘、’Vaeiale‘
意思是你的存储总量是公开的,每个人都可以对你的存储任务进行验证,增加你的“算力”的方法是增加你的存储量,就是加硬盘。
接下来我用白皮书里面的一张图示,先大体介绍一下Filecoin协议:
因为有些翻译不是很准确,所以放上原图供大家参考。
我来说下大概的协议:
一、网络(Network)
在分类账本中的每个时期。
(1).对于每个新的区块:检查其是否处于有效格式、交易、订单等是否有效,如果任何一个无效,则被判定为无限订单,只有订单有效才能进入下一步。
(2).对于每个时期引入的每个新订单:将订单添加到存储订单中,然后进行分类,分别为交易、出价和询问。
(3).对交易市场的每个订单需要进行检查是否过期(或取消):
•从订单中删除
•返还未使用的O.fund
•从AllocTable中释放O.space
如果确认交易,通过运Manage.RepairOrders:
•如果失踪,则惩罚矿工M承诺的抵押
•如果缺少多于Δfault的证据时代,取消订单并重新到市场进行广播
•如果无法检索和重建作品
从网络上取消订单
并重新退还给客户
二、客户
(at any time)随时:
1.通过Put.AddOrders提交新的存储订单
(a)通过Put.MatchOrders找到匹配的订单
(b)将文件发送给匹配的矿工M
2.通过Get.AddOrders提交新的检索命令
(a)通过Get.MatchOrders找到匹配的订单
(b)矿工创建一个付款渠道
从存储矿工M接收Odeal
(1).签署Odeal
(2).通过签署的Odeal提交给区块链
Put.AddOrders
在收到(pi)来自检索矿工M:
(1).验证(pi)是有效的,它被要求
(2).发送微支付给矿工
三、Storage mine(存储挖矿)
随时:
(1).通过Manage.PledgeSector续订过期质押
(2).通过Manage.PledgeSector保证新的存储空间
(3).通过Put.AddOrder提交新的询价单
在每个时期t:
(1).对于订单中的每个Oask:
(a)通过Put.MatchOrders找到匹配的订单
(b)通过联系匹配来开始新的交易客户
(2).对于每个承诺部门:
(a)通过生成存储证明
Manage.ProveSector
(b)如果发布证明的时间(每隔Δproof
时代),将其提交给区块链
从客户端接收文件:
1.检查一块是否具有在中指定的尺寸订单出价Obid
2.创建Odeal并签名并发送给客户端
3.将该部分存储在一个扇区中
4.如果扇区已满,请运行Manage.SealSector
四、Retrieval Mine(检索挖矿)
(at any time)随时:
1.广播向网络发出命令
2.听取来自网络的出价订单
来自客户端的检索请求:
1.用客户端启动付款渠道
2.将数据分成多个部分
3.只是发送收到token的那部分文件
我不知道大家是否看的明白,有不明白的地方请告诉小编给予解答,并希望在后面的浅谈Filecoin中能够让大家更好的明白。
这期就先到这里,后面将会更深入的讲解挖矿和Filecoin提出的全新的证明机制,希望大家能多多分享,你的分享会是小编的动力,谢谢。
温馨提示
如果你喜欢本文,请分享到朋友圈,想要获得更多信息,请关注我。
文献参考:Filecoin白皮书(回复白皮书获取)
Filecoin斯坦福大学PPT
代码参考:IPFS GitHub