互联网正处在一场革命当中,中心化的专用服务正在被去中心化的开放式服务所替代,未来的开放式互联网将会形成一个没有中心化管理的去中心化网络,更好的服务于人类。
IPFS(Inter-Planetary File System)是一个点对点(p2p)文件共享系统,是由Protocol Labs 创建的一个开放源代码项目,作为点对点(p2p)文件共享系统,旨在从根本上改变信息在全球及全球范围内分发的方式。其中Filecoin 是一个将云存储转变为一个算法市场的去中心化存储网络,矿工通过提供数据存储和检索来获得Filecoin(FIL),而客户通过付费使得矿工提供存储,分发和检索数据。目前全球IPFS 项目逐渐增加,数据存储市场的需求也在逐步加大,这就意味着Filecoin 作为激励层,成为市场为IPFS 保驾护航的迫切需求。
根据Filecoin的发行机制,Filecoin的总量恒定为20亿枚,其中5%即1亿枚是分配给基金会的,按6年线性释放;10%即2亿枚是分配给投资人,按6-36个月不等进行线性释放;15%即3亿枚分配给协议实验室团队,按6年线性释放;剩下70%即14亿枚分配给矿工,以区块奖励的方式线性释放。
北京时间北京时间2020年10月15日,历经三年时间,IPFS&Filecoin终于迎来了主网的上线!这一期待已久的高光时刻也迎来了全球交易所的热捧——纷纷投出橄榄枝,抢先上线Filecoin。IPFS&Filecoin的主网上线,成为了具有里程碑意义的时刻。
一、Filecoin挖矿原理及流程
Filecoin 挖矿就是帮用户存储数据来获取奖励的过程。整个 Filecoin 挖矿可以分为数据封存和共识证明两个过程。
Filecoin 架构包括三部分,分别是存储市场、FIL 区块链和检索市场。相对应的矿工类型有存储矿工和检索矿工,后续可能还会出现修复矿工。顾名思义,存储矿工主要负责存储文件,同时维护FIL 的区块链,相应地存储矿工的收益也包括存储手续费、区块奖励以及交易费三部分。检索矿工主要的任务是检索数据,其获得的收益为检索费用。
存储过程
图1 存储过程
检索过程
图2 检索过程
区块奖励
图3 区块奖励
Filecoin挖矿步骤可以简单拆分为worker和miner两个步骤。worker就是负责计算,将原始数据通过SDR算法进行数学计算,然后再将计算好的数据封装到硬盘的扇区中,并提交上链生成复制证明,矿工就获得了算力,这个过程需要消耗大量的CPU、内存和GPU资源。然后Filecoin网络再根据矿工所持有的算力分配区块打包的权利(也就是区块打包票选权),算力越大、赢票率越高,矿工在参与区块打包的时候需要重复提交时空证明,完成了时空证明的节点就可以获得区块打包的奖励。
图4 Filecoin挖矿流程
二、Filecoin的数据封存
数据封存阶段主要涉及Precommit 1,Precommit 2,Commit 1,Commit 2四个小阶段。简称P1、P2、C1、C2阶段;
1)Precommit1 阶段(下文简称 P1 阶段):
系统会把用户需要存储的文件分成一个个大小为 32GB 的 sector(块),P1 阶段就是矿工先对sector 进行进一步的拆分,然后再按顺序进行存储,中间需要进行 11 层计算,且无法并行计算;在该阶段,通过大容量内存的方式,就有可能同时存储多个sector,并通过软件优化存储一个sector占用的内存的大小来提高P1阶段的速度;
2)Precommit2 阶段(下文简称 P2 阶段):
P2 阶段即就是计算 Column Hash 以及生成 Replica,并构造相应的 Merkle 树,相当于解题并做出答案的过程。该阶段可以采用 GPU 加速。
3)Commit1 阶段(下文简称 C1 阶段):
C1 阶段主要是为 Sector 证明准备所需要的数据。这个时间很短,一般在一分钟以内。
4)Commit2 阶段(下文简称 C2 阶段):
C2 阶段是零知识证明的数据处理以及生成零知识证明的过程。相当于确认答案是否正确的阶段。该阶段可以采用 GPU 加速。
三、Filecoin的共识机制
和比特币一样,在每一轮的出块权竞争上,全体存储矿工根据自己的存储算力来竞争区块链的出块权。本轮胜出的矿工进行出块并全网广播,其他矿工验证并接受结果。
在这个流程里面,Filecoin协议的关键是“算力”的定义和证明,“算力”即矿工的贡献度量(比特币协议是根据矿工贡献的计算量大小来度量的,即PoW机制)。为了不“浪费”资源,和实体经济完美结合,Filecoin协议规定,谁存储的有效数据越多,即谁的算力就越大。
如何判断谁存储的有效数据多呢?Filecoin中的两个重要的证明机制了:复制证明和时空证明。
复制证明
简单理解即矿工要证明自己,自己确实保存了用户要求存储的数据。
时空证明
时空证明,简单理解就是:作为矿工,我需要能够长时间帮客户保存一份文件。如何证明我确实存了这份文件这么长时间,这就是时空证明的关键所在。
时空证明就是矿工要证明自己确实一直是保存了用户要求存储的数据的。
四、Filecoin矿池构成
Filecoin矿池的硬件配置一般会将计算和存储分离,分别搭建计算集群、存储集群,和加速集群(零知识证明)。
计算集群:矿工获取算力的过程主要是靠CPU、GPU以及内存的性能,也就是矿池的计算集群的性能。
加速集群:矿工在参与区块打包的时候需要重复提交时空证明,完成了时空证明的节点就可以获得区块打包的奖励
图5 计算、加速集群架构
存储集群:根据客户所购买的存储容量占矿池总存储服务器的数量(承诺容量)来按比例进行分配收益。
图6 存储集群架构
五、新华三IPFS&Filecoin解决方案
新华三集团利用自身在ICT领域的强大优势,推出了IPFS场景下的计算存储解决方案,并已成功帮助多个客户完成了算力的提升和性能的优化,为IPFS&Filecoin项目的发展贡献了自己的力量。
整体架构如下图所示:
图7 整体架构设计
采用静态路由或者BGP与IDC服务商对接
部署防火墙进行安全保护
核心交换区:
采用高可靠的框式交换机(双主控、冗余电源、冗余交换网板)
支持大缓存及VOQ机制,防止出现网络拥塞而导致的丢包
业务接入区:
服务器万兆接入
计算集群4*40G上联,收敛比1:3
存储集群4*100G上联,收敛比1:1
加速集群4*40G上联,收敛比1:3
计算和加速集群推荐选择ADM平台。
在IPFS&Filecoin的数据封存SDR算法中存在大量SHA256计算,而AMD CPU支持SHA指令集,比Intel产品有天然优势。
在测试AMD Rome平台后发现,功耗、内存带宽、核心数量、核心工作频率比较均衡,同时发现AMD CPU的SHA算力远远超过Intel平台。
综合性价比来看,当前 IPFS 业内都是以Rome平台为基准算力平台。
图8 AMD EPYC ROME CPU规格
新华三的H3C UniServer R4950 G3服务器是基于AMD EPYCTM (第一代和第二代)处理器的新一代机架式服务器,2U高度,支持双路CPU,具有业界最多内核的AMD CPU和内存扩展能力,是IPFS&Filecoin矿机的较好选择。
图9 H3C UniServer R4950 G3服务器
在存储集群中,推荐使用H3C完全自主研发的新一代全对称的分布式存储系统H3C UniStor X10000 G3。同时支持块、文件、对象与大数据存储能力,最大支持2048个节点的横向扩展,单一命名空间支持EB级容量,系统的性能和容量随节点数增加呈线性增长。采用全分布式融合架构,为存储系统的高性能、高扩展、安全可靠、自动化运维提供了有力保证。
在IPFS&Filecoin的存储集群设计中,X10000 G3具备以下优势:
融合架构:提供块、文件、对象与大数据的统一资源池,在单一命名空间下支撑EB级数据存储。
高扩展:具有横向扩展能力,在容量不断扩展的同时,性能随节点数增多而线性增加,随时管理动态的业务需求,响应业务变化。
高可靠:针对PB/EB级数据提供更高效、快速的保护和恢复能力,集群会自动将数据分布在不同的存储单元上,并引入副本/纠删码等机制,保证用户数据的完整性和业务可用性。
易管理:提供方便易用的管理、监控界面,高度自动化和简化的IT操作,简化存储集群的部署和运维,支撑用户管理PB/EB级数据。
六、总结
Web3.0是互联网革命的一种结果,这个结果包括从IT走向DT,信息与价值结合带来网络的颠覆和真正应用的去中心化、去信任化。
IPFS/Filecoin基于文件内容Hash的唯一性,节约网络空间的消耗和运维成本。将文件以碎片形式存在于多个节点之上,并行处理传输提速,属Web3.0互联网基础建设,以解决信息爆炸,带来信息的自由流动,实现数据验证与存储(版权保护、信息溯源等)一体化,理论上支持信息的永久可访问。
这些需求是整个互联网和网民们的需求,对于Filecoin而言持续激励是一个循序实现目标的手段。
Filecoin生态从短期看是一个存量生态,它基于20亿枚FIL的价值流通;从长期看由于AI、大数据、5G等高新技术的快速发展和急需落地,迸发数据存储场景的刚需指数级增长,附带关联产业的价值输送,可以预见的是Filecoin主网上线后创造的财富为亿万级(RMB),Filecoin不是封闭的生态,其自身无法完成如此宏大的目标,这可能需要10年、20年甚至50年,但这是一个正确的方向,这是潜在的能量。