当前位置:首页 > 区块链新闻 > 正文

IPFS入门 | 关于IPFS的50个问题(五)

来源: 互联网时间:2019-08-19 14:11:09

36、 数据丢失问题

IPFS是采用冗余备份技术,纠删码来解决数据丢失这个问题的。

IPFS 采用的是f(n,m)的计算方法来增加数据存储的安全性,只要增加m的校验数据,即可以得到原始数据N,但是存储的费用也有所增加,就看用户需求。

另外IPFS自带修复数据技能,IPFS如果检测到系统有丢失的文件时系统会进行自动修复。

37、 IPFS和SC,STORJ有什么区别

IPFS 是一个完全去中心化的分布式存储解决方案,在结合 Filecoin 作为激励层后可以在市场中自运转,同时在 IPFS网络中也可以兼容多个激励层。

SC 和 STORJ 是公司化运作的存储解决方案,为单独的主链,不与 IPFS 互通。

38、 IPFS网络上同样的文件只有一份吗?

同样文件,IPFS网络中只存储一次,而一次会在IPFS网络中做三份备份。

如果把人们都有的某个文件,做一次hash计算,只字不差的两个文件hash值相同,再次上传时不会进行多次备份。

这个IPFS网络上同样的 hash对应的文件只会保存一次。只需要使用相同的hash值,就可以访问那个文件,这个hash值就是文件的地址。

而改动一个字,就成为了一个新版本,hash值会变化,也就需要再次存储。

39、 IPFS系统保存数据可靠吗?

IPFS系统采用了的冗余备份技术是Erasurecoding,简称“EC”,简单讲:n份原始数据,增加m份校验数据,此时可以通过 n+m份数据中的任意 n份数据来恢复原始数据,也就是可容忍的最大失效的数据数量为m。

例如,如果想容错 4 个盘,采用 n+4 模式。传统的 RAID6 允许两个盘失效,对应 EC就是 n+2模式。

40、 IPFS存储文件信息安全问题

如果你存储的文件是不想别人看到的文件,在存入 IPFS 之前对文件进行加密即可,这样即便是别人拥有了文件哈希,还需要私钥来查查看数据。

41、 IPFS的文件的网络检索是如何进行的

IPFS 使用分布式哈希表,快速找到拥有数据的节点进行检索,使用哈希验证其是否是正确的数据,找到对应的文件;

为提高网络强壮和使用效率,删除重复具有相同哈希值的文件,跟踪每个文件的版本历史记录,判断冗余重复。

42、 IPFS可以提供的服务有那些?

(1) 点对点:定位内容和协调交付的协议;

(2) 可在本地系统上安装一个IPFS的文件系统,可以像访问本地系统一样访问远程资源;

(3) 提供网络功能的模块化方法,如路由和虚拟电路;

(4) 无需服务器的文件点对点传输;

(5) 基于公钥基础设施(PKI)的全局命名空间;

(6) 确保文件的完整性和版本控制的系统;

(7) 多元化的浏览器,可使用(http://)及IPFS(ipfs://)访问信息。

43、 IPFS的组成部分有那些?

IPFS其实是个家族,由 IPFS、Filecoin、libp2p、IPLD、Multiformats 五个项目组成。我们常接触的是IPFS、Filecoin,后面的三项涉及到技术层面。

44、 IPFS中的IPLD项目是什么?

(1) 从区块链到加密数字货币到网页,这中间的数据是庞大的。尽管所有这些工具都依赖于一些常见的原语,但是它们的特定底层数据结构是不可互操作的。

(2) IPLD则通过定义了一系列规范来让基于内容寻址,加密hash的分布式系统中的数据变的具有互操作行,通过内容可寻址web的数据模型,实现跨协议遍历链接,允许用户探索数据,而不管底层协议是什么。

(3) IPLD是所有受哈希启发的协议的一个名称空间,将所有散列连接的数据结

构视为统一信息空间的子集,把所有的数据与散列连接的数据模型统一为IPLD实例。

(4) IPLD的特点:

a.规范化数据模型

b.协议独立

c.可升级

d.跨格式的互操作

e.向后兼容

f.所有协议的名称空间

45、 IPFS中的libp2p的内容及作用

(1) libp2p它类似现实世界的快递公司,负责分发数据和查找数据(发现节点、连接节点、发现数据、传输数据),它综合了各种协议、框架,连接着千百万个节点,使用它,就能实现去中心化的传输需求。

(2) libp2p包含:

a.Transports:传输层

b.Discovery:网络发现层

c.Peer Routing: 节点路由

d.NAT Traversal: NAT穿越层

e.Content Routing: 内容寻址

46、Merkle DAG与Merkle Tree

在功能上,MerkleDAG与MerkleTree很大不同,MerkleTree主要为了验证,例如验证数字签名,以及比特币Merkle Proof;

(1)Merkle DAG主要功能:

a.内容寻址:使用多种哈希来唯一识别一个数据块的内容。

b.防篡改:方便的检查哈希值来确认数据是否被篡改。

c.去重:相同内容的数据块有相同哈希值,可去掉重复数据,节省存储空间。

(2)MerkleDAG树形结构的搭建及使用原理:

在IPFS上存储文件时,首先会将文件切片,切割成256KB 大小的文件。

之后循环调用(MerkleDAG.Add)方法构建文件MerkleDAG。

(3) 文件hash值创建流程:

a.将切片之后的文件进行sha-256运算

b.将运算结果选取0~31位

c.将选取结果根据base58编码,运算结果前追加Qm 即为最后结果作为文件的46位hash值,根据IPFS底层代码计算,Merkle DAG为多叉树结构,最多为174叉树。

DAGService维护在源代码之中通常使用DAGService维护MerkleDAG,为MerkleDAG提供删除和增加的权限。

47、 IPFS中的Multiformats项目是什么?

Multiformats 项目是为IPFS协议专门打造的,允许协议相互操作,可以保持协议灵活度、并可扩展、可升级,即打造一个永不过时的系统,目前应用在IPFS和libp2p模块上,在IPFS体系中主要负责身份的加密和数据的自我描述,是未来安全系统的协议集合,通过增强自我描述的格式值来实现,自描述格式可以让系统可互相协作和升级。

Multiformats协议里面包含以下协议:

multihash – 自描述哈希

multiaddr – 自描述网络地址

multibase – 自描述基编码

multicodec – 自描述序列化

multistream – 自描述流网络协议

multigram (WIP) – 自描述分组网络协议

48、 IPFS的文件表现形式是什么?

(1) IPFS 定义了一系列的对象构建了支持版本控制的文件系统,它与 Git 的对象模型非常类似,所有文件对象其实都通过 Protobuf 进行了二进制编码:

(2) IPFS 文件可以通过 list 和 blob 进行表示:其中 blob 不包含任何的链接,只包含数据;但是 list 却包含了一个 blob 和 list 的有序队列,而 tree 文件对象与 Git 中的 tree 非常相似,它表示一个从名字到哈希的文件目录;

(3) 最后的 commit 表示任意对象的快照;

49、 什么是CAS存储?IPFS与CAS的关系?

(1)CAS是英文“Content Addressing storage”的缩写,中文意义为固定内容寻址存储。这里所指的固定内容就是指一旦生成就不再发生改变的信息,比如数字媒体(图像、音视频等)、法律和参考文档、医疗影像、电子邮件、银行票据等。

(2)IPFS就是给予内容寻址的技术,就存储技术上来讲,IPFS 归属于CAS的范畴。

50、 CAS存储于传统存储的区别

由于CAS存储数据方式与传统NAS、 SAN最大的不同点就是CAS的免维护性。

这种免维护性,一方面减少了维护系统的人工成本开销,在NAS和SAN的情况下,一个管理员最多只能管理十几个TB的数据,而在CAS的情况下,一个管理员则能够轻松管理500TB的数据。

另一方面,免维护性也增加了数据的安全性和可靠性,例如,在NAS和SAN中,管理员可能在维护过程中意外甚至有意地删除、修改数据,在CAS中,数据的修改是无法实现的,系统会根据最初数据存储的情况自动修复。

《IPFS50问》系星际视界IPFSNEWS旗下【IPFS入门】板块泛IPFS领域知识普及栏目,旨在通过深入浅出的讲解,拉近您与技术的距离。

免责声明:

1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。

2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。