filecoin维基
一、入门篇
1、Filecoin项目介绍
1.1 Filecoin的商业背景
随着计算机技术的不断发展,越来越多的数据被生产出来,据统计,每年新生成的数据正以几何级数增长。且随着未来物联网技术和5G技术的不断普及,数据的生产速度还将加快。因此,数据的存储和传输很可能成为制约技术发展的瓶颈,Filecoin技术方案就是为了解决数据的存储和传输问题。 2017年,Filecoin项目在1小时内就募集到了1.86亿美元,最终总计募集到2.57亿美元,是区块链历史上最大规模的融资之一。值得一提的是,Filecoin此次得到了红杉资本、文克莱沃斯资本等多个知名机构的投资。 Filecoin旨在基于P2P网络提供两个交易市场——数据存储市场和数据检索市场,来撮合不同用户对数据存储和检索的需求。直白来说,在存储市场,有存储资源的用户可以贡献自己的存储资源,给有存储需求的用户提供存储服务,双方通过Filecoin代币进行交易结算;而在检索市场,有带宽资源的用户可以提供对Filecoin市场的数据检索下载服务,同样交易双方以Filecoin代币进行交易结算。 可见,Filecoin通过通证经济,激励更多的人拿出自己闲散的机器资源,通过完全对等的网络架构提供高效的数据存储与检索服务,降低数据的存储和使用成本。且这是一个去中心化的体系结构,这意味着数据不会被中心化机构所控制,数据的隐私也可以相应得到较好的保护。 矿业今年最大机会Filecoin如何入场?
分布式云存储时代的到来
Filecoin是基于区块链机制的分布式存储网络。 Filecoin矿工可以选择为网络提供存储容量空间,从通过定期产生其正在提供指定存储容量的加密证明来获得Filecoin加密货币(FIL)奖励。此外,Filecoin使各方能够通过Filecoin区块链上的共享账本中记录的交易来交换FIL货币。 相较于使用Nakamoto风格的工作证明来维持对链的共识,Filecoin使用的是存储证明本身:矿工在共识协议中的挖矿功率与其所提供的有效存储量成正比。 What is Filecoin? Why Filecoin?
1.2 Filecoin&IPFS
Filecoin和点对点分布式网络协议IPFS相结合,为IPFS添加了激励性的永久的存储。IPFS并不是区块链项目。它是一种解决数据分发和定位的协议,与现在的HTTP协议类似。不同的是IPFS的数据传输是基于点对点的P2P网络,参与数据传输的节点越多,那么传输效率越快,这和我们常见通过的种子下载文件类似。现在的IPFS网络中的数据存储是全凭自愿的,热门的资源可能会在多个节点中存储,而一些没有访问的数据可能就会被系统在不久后作为缓存清出。Filecoin主网上线后IPFS用户可以直接可靠地存储其数据在Filecoin上,从而为网络打开了众多应用程序和落地场景的大门。形成一个不需受企业控制,更加高效且安全的网络。 Filecoin网络将允许任何人成为存储提供商并以为业务竞争的方式来实现规模经济,具有强大竞争力的存储价格,可根据需求在备份、检索速度和成本上的需求调整策略,内容寻址和加密存储证明可确保数据在长久的时间范围内被安全、正确地存储,无需妥协的灵活性和规模化,确保存储的数据长时间内持续可用且不会被更改。Filecoin网络将拥有大量存储提供者和开发者,从而造就强大且不断改进的服务和生态系统。
对所有人可见且公平的存储市场
Filecoin创造了一个对空余存储空间加以利用的激励市场。通过增加供给,我们能够以更低的价格满足不断增长的需求。 Filecoin将降低存储提供者的入门门槛并将云存储变成商品。这就使新的市场进入者可以轻松地与原有参与者竞争。 存储提供者会为了您的需求进行激烈竞争,以最优价格存储您的数据并提供灵活的选择。 而这一切都是在透明的全球市场上完成的。 IPFS and Filecoin
深度 | 算法、算力、存储三大驱动,Filecoin集成部署提升全网存储算力
2、Filecoin经济模型
Filecoin最新经济模型改动将对矿工产生什么样的影响?币圈李白解读」
独家解读 | 听说Filecoin官方硬盘挖矿10倍算力加成?新测试网有百万奖励?
3、FIL代币释放规则
Filecoin代币总量是20亿枚,其中Protocal Labs团队持有15%,即3亿枚,按6年线性释放,这主要是用于项目研发、市场营销等;基金会持有5%,即1亿枚,按6年线性释放;私募轮及ICO出售的10%,即2亿枚,分6个月、12个月、3年线性释放,锁定期由投资者选择,锁定时间越长,销售价格越低;挖矿释放70%,即14亿枚,将分配给Filecoin的矿工作为挖矿奖励,以维持系统的运行和稳定,第一年释放1.53亿枚,线性释放,每6年减半,且第一个6年占比一半,到第七个6年总共可释放挖出99%的FIL,42年后FIL将接近被挖完。 每周递减、6年减半,上线之后的六年内大约释放7亿枚。预估IPFS/Filecoin主网上线第一年FIL释放情况,第一年起挖矿所得FIL币释放量大约为44万枚/天,第六年年末释放量大约为20万枚/天。Filecoin 的区块奖励仿照元素半衰期设定,每一轮区块释放的币量相比上一轮都是递减的,直到 6 年过去完成减半。 总结一下,分配给矿工的代币数占了绝大部分,且给团队和基金会的代币都有6年的锁定期,分配分布充分考虑了对矿工和持币用户的激励,这些设计都将大大地提升用户对系统的信心。
4、共识机制
Filecoin 白皮书 6.2.3.使用功率达成共识
我们通过扩展现有的(和未来的)权益证明共识协议来预见实施 Filecoin共识的多种策略,其中权益被指定的存储所替换。但是我们预见了权益证明协议的改进,所以我们 我们提出了一项基于我们之前的工作的架构,称为预期共识。我们的策略是在每轮选出一名(或多名)矿工,这样赢得选举的概率和每一个矿工所被分配的存储成正比。
**预期共识**:预期共识EC的基础在于在每个纪元确定地、不可预测地并且秘密地选举小部分领袖。我们的期望是每个纪元都只选出1个领袖,但一些纪元内可能会出现0个或者多个领袖。领袖通过创建一个区块并将其传播到网络的方式来拓展区块链条,在每一个纪元,区块链将被延伸一个或多个区块。在没有领袖的纪元里,一个空的区块将被添加到区块链中。虽然区块链中的区块可以线性排序,但它的数据结构是一个有向无环图。EC是一个概率共识,每个纪元都比前面的区块更加确定,最终因为不同历史可能性足够小的缘故达到足够的确定性。如果绝大部分的参与者通过扩展链或签名区块的方式将他们的权重添加到区块所属的链上,那么这个区块就被确定了。
选举矿工:在每一个纪元,每个矿工都会检查它们是否当选为领袖,这与先前的协议类地完成:CoA, Snow White, Algorand。 Filecoin的共识协议策略是Expected Consensus (预期共识),在每一轮里面选举出来一名或者多名矿工来创建新的block,矿工赢得选举的可能性跟矿工当前的有效存储成比例。Filecoin把矿工在网络中的当前存储数据相对于整个网络的存储比例转化为矿工投票权(voting power of the miner),Filecoin有抵押机制,强制参与者选择一条链,通过巧妙地结合抵押机制,对于同时挖多个链的矿工进行惩罚,这样可以非常快速地促进收敛。预期共识的实现非常简单,它不需要交互,节点自己可以计算是否自己成为领导人,而且公布之后他人可以十分方便地验证。 Filecoin 挖矿基于存储能力共识: 在网络上拥有更多功能 (经过验证的存储)与赢得更多区块奖励直接相关。 矿工在网络上的电量与矿工在网络上存储的数量成线性关系,而不是与矿机运行的 GPU 数量成线性关系。相比之下,在工作量证明 GPU 挖掘中,矿工必须以 GPU 的能力进行竞争才能赢得区块奖励。在Filecoin挖矿中,矿工在存储能力共识而非 GPU 能力上竞争。矿工只有在赢得选举票时才在 ElectionPoSt 中使用 GPU。赢得权力的最佳和最便宜的方法是向 Filecoin 网络添加更多有用的存储。
5、落地场景
Filecoin致力服务于公共数据集、私人数据、网站、视频、dapp网站、广播数据、安全存档、合同数据、个人文件、应用程序数据、企业文件等。
当前Filecoin已落地场景:
Filecoin网络为档案管理员、科学家和其他云服务和数据专家协助数据的备份和分发,将成为重要公共数据的基础,如可公开访问的科学数据、创新大众媒体、历史档案和存档等等, 已经存储在Filecoin网络上的具有文化意义的数据: 维基百科 是多语种的、基于网络的免费百科全书,每月浏览量超过200亿次。每天,来自世界各地的成千上万的访问者会进行数以千计的编辑、创建上千文章来丰富维基百科全书的知识内容。整个维基百科的数据库存储在Filecoin网络上,既有利于扩大维基百科的覆盖,又可验证这些宝贵的公共数据是否可以自由访问。 OpenStreetMap 是由一群地图绘制人员构建的,他们贡献并且维护有关世界各地的道路,步道,咖啡馆,火车站等的数据。 贡献者包括发烧友地图绘制人员,地理信息系统专业人员,运行OSM服务器的工程师,绘制受灾地区的人道主义人员等等。 Filecoin网络将存储完整OSM数据集的副本,从而有助于地图的保存和分发。 GnomAD(Genome Aggregation Database) 是一个研究者联盟,旨在聚集和协调来自各种大规模测序项目的外显子组和基因组测序数据,并为更广泛的科学界群体提供摘要数据。 Filecoin网络将存储v3短变异数据集的副本,该副本包括来自不相关个体的71,702个基因组,这些基因测序是各种疾病特异性和群体遗传研究的一部分。 Project Gutenberg 古腾堡计划是世界上最古老的数字图书馆,拥有超过6万本免费电子书。数千名志愿者对电子书进行了数字化和校对工作,平均每周增加50本新书。现在Filecoin为古腾堡的书库提供可靠的托管服务,确保世界上的许多伟大文献可以获得强有力的保存来供所有人使用。 OpenAQ 是世界上第一个开放的,实时的并包括历史记录的空气质量平台,汇总并提供来自多个来源的政府测量和研究级数据。Filecoin网络将致力于发展OpenAQ的使命,使所有人都能访问此数据,努力为所有人提供洁净的空气。 Filecoin Discover 该项目旨在帮助Filecoin成为全人类最重要的数据集来源,并且其他人可以访问数据来扩大我们人类的知识库以促成新的灵感与想法。
未来Filecoin使用场景:
云存储市场 Filecoin将创建一个功能强大的分布式动态云存储服务平台,预计市场规模到2021年将达到750亿美元。 · 人类数据 - 将存储至关重要的公共数据,例如百科全书、公开的科学论文、知识共享数据集、历史存档及文学作品 · 数据交易 - 用户可以在网络上出售数据从而促进数据交易和市场的发展 · 价值存储 - Filecoin是分布式的、价值存储工具,并由真正的应用-云存储服务支撑 · 时间戳 - 通过在长时间内存储大量数据的功能,Filecoin可提供最终时间戳服务。 · 支付 - Filecoin代币可以用于产品或服务的支付以及用户间的转账 算法CDN Filecoin通过其激励性、自动化规模和全球CDN优化来内容传递,预计市场规模到2021年将达到230亿美元。 分布式 新的市场是分布式且无需信任的。它有助于避免依靠受信任的各方,或者被保存您数据的供应商将您绑定。 算法存储市场 新的市场通过鼓励所有存储空间提供者的竞争来降低存储价格,包括新进入者带来的潜在线上存储。 智能合约存储 新的市场将用于托管、拍卖、保险、游戏、金融机构等等的自动且安全的存储。 Filecoin compared to…
6、常见名词
原值算力:矿工的sector原始值算力,比如矿工在网络中证明了存储1T的字节空间,则它的原值算力就是1T。 有效算力:根据矿工存储数据的质量调整后产生一个值,而这个值将作为网络中获得爆块奖励的依据,称为有效算力。原值算力就是原本大家看到的算力,而有效算力,能看出矿工是否接入有效存储;有效存储越多,有效算力越大(与订单大小、订单时长有关)。 每区块奖励:指当前高度下的区块奖励,每个高度下可能有多个区块,每个区块均可获得该笔奖励。 平均出块时间:平均每生成的一个高度所使用的时间,当前平均为 25 秒。 FIL质押量:矿工参与挖矿所需要质押的FIL资金。 平均出块率:表示一小时内,矿工参与打包区块的概率。
二、挖矿篇
Filecoin要如何挖矿
Filecoin测试网络Lotus已经发布了,按照官方的说法,Lotus是Filecoin的一个实验性的实现,和主网的go-Filecoin代码相互独立。但是Lotus也实现了钱包、矿工、PoRep、PoSt等一系列功能,更直白地说,Lotus是Filecoin的试验性产品,而go-Filecoin才是最后主网的完整实现。
1、矿机硬件
Filecoin官方
安装Filecoin
Protocol Labs 的标准硬件测试配置
6 Block
6Block石榴矿池: Filecoin矿机售卖方案再更新,李白现场讲解矿机猫腻,拆解定价逻辑!
李白直播:"币圈李白”现场计算Filecoin挖矿成本与收益,一台矿机也能参与!
李白直播:石榴矿池核心开发者‘币圈李白’现场直播Filecoin硬件选型对比评测
Filecoin前十矿池公布硬件方案,5万一台的矿机都是什么配置?
2、挖矿配置
Filecoin官方
Filecoin Testnet Mining 测试网挖矿
6 Block
上榜矿工在线答疑,6Block首次公开Filecoin挖矿集群架构(一)
上榜矿工在线答疑,6Block首次公开Filecoin挖矿集群架构(二)
石榴矿池在Filecoin最新测试网实现单扇区2小时封装,总存力排名第3
石榴矿池公布1TB内存Filecoin矿机,实现单扇区50分钟封装!
石榴矿池社区版挖矿软件发布更新,并且获Filecoin官方致谢
3、常用指令等
4、常见问题
Filecoin官方
* 2020年6月Filecoin路线图更新
* 2020年6月Filecoin矿工社区通话会议Q&A
* 2020年5月Filecoin矿工社区线上会议Q&A
* May Q & A Thank You and Summary
* March Q & A Thank You and Summary
6 块
AMA实录 | 6Block究竟为Filecoin挖矿提供了什么?
AMA实录 | Filecoin一再跳票,技术难点究竟在哪?
6Block协助Trapdoor团队发现Filecoin PoREP严重漏洞
「李白直播」 6Block发现Filecoin多个Bug,受邀加入Filecoin安全小组(FSRF)
直播视频
“币圈李白” 全球首次关于Filecoin矿池的技术分享 “
币圈李白”Filecoin矿机怎么选?Filecoin技术分享
6Block 首次公开Filecoin挖矿集群架构!上榜矿工在线答疑
6Block 上榜矿工深入解读Filecoin官方硬盘和二阶段测试网
6Block 解读Filecoin最新经济模型改动对矿工的影响
三、开发篇
1、账户类型
类型 | 说明 | 系统地址 (以测试网地址为例) |
---|---|---|
帐户 | 普通账户 | t099, 接受销毁代币 |
定时任务 | 执行定时任务 | t03, 仅限系统地址 |
在里面 | 创建特殊账户类型 | t01, 仅限系统地址 |
多重签名 | 多重签名 | |
支付渠道 | 支付通道 | |
报酬 | 发放区块奖励 | t02, 仅限系统地址 |
存储市场 | t05, 仅限系统地址 | |
存储矿工 | 矿工 | |
存储电源 | t04, 仅限系统地址 | |
系统 | 系统消息的调用方 | t00, 仅限系统地址 |
已验证的注册表 | t06, 仅限系统地址 |
注:普通账户分为 secp256k1 和 bls 两种类型,前者地址以 t1 开头,后者以 t3 开头;两者都有一个对应的 t0 开头的 ID 地址。其余账户类型除系统账户外,默认地址都是以 t0 开头的 ID 地址,并且都有对应的 t2 开头的地址。
2、消息类型
消息各参数含义:
类型 | 说明 |
---|---|
版本 | 版本号 |
到 | 接收方 |
从 | 发送方 |
随机数 | |
价值 | 金额 |
天然气价格 | gas 价格 |
气体限制 | gas 最大使用量 |
方法 | 消息类型 |
参数 | 调用参数 |
消息执行结果:
类型 | 说明 | 消息执行结果 |
---|---|---|
退出代码 | 状态码 | 0 表示成功 |
返回 | 返回值 | |
使用气体 | gas 使用量 | |
错误 | 错误信息 | 需要通过 StateReplay RPC 获取,无法实时同步 |
内部执行 | 内部消息,例如 CreateMiner 会调用 Exec |
常用消息开发说明文档
好消息
发送
普通转账,将金额 Value 从 From 转移到 To。
调用参数
任意字节串
返回值
无
Constructor (系统调用)
创建账户时调用的构造函数。
Cron 消息
EpochTick (系统调用,定时任务)
触发当前高度定时任务。
Init 消息
执行
创建特殊类型的账户,例如 Multisig, PaymentChannel 等,创建成功后将金额 Value 转移至新创建的账户。
调用参数
CodeCID 所创建账户类型的 CID 格式; ConstructorParams 创建账户的 Constructor 消息参数。
返回值
IDAddress 新创建账户的 ID 格式地址,地址前缀 t0; RobustAddress 新创建账户的 Hash 格式地址,该格式不会被分叉影响。地址前缀 t2。
Reward 消息
AwardBlockReward (系统调用)
发送区块奖励。*Penalty* 会被销毁。
调用参数
Miner 挖出区块的矿工; Penalty 矿工打包 异常交易 的惩罚;(大多数情况不会有 Penalty) GasReward 所有交易的 gas 费用。
返回值
无
LastPerEpochReward (系统调用)
计算当前高度的区块奖励总和 (= 5 * 每个区块的奖励)。
调用参数
无
返回值
奖励数值
UpdateNetworkKPI (系统调用,定时任务)
更新全网算力、奖励等参数。
StorageMiner 消息
ControlAddresses (系统调用)
获取矿工 Owner 和 Worker 地址。
调用参数
无
返回值
Owner Owner 地址; Worker Worker 地址。
更改工人地址
修改矿工 Worker。
调用参数
NewWorker 新的 Worker。
返回值
无
更改对等 ID
修改矿工 PeerID。
调用参数
NEWID的的的peerID。
返回值
无
SubmitWindowedPoSt (TODO)
矿工提交抽查信息。
调用参数
已 跳过截止日期分区 证明
返回值
无
预提交扇区 (ALL)
矿工提交 PreCommit 信息。
调用参数
RegisteredProof SectorNumber Sector 序号; SealedCID SealedRandEpoch DealIDs Expiration Sector 过期时间。
返回值
无
ProveCommitSector (TODO)
矿工提交 ProveCommit 信息。
调用参数
SectorNumber Sector 序号; Proof
返回值
无
提取余额
将矿工地址内的余额提取至 Owner 地址,提取的金额为 AmountRequested 与 AvailableBalance 的较小值,具体金额可在 InternalExecutions 中获取。
调用参数
AmountRequested 希望提取的金额。
返回值
无
ChangeMultiaddrs (TODO)
修改矿工 multiaddress。
调用参数
NewMultiAddrs 新的 multiaddress 列表。
返回值
无
StoragePower 消息
创建矿工
内部调用 Exec 创建矿工账户,创建成功后将金额 Value 转移至矿工账户。
调用参数
Owner 矿工的拥有者,管钱; Worker 负责挖矿计算的地址; SealProofType 表示矿工的扇区大小等信息; Peer 矿工的 PeerID。 Multiaddrs 矿工的 multiaddress 列表,可以用来连接矿工节点。
返回值
IDAddress 新创建账户的 ID 格式地址,地址前缀 t0; RobustAddress 新创建账户的 Hash 格式地址,该格式不会被分叉影响。地址前缀 t2。
DeleteMiner (代码未实现)
删除矿工账户,创建成功后会将金额 Value 转移至矿工账户。只有当矿工没有算力时才能删除,矿工余额会被销毁。
调用参数
Miner 矿工地址。
返回值
无
转载出处:https://filfox.info/en/wiki/0