问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
1
来源
1.
https://m.528btc.com/blocknews/53336.html

IPFS(InterPlanetary File System)是一种新型的分布式存储系统,它采用点对点网络和内容寻址机制,旨在提供更安全、更高效的文件存储和传输方式。本文将通过问答形式,深入浅出地介绍IPFS的核心概念、技术细节及其与其他存储解决方案的区别。

36. 数据丢失问题

IPFS采用冗余备份技术和纠删码来解决数据丢失问题。具体来说,IPFS使用f(n,m)的计算方法来增加数据存储的安全性。只要增加m个校验数据,就可以从n+m个数据中恢复原始数据,但存储费用也会相应增加。此外,IPFS系统自带数据修复功能,能够自动检测并修复丢失的文件。

37. IPFS与SC、STORJ的区别

IPFS是一个完全去中心化的分布式存储解决方案,结合Filecoin作为激励层后可以在市场中自运转,同时支持多个激励层。而SC和STORJ是公司化运作的存储解决方案,为单独的主链,不与IPFS互通。

38. IPFS网络上的文件存储机制

在IPFS网络中,相同的文件只会存储一次,并进行三份备份。通过哈希计算,如果两个文件完全相同,再次上传时不会进行多次备份。这个IPFS网络上相同的hash对应的文件只会保存一次。只需要使用相同的hash值,就可以访问那个文件,这个hash值就是文件的地址。而改动一个字,就成为了一个新版本,hash值会变化,也就需要再次存储。

39. IPFS系统保存数据的可靠性

IPFS系统采用了冗余备份技术,即Erasure coding(EC)。简单来说,就是将n份原始数据增加m份校验数据,通过n+m份数据中的任意n份数据就可以恢复原始数据,最大可容忍m个数据失效。例如,如果想容错4个盘,采用n+4模式;传统的RAID6允许两个盘失效,对应EC就是n+2模式。

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

如果存储的文件是敏感信息,可以在存入IPFS之前对文件进行加密。这样即便他人获得了文件哈希,也需要私钥才能查看数据。

41. IPFS的文件网络检索机制

IPFS使用分布式哈希表快速定位拥有数据的节点,通过哈希验证确保数据的正确性。为了提高网络的强壮性和使用效率,IPFS会删除重复的具有相同哈希值的文件,并跟踪每个文件的版本历史记录,判断冗余重复。

42. IPFS可以提供的服务

  • 点对点定位内容和协调交付的协议
  • 可在本地系统上安装IPFS文件系统,像访问本地系统一样访问远程资源
  • 提供网络功能的模块化方法,如路由和虚拟电路
  • 无需服务器的文件点对点传输
  • 基于公钥基础设施(PKI)的全局命名空间
  • 确保文件的完整性和版本控制的系统
  • 多元化的浏览器,支持http://和ipfs://访问信息

43. IPFS的组成部分

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

44. IPFS中的IPLD项目

IPLD通过定义一系列规范,让基于内容寻址、加密哈希的分布式系统中的数据变得具有互操作性。它实现了跨协议遍历链接,允许用户探索数据,而不管底层协议是什么。IPLD的主要特点包括:

  • 规范化数据模型
  • 协议独立
  • 可升级
  • 跨格式的互操作
  • 向后兼容
  • 所有协议的命名空间

45. IPFS中的libp2p内容及作用

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

  • Transports:传输层
  • Discovery:网络发现层
  • Peer Routing:节点路由
  • NAT Traversal:NAT穿越层
  • Content Routing:内容寻址

46. Merkle DAG与Merkle Tree

Merkle DAG与Merkle Tree在功能上有很大不同。Merkle Tree主要用于验证,例如验证数字签名和比特币Merkle Proof。而Merkle DAG的主要功能包括:

  • 内容寻址:使用多种哈希来唯一识别一个数据块的内容
  • 防篡改:方便检查哈希值确认数据是否被篡改
  • 去重:相同内容的数据块有相同哈希值,可去掉重复数据,节省存储空间

在IPFS上存储文件时,首先会将文件切片,切割成256KB大小的文件。之后循环调用(MerkleDAG.Add)方法构建文件Merkle DAG。文件hash值创建流程包括:

  • 将切片之后的文件进行sha-256运算
  • 将运算结果选取0~31位
  • 将选取结果根据base58编码,运算结果前追加Qm即为最后结果作为文件的46位hash值
  • 根据IPFS底层代码计算,Merkle DAG为多叉树结构,最多为174叉树
  • DAGService维护在源代码之中,通常使用DAGService维护Merkle DAG,为Merkle DAG提供删除和增加的权限

47. IPFS中的Multiformats项目

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

  • multihash:自描述哈希
  • multiaddr:自描述网络地址
  • multibase:自描述基编码
  • multicodec:自描述序列化
  • multistream:自描述流网络协议
  • multigram(WIP):自描述分组网络协议

48. IPFS的文件表现形式

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

  • blob不包含任何的链接,只包含数据
  • list包含了一个blob和list的有序队列
  • tree文件对象与Git中的tree非常相似,它表示一个从名字到哈希的文件目录
  • 最后的commit表示任意对象的快照

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

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

50. CAS存储与传统存储的区别

CAS存储与传统NAS、SAN最大的不同点就是CAS的免维护性。这种免维护性,一方面减少了维护系统的人工成本开销,在NAS和SAN的情况下,一个管理员最多只能管理十几个TB的数据,而在CAS的情况下,一个管理员则能够轻松管理500TB的数据。另一方面,免维护性也增加了数据的安全性和可靠性,例如,在NAS和SAN中,管理员可能在维护过程中意外甚至有意地删除、修改数据,在CAS中,数据的修改是无法实现的,系统会根据最初数据存储的情况自动修复。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号