最近在琢磨 IPFS(星际文件系统)。但仍然有些概念和逻辑问题求解 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kop1989
V2EX    IPFS

最近在琢磨 IPFS(星际文件系统)。但仍然有些概念和逻辑问题求解

  •  
  •   kop1989 2021 年 1 月 7 日 4578 次点击
    这是一个创建于 1935 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1 、根据我的了解,IPFS 是不是一个基于区块链技术实现的类似 BT 系统?(文件分发 /共享系统)只不过他文件的分发机制除了主动获取(通过 CID )之外,还有节点的被动做种,以及主动挖矿?

    2 、经过我的远程测试,发现新文件端到端的传输文件能力很差。是不是使用姿势有问题?( A 端上传,且 pin,B 端搜索 CID 下载,要么等待时间巨长,要么失败)

    3 、下载后的文件是缺失后缀的,文件名是 hash 名。

    4 、假设 ipfs 的参与人员密度足够大,突破了某个阈值。是不是就相当于我们全员(包括使用节点和挖矿节点)在靠硬盘+带宽维护一个无限容量的云空间?目前有机制保障空间的利用效率么?(既不会被恶意人士上传垃圾文件轰炸)
    12 条回复    2021-07-28 22:46:44 +08:00
    codehz
        1
    codehz  
       2021 年 1 月 7 日   1
    你就当是升级版 BT 协议就好了
    Darkside
        2
    Darkside  
       2021 年 1 月 7 日   1
    4:ipfs 的本地缓存有空间限制的,默认好像是 10 G,超过的会被 gc 清掉,只有你自己 pin 住的不会被 gc
    xarthur
        3
    xarthur  
       2021 年 1 月 9 日   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 比较之后只会存一份。
    xarthur
        4
    xarthur  
       2021 年 1 月 9 日
    确实是个类 BT 系统
    xarthur
        5
    xarthur  
       2021 年 1 月 9 日
    另外你通过 CID 获取文件的过程,和在 BT 里面通过磁力获取文件的过程是类似的(都是通过 DHT 网络)。
    如果想了解这个过程不如看看回形针出的一期视频:
    xarthur
        6
    xarthur  
       2021 年 1 月 9 日
    《不要在问我什么是 BT 种子》
    顺便这里面介绍的算法是 Kademlia 算法,其实 DHT 网络可以用的算法还有很多,只是 BT 用了 Kademlia 而已。
    SaltyLeo
        7
    SaltyLeo  
       2021 年 1 月 12 日   1
    首先没有什么无限储存这种东西的,看起来的无限制储存不过是大公司在买单罢了。

    1 、DHT 不是什么新的技术,IPFS 只是一种新的实现。没有被动做种的说法,主动挖矿是 Filecoin 的问题了。
    2 、文件传输能力取决于 A 的出口和 B 的入口最小值。
    3 、3 楼的方法就可以解决。
    4 、如果不考虑费用确实可以维护一个巨大的云空间,但很蛋疼就是了。

    我最近在捣鼓一个基于 IPFS 的网盘系统,大体思路就是滥用网关,我只能说这么多了~
    kop1989
        8
    kop1989  
    OP
       2021 年 1 月 12 日
    @SaltyLeo #7 也就是说,我光 24 小时挂机 IPFS 的客户端,是无法达到自动帮别人加速的目的的?(除非别人通过 CID 等操作主动获取文件的过程中恰巧命中了我当前已下载的缓存?)而帮别人加速只能考虑 Filecoin 挖矿?
    SaltyLeo
        9
    SaltyLeo  
       2021 年 1 月 12 日   1
    @kop1989 据我自己测试,24 小时挂机不缓存任何资源的节点,唯一的作用就是维护 DHT 网络,也就是请求方请求 hash 的时候协助查询。

    帮别人加速可以 pin 住别人分享的 hash 即可。
    mushokumunou
        10
    mushokumunou  
       2021 年 4 月 19 日
    @SaltyLeo ipfs 有个问题,它得每 12 个小时告诉网络自己拥有文件的 cid,这个推送请求当数据量一大,就会变得异常缓慢,有什么思路可以解决吗?
    bluekz
        11
    bluekz  
       2021 年 7 月 28 日
    @kop1989
    @xarthur
    请教下,filecoin 读取文件现在是收费的吗?我看文档是说有“读取矿工”这个角色的,但是又未找到任何有关“读取数据”的矿工报价。
    xarthur
        12
    xarthur  
       2021 年 7 月 28 日 via iPhone   1
    @bluekz 我记得需要的,这部分费用是给检索矿工的。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2659 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 10:45 PVG 18:45 LAX 03:45 JFK 06:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86