首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Filecoin挖矿预备知识 什么是EC纠删码

我们都知道filecoin 区块链项目是ipfs星际文件系统的激励层,为ipfs提供存储空间存储内容和提供带宽资源实现检索内容的矿工都可以获得filecoin 奖励。

如何提升矿工的收益率以前我们都讨论过了:

一是尽可能大的硬盘存储空间;二是优秀的带宽资源尤其是上行速度越快越好。三.矿机要向用户更近更多的地方靠拢;四、矿机工作稳定存储数据多能被选举获得区块打包权。这些因素好像决定了IDC有着先天的优势。但是我们要辩证地看问题:例如大城市用户多但IDC也多竞争激烈,小城镇用户少但也有用户需求家庭矿机也有机会,拿到回报率高订单的机率也不小。正如大城市有很多滴滴共享汽车,小城市一样需要一定量的滴滴车。

所以广大小散矿工们不要气馁,在filecoin 未开挖之前努力学习武装好自己的头脑,正如俗话说的磨刀不误砍柴工!下面我们一起来学习ipfs的神奇数据再生功能,就像蜥蝪逃生断了尾巴之后,可以再生出尾巴一样!

IPFS系统采用了的冗余备份技术是Erasure coding(EC,纠删码)

那么什么是EC?

简单讲:n份原始数据,增加m份校验数据,此时可以通过 n+m份数据中的任意n份数据来恢复原始数据,也就是可容忍的最大失效的数据数量为m。例如,如果想容错4个盘,采用n+4模式。传统的 RAID6 允许两个盘失效,对应 EC就是 n+2模式。EC目前在分布式存储上的应用越来越广。

IPFS允许用户指定 f(n, m) 参数n和m,来增加数据存储的安全性,如果想数据存储更加安全,可以采用增加m的方式,当然,这样做所付的费用也就相应的增加,一切取决于用户。 IPFS系统有自动修复存储的功能,如果系统检测到某些数据有丢失,会启动修复,来恢复到原来的n+m模式。IPFS把整个系统的存储统一调度,所以IPFS自带容灾备份功能,即便是一个地方的发生地震,存储在这个地方的数据几乎被摧毁,那么IPFS系统会立即启动修复,把存储在地震所处地区的数据恢复至其它地方。你大可以放心存储在IPFS系统里面的数据安全,比目前你所使用的那些云服务都要安全,而且成本更低

纠删码(Erasure Code)本身是一种编码容错技术,最早是在通信行业解决部分数据在传输中损耗的问题,它的基本原理是把传输的信号分段,加入一定的校验再让各段间发生一定的联系,即使在传输过程中丢失掉部分信号,接收端仍然能通过算法把完整的信息计算出来。如果严格的区分,实际上按照误码控制的不同功能,可分为检错、纠错和纠删三种类型。

检错码仅具备识别错码功能 而无纠正错码功能;

纠错码不仅具备识别错码功能,同时具备纠正错码功能;

纠删码则不仅具备识别错码和纠正错码的功能,而且当错码超过纠正范围时,还可把无法纠错的信息删除。

Erasure Code(EC),即纠删码,是一种前向错误纠正技术(Forward Error Correction,FEC,说明见后附录),主要应用在网络传输中避免包的丢失, 存储系统利用它来提高存储可靠性。相比多副本复制而言, 纠删码能够以更小的数据冗余度获得更高数据可靠性, 但编码方式较复杂,需要大量计算 。纠删码只能容忍数据丢失,无法容忍数据篡改,纠删码正是得名与此。目前,纠删码技术在分布式存储 系统中的应用主要有三类,阵列纠删码(Array Code: RAID5、RAID6等)、RS(Reed-Solomon)里德-所罗门类纠删码和LDPC(LowDensity Parity Check Code)低密度奇偶校验纠删码。

RAID是EC的特殊情况。在传统的RAID中,仅支持有限的磁盘失效,RAID5只支持一个盘失效,RAID6支持两个盘失效,而EC支持多个盘失效。

EC主要运用于存储和数字编码领域。例如磁盘阵列存储(RAID 5、RAID 6),云存储(RS)等。

LDPC码也可以提供很好的保障可靠性的冗余机制。与RS编码相比,LDPC编码效率要略低,但编码和解码性能要优于RS码以及其他的纠删码,主要得益于编解码采用的相对较少并且简单的异或操作。LDPC码目前主要用于通信、视频和音频编码等领域。

以上说得太理论了,不明白,现在我们举一个例子:1+1=2,假设两个加数1分别存放在磁盘A、B,结果2存在磁盘C。当这三个磁盘任何一个坏了,计算机可以通过这个等式计算出坏掉磁盘的数据,实现数据恢复。计算机恢复数据需要计算时间,这也是所谓时间换空间吧!要耗费大量计算时间资源,所以filecoin项目对节点矿工掉线,工作不稳定要扣除抵押代币作为惩罚,就是这个道理!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180717G01P7Q00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券