V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
handle233
V2EX  ›  奇思妙想

一种改进 p2p 的设想

  •  1
     
  •   handle233 · 2020-04-24 14:41:47 +08:00 · 4090 次点击
    这是一个创建于 1655 天前的主题,其中的信息可能已经有所发展或是发生改变。

    各位大佬好,第一次发主题,言辞不通,含义不明,希望各位多多见谅。 首先我不是专业人士,所以可能观点不切实际,希望各位能多给出指点, 由于以往的 p2p 都要下种子,传播很不方便,而且主服务器一旦没有要重新建立网络会很麻烦,所以我的设想是文件不进行分割或者不一定进行分割(用内部算法决定),然后呢通过某种方法把 p2p 服务器之间连接在一起,这样就可以实现在 p2p 网络下较为稳定的搜索资源(替代种子进行树形搜索)并且任何一个主服务器崩了所有人都可以跳到另一个服务器传输。

    以上语言可能有诸多疏漏请各位大佬轻喷。

    第 1 条附言  ·  2020-04-24 15:42:25 +08:00
    另外,重点是在于抛弃了旧有 p2p 的 hash 下载,选用和自己主服务器周围的用户树状搜索,给搜索加权等方法包括区块链的公共认同(我也不知道叫不叫这个)来限制,确保付出和回报的公平性,同时把种子站也去掉。
    19 条回复    2020-04-26 14:01:34 +08:00
    ganyouxuan
        1
    ganyouxuan  
       2020-04-24 15:05:12 +08:00 via Android
    看起来“某种问题”就是最大的问题
    ganyouxuan
        2
    ganyouxuan  
       2020-04-24 15:08:44 +08:00 via Android
    然后呢通过某种方法把 p2p 服务器之间连接在一起

    感觉“某种方法”应该就是最大的问题
    pt 应该能算一种 有 hash 和 tracker 就好了
    bt 上有 hash 和 tracker 也会自动下载元数据(应该就是种子的内容 了解不多)
    现在 bt 上的搜索我知道的有 dht 爬虫
    handle233
        3
    handle233  
    OP
       2020-04-24 15:11:23 +08:00
    @ganyouxuan 我的想法就是降低服务器设立成本,然后在用户本地维护 server list,通过强制性的 server list 共享来扩大范围。
    handle233
        4
    handle233  
    OP
       2020-04-24 15:12:08 +08:00
    另外在实现细节上面还考虑过通过 sha1 校验来检验和标记病毒等威胁文件。
    Sylv
        5
    Sylv  
       2020-04-24 15:13:26 +08:00 via iPhone
    磁力链接了解一下。
    nvkou
        6
    nvkou  
       2020-04-24 15:17:39 +08:00 via Android
    有这玩意,叫 DHT 。只不过一直被 NAT 拦着
    yeqizhang
        7
    yeqizhang  
       2020-04-24 15:18:55 +08:00 via Android
    额,我了解的,不知道有没有错哈,
    p2p 应该是去中心化的,每个节点都是服务器,不知道你说的某种方法连接起来是什么意思,是强制节点不下线吗?单个节点一个单位时间传播出来的数据也是有限的。
    种子也是必要的,不然怎么定位资源?不可能每个节点拥有所有资源。
    ZRS
        8
    ZRS  
       2020-04-24 15:21:46 +08:00
    DHT 网络和你想的就比较类似
    est
        9
    est  
       2020-04-24 15:21:54 +08:00
    DHT 就是这个概念吧。基于 Kademlia 实现的。

    分布式种子有个问题就是 FBI MPAA 可以钓鱼。让用户连自己的蜜罐服务器。然后看用户在下载什么。搜集足够多的证据就起诉,无法起诉就找 ISP 断网或者发通知。
    handle233
        10
    handle233  
    OP
       2020-04-24 15:28:20 +08:00
    @nvkou
    @yeqizhang
    @ZRS
    @est 谢谢各位大佬回复,根据各位的说法,还可以通过合适的加密技术和不通过 hash 表而是简单的树状搜索是否可以有效解决这些问题呢?以及服务器被拦,我觉得降低服务器成本之后应该可以实现大量部署就没法封了。
    ganyouxuan
        11
    ganyouxuan  
       2020-04-24 15:32:27 +08:00 via Android
    那些个 bt 搜索站的成本应该也不高
    handle233
        12
    handle233  
    OP
       2020-04-24 15:35:45 +08:00
    主要是搜索方面我选择了根据关键词 树状搜索:也就是类似于在搜索引擎上面搜索,然后给搜索加入各种各样的限制来维护环境的稳定。
    nguoidiqua
        13
    nguoidiqua  
       2020-04-24 15:36:13 +08:00 via Android
    目前 BT 下载就是靠用户间互相连接,人人都是服务器,这技术在 BT 出来之后一直就有。

    eMule 也是如此,它甚至可以让用户直接搜索 eMule 网络上的所有共享资源。

    但是现实很残酷,愿意做种的人不多,大部分人都比较自私,尤其是国内还有迅雷之类只进不出的软件吸血,所以离开了那些专门的分享站还是玩不转,一旦分享站倒了或者分享站把旧的资源清理了,那些资源就很难再下载到了。

    所以发展到现在,这类技术主要还是起到热门资源的快速分发作用,减轻服务器的压力,起初它们就是这目的,最后也只达到了这目的。

    其他的不要指望太多,人性如此。
    handle233
        14
    handle233  
    OP
       2020-04-24 15:39:13 +08:00
    @nguoidiqua 谢谢大佬回复,所以说去掉 hash 下载改用树状搜索才是重点啊。
    Juszoe
        15
    Juszoe  
       2020-04-24 18:11:17 +08:00
    去掉 hash 的话,如何标识文件呢?又如何保证下载的文件是没被篡改的?
    masker0817
        16
    masker0817  
       2020-04-24 18:12:11 +08:00 via Android
    Ipfs
    DoctorCat
        17
    DoctorCat  
       2020-04-24 23:56:28 +08:00   ❤️ 1
    20 世纪 90 年代,p2p 早期的鼻祖 Napster 也是,创始人破产走人。

    后来 eMule 诞生后搜索就是服务器索引式搜索方式 ( BTW:FBI warning 来喝茶。ISP 断网了解一下)

    再后来改进了的 KAD 搜索是 DHT 的搜索方式 ( BTW:天朝 NAT 用户 lowid 基本无法 Downloading 呵呵哒)
    总结:前人的路都摸索过了,实在不行才彻底拥抱 DHT 的( BTW:FBI 奈何跨国执法????海盗湾表示哈哈)

    当今的区块链解决问题? IPFS 、FileCoin 了解一下吧。
    firefox12
        18
    firefox12  
       2020-04-26 13:15:56 +08:00
    不用 hash 搜索的话,数据量太大 基本不可能。纯文件名的话又没有意义。
    handle233
        19
    handle233  
    OP
       2020-04-26 14:01:34 +08:00
    补充一下,这个 p2p 不希望实现绝对的共享资源,而是通过与链接的朋友之间进行树状搜索并且给搜索加权来限制那些吸血客户端。不是各位的任意吸血的那种啊。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5665 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 03:41 · PVG 11:41 · LAX 19:41 · JFK 22:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.