找回密码
 快速注册
搜索
查看: 39|回复: 2

IPFS分散式文件共享

[复制链接]

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

hbghlyj 发表于 2023-8-16 02:30 |阅读模式
本帖最后由 hbghlyj 于 2023-8-16 02:59 编辑
Libgen下载图书时写着“从IPFS下载较快”
可选择的gateway包括pinata、ipfs.io、cloudflare-ipfs
Screenshot 2023-08-16 at 02-45-21 Screenshot.png

这些链接都带有同一个Hash:
https://cloudflare-ipfs.com/ipfs/bafykbzacedi4q7dl5iddoztja7x2mu5fkzezczw6gdtdyo5xcqns2rk4qewym
https://gateway.ipfs.io/ipfs/bafykbzacedi4q7dl5iddoztja7x2mu5fkzezczw6gdtdyo5xcqns2rk4qewym
https://gateway.pinata.cloud/ipfs/bafykbzacedi4q7dl5iddoztja7x2mu5fkzezczw6gdtdyo5xcqns2rk4qewym
试下,这3个链接都能下载。注意,仅凭这个Hash就能下载文件,无需文件名。

查询IPFS了解到:IPFS采用内容-地址寻址技术,即通过文件内容进行检索而不是通过文件的网络地址。 简单来说,就是对文件内容进行hash运算,将hash值作为文件名保存在本地数据库中,所以,只要文件内容不变,则文件名也保持不变。 多个运行IPFS程序的节点构成IPFS存储网络,存储在IPFS网络中的数据被划分成多个块,存放在不同节点中。
什么是IPFS分散式文件共享,它如何工作?
如何使用ipfs存储与分享文件
学会通过IPFS在区块链上安全地分享文件!
概述
IPFS - InterPlanetary File System 星际文件系统,是一个点对点的分布式文件存储系统,IPFS的愿景是构建一个全世界的分布式网络,用来替代传统中心化的服务器模式,所有的IPFS节点组成一个分布式网络,每个节点都可以存储文件,用户可以从IPFS构建的网络中以DHT(Distributed Hash Table,分布式哈希表) 的方式获取文件,从而实现了新一代的完全去中心化的网络,旨在取代现有的万维网。IPFS功能很丰富,包括DHT组网,文件存储,Bitswap文件交换等功能。本文主要介绍IPFS的文件存储原理,文件上传到IPFS节点存储时,节点会将文件分块后进行存储,每个文件以Merkle DAG(默克尔有向无环图)的格式组织,而Merkle DAG的根哈希则用来表示该文件。本文将对IPFS存储进行详解,所述的IPFS的版本为v0.6.0。
CID
在介绍IPFS存储文件的远离之前,先介绍一个重要的标识——CID(Content-ID),CID是IPFS中用来表示内容的标识,可以用来表示一个文件,也可以用来表示一个文件块。如下所示,CID是一个字符串,它主要由Version、Codec和Multihash三部分构成,Version目前分为v0和v1版本,v0版本的CID可以由V0Builder生成,v0版本的CID以Qm字符串开头,v1版本的CID可以由V1Builder生成,v1版本的CID主要包含三个部分Codec,MhType和MhLength,其中Codec是表示内容的编码类型,例如DagProtobuf(即protobuf格式),DagCBOR(即cbor格式)等,MhType是哈希算法,例如SHA2_256(默认的哈希算法),SHA2_512,SHA3_256,SHA3_512等等,MhLength是生成哈希的长度,默认用-1表示根据哈希算法确定长度。

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2023-8-16 02:34
以下内容来自IPFSLABS
第一步:安装客户端
  • 1.1 找到 IPFS 客户端下载页面,你可以在 IPFS.GUIDE 导航的首页找到它
  • 1.2 在下载页面根据自己的电脑操作系统选择对应的文件,可以通过后缀很方便的找到,windows 系统下载 .exe 文件,mac 系统则下载 .dmg 文件
  • 1.3 下载之后完成安装。
第二步:将要分享的文件添加至 IPFS 网络
  • 2.1 启动安装好的 IPFS 客户端,以 mac 版为例,点击文件菜单
  • 2.2 选择需要添加的文件,导入到 IPFS 网络
  • 2.3 导入之后,可以看到文件下方会显示一串以 Qm 开头的字符串,这就是文件的 IPFS hash
第三步:将得到的 IPFS hash 分享出去
  • 以上图我添加的文件为例,hash 为 QmVKcWQxr6nxZAMNqZBBxkkHEnN3JXLWjzfgst7mx7DS66如果对方也安装了 IPFS 客户端,那么他可以直接通过 IPFS路径 添加文件
需要注意的是,在分享的过程中,需要保持自己电脑客户端的在线,否则对方将可能无法获得文件。
第四步:通过IPFS浏览器播放小电影
在IPFS视频浏览器,输入hash值,就可以播放这一小电影了。
b5f79de43caf4470bca89288c39a9926.jpeg

3149

主题

8386

回帖

6万

积分

$\style{scale:11;fill:#eff}꩜$

积分
65391
QQ

显示全部楼层

 楼主| hbghlyj 发表于 2023-8-16 02:38
本帖最后由 hbghlyj 于 2023-8-16 02:59 编辑 “点对点的分布式文件存储系统”听起来有点像BitTorrent,既然有BitTorrent何必发明IPFS呢?
Can someone explain to me how IPFS is superior to BitTorrent from a usability perspective?
使用 BitTorrent 的一个弊端是,如果您更改整个项目(通常是多个文件)中的 1 个字节,则获得一个新的 DHT,整个项目将是“您独有的”。使用 IPFS,您仍然可以与整个网络共享所有其他内容块,只有修改后的一个内容块将是“您独有的”。

对于 BitTorrent 来说,尤其令人烦恼的是合集的Torrent:你有一堆单独的文件可供下载(想想电视剧或书籍),每个文件都形成自己的 DHT 节点。 然后有人出于方便决定创建一个聚合 torrent(例如 libgen 的“1000 本书”torrent)。 之前下载过单个文件的客户是否会与这个新的 torrent 共享它们? 不! 因为新的 Torrent 是“不同的”,即使它的每个文件都是逐字节相同的。
IPFS 和BitTorrent 区别
BitTorrent vs. IPFS - 链变Chainges
BitTorrent作为去中心化存储雏形,IPFS与BT的对比
BitTorrent 下载必须使用种子文件,客户端只能下载种子文件内的内容,而IPFS 不受这个限制,可以下载毫不相关的任何文件(当然是加密过的即使下下来如果没有密钥也是看不了的),于是IPFS 内部的资源调度子模块BitSwap 可以更高效地调度,预下载内容,从而提高下载效率。

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 15:20

Powered by Discuz!

× 快速回复 返回顶部 返回列表