1
codehz 2021-01-07 14:11:23 +08:00 1
你就当是升级版 BT 协议就好了
|
2
Darkside 2021-01-07 14:19:23 +08:00 1
4:ipfs 的本地缓存有空间限制的,默认好像是 10 G,超过的会被 gc 清掉,只有你自己 pin 住的不会被 gc
|
3
xarthur 2021-01-09 11:03:59 +08:00 2
IPFS 分成两个部分。
底层的是 IPFS 协议,上层的是 filecoin (也就是所谓的激励层) 1. IPFS 本身没有区块链,filecoin 才用到区块链技术。底层的 IPFS 其实确实是个 BT 系统,但是他们的库( libp2p)做的比较好,相比起 BT 系统好像有改进,具体的区别要去看 IPFS 的白皮书 2. 「新文件端到端的传输文件能力很差」,是个,这个是分布式系统的问题,所以如果是端到端传输, 建议互相添加对方的节点,或者建立私有的 IPFS swarm (翻译成用户池?) 3 「 3 、下载后的文件是缺失后缀的,文件名是 hash 名。」这个解决方案很简单,把文件放到一个文件夹里,然后分享文件夹的 CID,这样里面的文件就有文件名和后缀了。 4 「硬盘+带宽维护一个无限容量的云空间?」理论上上来说是这样,但是 一. IPFS 是有缓存大小的限制的,默认 10 个 G,你可以在它的配置文件里修改这个大小。二. 你需要下载了某个东西才会有缓存,如果你不 pin 的话,这个缓存最后会消失的,此外 IPFS 不保证文件一定不会消失(没有人缓存了,或者缓存的人不在线,就消失了) 5.「目前有机制保障空间的利用效率么? 」文件通过 Hash 比较之后只会存一份。 |
4
xarthur 2021-01-09 11:04:19 +08:00
确实是个类 BT 系统
|
5
xarthur 2021-01-09 11:07:04 +08:00
另外你通过 CID 获取文件的过程,和在 BT 里面通过磁力获取文件的过程是类似的(都是通过 DHT 网络)。
如果想了解这个过程不如看看回形针出的一期视频: |
6
xarthur 2021-01-09 11:09:08 +08:00
《不要在问我什么是 BT 种子》
顺便这里面介绍的算法是 Kademlia 算法,其实 DHT 网络可以用的算法还有很多,只是 BT 用了 Kademlia 而已。 |
7
SaltyLeo 2021-01-12 14:05:34 +08:00 1
首先没有什么无限储存这种东西的,看起来的无限制储存不过是大公司在买单罢了。
1 、DHT 不是什么新的技术,IPFS 只是一种新的实现。没有被动做种的说法,主动挖矿是 Filecoin 的问题了。 2 、文件传输能力取决于 A 的出口和 B 的入口最小值。 3 、3 楼的方法就可以解决。 4 、如果不考虑费用确实可以维护一个巨大的云空间,但很蛋疼就是了。 我最近在捣鼓一个基于 IPFS 的网盘系统,大体思路就是滥用网关,我只能说这么多了~ |
8
kop1989 OP @SaltyLeo #7 也就是说,我光 24 小时挂机 IPFS 的客户端,是无法达到自动帮别人加速的目的的?(除非别人通过 CID 等操作主动获取文件的过程中恰巧命中了我当前已下载的缓存?)而帮别人加速只能考虑 Filecoin 挖矿?
|
9
SaltyLeo 2021-01-12 17:34:25 +08:00 1
@kop1989 据我自己测试,24 小时挂机不缓存任何资源的节点,唯一的作用就是维护 DHT 网络,也就是请求方请求 hash 的时候协助查询。
帮别人加速可以 pin 住别人分享的 hash 即可。 |
10
mushokumunou 2021-04-19 23:18:00 +08:00
@SaltyLeo ipfs 有个问题,它得每 12 个小时告诉网络自己拥有文件的 cid,这个推送请求当数据量一大,就会变得异常缓慢,有什么思路可以解决吗?
|
11
bluekz 2021-07-28 17:44:17 +08:00
|