IPFS
IPFS是做什么的
IPFS(IPFS Powers the Distributed Web) 是一个文件分布协议, 类似于http协议. 通过IPFS协议, 我们可以快速的把文件上传到分布式的网络中, 并且可以在任何地方就下载下来.(类比: 一个不需要用户名信息的网盘)
譬如, 通过IPFS的客户端, 我们可以很容易的上传文件
上传文件之后, 可以得到一个一个ipfs的url, 譬如:链接 通过浏览器, 即可下载这个文件内容
从这个链接来看, 下载速度还可以. 能达到600K. 有很多url(譬如这个 链接 , 完全无法下载.(原因未知)
IPFS是谁做的
IPFS主要创始人是胡安, (Juan Benet), 是斯坦佛计算机系的本科+硕士(why not doctor?), 是一个多次创业者, 据说在2010开始, 就在Loki公司做CTO. 2014年开始, 创办了ProtocolLabs. 从这个IPFS—协议实验室团队成员最全介绍!_IPFS_Filecoin新闻_比特巴和 The IPFS Team 页面上看, Protocol Labs的成员都非常不错.
IPFS工作原理
IPFS的文件是分布式存储的. 每个文件被切分成多个Block, 每个Block通过hash找到唯一的ID, 分别存储在不同的网络节点上. 这一点和BT非常类似. IPFS网络中每个节点, 都可以下载数据, 也可以上传数据. 人人为我我为人人.
- 内容寻址: 使用hash ID来唯一识别一个数据块的内容
- 防篡改: 可以方便的检查哈希值来确认数据是否被篡改
- 去重: 由于内容相同的数据块哈希是相同的,可以很容去掉重复的数据,节省存储空间
以下内容不感兴趣可以跳过. 当用户希望通过IPFS获取文件时,只需要根据merkledag, 按图索骥,根据每个block的ID, 通过KAD算法从相应网络节点中下载block数据, 最后验证是否数据完整, 完成拼接即可。 下图这是一个协议的架构
这篇文章写的不错: 从数据的角度带你深入了解IPFS - 知乎
IPFS发展历程
- 2014年, Juan 创建了Protocol Labs, 开始做IPFS, 加入了Y创投营
- 2015年, IPFS第一个项目上线. Neocities: Create your own free website!是第一个正式使用了IPFS的网站.(使用了IPFS DNS)
- 2016年, 孵化了Multiformats, Libp2p, IPLD 这些社区, 基于IPFS的P2P匿名交易网站OpenBazaar上线.
- 2017年, Filecoin 的ICO
- 2019年, IPFS 世界上IPFS节点数到了300多个. 和netfix达成合作.(有点吹牛逼的嫌疑)
- 2020年, 有更多的云计算服务支持IPFS. Filecoin 在2020年启动, 更加增加了IPFS的存储量.
IPFS现在(2020-12)是什么阶段
IPFS是一个底层协议, 类似于BT协议. 这个协议发展了5-6年, 相对比较成熟. 但是, 我目前查不到有多少数据托管在IPFS协议里, 可以查到的是
- Cloudflare提供了IPFS加速的服务
- 微软的Mircrosoft ION使用了IPFS网络的用户认证服务.(Microsoft ION)
- Opera浏览器也支持ipfs:// 协议
总体来说, 优点
- IPFS有一定的使用价值, 并且解决市面上的中心化存储的问题, 有一定现实意义.
- Protocol Lab里的人, 还算比较厉害, 并且能坚持3-5年. 下图是一个流传很久的IPFS技术应用大全
缺点
- IPFS速度不快, 不是特别好用, 不如现有的http
- 缺少杀手级的应用
FILECOIN
FILECOIN是什么
Filecoin 构建于IPFS之上, 是一个激励层. 有了Filcoin后, 可以激励矿工能够长期/有效的保存文件.
用户如果想要保存自己的文件, 就需要给提供存储的“矿工”支付Filcoin. 相应的, 提供存储的矿工能得到奖励. 具体的金额, 不是由Filcoin官方决定的, 而是在整个公开市场中, 竞价形成.
FILECOIN 工作原理
FilECoin 网络
网络是由Filecoin 节点组织而成的P2P网络, 网络通过安全通道进行协商, 交换数据.
Filecoin Node
Filecoin Node 同步Filecoin 区块链, 并且验证每一个block的消息是否合法. 同时, Node可以管理Filecoin 钱包, 并接受FIL.
同时Filecoin Node也能转发网络中的各种消息. Filecoin Node需要24/7运行. Lotus | Filecoin Docs 是目前最先进的Node
Filecoin 矿工
矿工在整个网络中执行不同类型的Deal, 并且把打包形成的block, 链接到Filecoin 区块链上, 并获得奖励. 每30s一个新的块.
在Filecoin网络中, 当一个矿工是高技术含量的工作. 需要很好的硬件来做各种验证. https://docs.filecoin.io/mine/lotus/ Lotus Miner是目前最好的Miner软件.
Deal
有两种Deal, 1. 存储deal, 2. 获取文件的deal. 由client 和 矿工来协商达成的协议, 就是存储Deal. 如果达成deal, client就发送数据给矿工, 并且矿工会一直向Filecoin网络发送证明, 证明他一直在存储这个文件, Filecoin网络就会不停的给矿工发FIL作为奖励. 如果矿工把文件弄丢了, 或者没有存储文件了, 就会被惩罚FIL.
获取文件的deal就比较简单, 由客户端发送信息给retrive miner(可能是storage miner ,也可能不是), 说自己要取回网络的中的文件. 然后在离线情况下, 支付给相应的人.
证明
包含两种证明
- Proof of Replication(PoRep), 复制证明, miner证明自己存储了完整的文件, 通过矿机计算单元按网络要求的格式对数据进行打包封存,
- Proof of SpacetimePoSt), 时空证明, miner在存储完整的文件后,还必须每30分钟左右向网络提交一次复制证明, 证明数据还在,并且完整的存储在矿机上。链上也会在每个出块时间随机发出挑战challenge, 来验证数据是否存在,才能证明矿工的有效算力。如果矿工没有在规定的时间提交时空证明,或者链上验证数据失败, 则会出现掉算力,不但挖不到币,还会被扣除抵押币。
Gas Fee
发送每个消息, 都需要GasFee. Miner收了Gas fee后, 才会打包交易.
FILECOIN挖矿机制
Filecoin存储挖矿指南 一文读懂Filecoin的价值体现和挖矿原理-Odaily星球日报 简单的原理在上面说过, 矿工就是需要做复制证明和时空证明, 告诉网络自己已经挖矿了.
计算部分
计算部分分成4个阶段
- PreCommit phase1, 在此阶段,将进行复制证明SDR编码。此阶段是CPU密集型且是单线程的, 主要吃CPU主频
- PreCommit phase 2, 在此阶段, 在此阶段,将使用波塞冬哈希算法来生成Merkle树。此过程是GPU密集型
- Commit phase 1, 这是执行生成证明所必需准备工作的中间阶段。它是CPU密集型且通常在10秒内完成
- Commit phase2, 最后,该封装阶段会设计创建SNARK,该SNARK用于把证明提交到链上之前来压缩证明。这是GPU密集型过程,预计需要20到30分钟才能完成。
存储部分
存储部分, 主要吃磁盘. 为了扩展性, 存储和计算必须要分开.
矿机成本
一般来说, 做一个计算的机器, 需要10万人民币左右. 做存储行的机器, 需要8玩人民币左右. 一个计算型的机器, 可以带多个存储型的机器.
质押
无论是storage miner 还是retrive miner, 都需要质押FIL. 质押分成4种
- 存储质押 : 用来做网络服务质量的担保, 出了问题, 就罚款.
- 共识质押: 用来解决未来网络区块奖励变少, 所以每t算力, 都要准备一点FIL来做质押.
- 区块奖励质押: 爆块之后, 钱不会马上打过去, 而是分180天, 慢慢释放.
- 存储订单质押, 如果一个存储deal提前中止, 这部分质押还要被惩罚. 总之, 矿工也需要买入大量的FIL, 来做质押. 质押后, 才能正常挖矿.
FILECOIN现在是什么阶段
- 2020.7上线测试网
- 2020.10.15, 上线主网, FIL价格接近60美元 目前全网850个矿工, 有效算力1.482E算力. 24小时产出20w个FIL, 价值约4000万人民币. 飞狐浏览器 - Filecoin区块链浏览器
最大的算力是时空云, 智合云, 人人矿场.
奇怪, 没有一个国外的矿工?
总结
2020.12.21 FileCoin看起来非常棒, 前景无量, 团队也很好. 但是, 币价一直在27刀左右, 感觉有人在控盘. 另外, 为什么只有中国人在玩呢? 我认为比较奇怪, 是外国人不看好这个业务吗?