Filecoin文件币的简介(图示机制)

最近大家还是比较关心Filecoin,因为官方有些关于Filecoin的问题还未得到更好的解决方案,导致主网上线的时间迟迟没有消息,协议实验室也给出了研究资助计划来寻求更好的解决方案等。我们今天先从Filecoin共识说起。

Filecoin白皮书下载地址:https://filecoin.io/filecoin.pdf

一、共识机制

因为第一个比特币称为“创始区块”,因为介绍主流机制的太多了,那我们就先简单介绍一下,更多的说说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协议:

原图

Filecoin文件币的简介(图示机制)

翻译版

Filecoin文件币的简介(图示机制)

三、协议概览

1、网络(Network)

  • 在分类账本中的每个时期:
  • (1).对于每个新的区块:检查其是否处于有效格式、交易、订单等是否有效,如果任何一个无效,则被判定为无限订单,只有订单有效才能进入下一步。
  • (2).对于每个时期引入的每个新订单:将订单添加到存储订单中,然后进行分类,分别为交易、出价和询问。
  • (3).对交易市场的每个订单需要进行检查是否过期(或取消):•从订单中删除
  • •返还未使用的O.fund
  • •从AllocTable中释放O.space
  • 如果确认交易,通过运Manage.RepairOrders:
  • •如果失踪,则惩罚矿工M承诺的抵押
  • •如果缺少多于Δfault的证据时代,取消订单并重新到市场进行广播
  • •如果无法检索和重建作品,从网络上取消订单并重新退还给客户

2、客户

(at any time)随时,也就是使用本系统的任何时候:

  • 通过Put.AddOrders提交新的存储订单
  • (1)通过Put.MatchOrders找到匹配的订单
  • (2)将文件发送给匹配的矿工M
  • 通过Get.AddOrders提交新的检索命令
  • (1)通过Get.MatchOrders找到匹配的订单
  • (2)矿工创建一个付款渠道
  • 从存储矿工M接收Odeal
  • (1).签署Odeal
  • (2).通过签署的Odeal提交给区块链 Put.AddOrders
  • 在收到(pi)来自检索矿工M:
  • (1).验证(pi)是有效的,它被要求
  • (2).发送微支付给矿工

3、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

4、Retrieval Mine(检索挖矿)

  • (at any time)随时:
  • (1)广播向网络发出命令
  • (2)听取来自网络的出价订单
  • 来自客户端的检索请求:
  • (1)用客户端启动付款渠道
  • (2)将数据分成多个部分
  • (3)只是发送收到token的那部分文件

参考:

币圈豆瓣酱(简书):https://www.jianshu.com/p/4bc323eb5f73


分享到:


相關文章: