这是一个专门讨论 idea 的地方。

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

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
imdong

从技术角度讲,是否有可能建立(或已经有)类似 P2P + Tor 的匿名聊天/邮件工具?

  •  
  •   imdong · May 22, 2020 · 4304 views
    This topic created in 2223 days ago, the information mentioned may be changed or developed.

    一直有一个想法,就是每个人生成一个自己的 RSA 密钥对 即可创建一个账户,公网上公开自己的 密钥签名,并且加入到这个 P2P 的网络中来。

    应该是可以和 BT 下载的 DHT 一样,完全去中心化,可以有公共的 Tracker,但每个人又都是 Tracker,相互交换自己已经获取到的 其他用户 / Tracker 的连接信息。

    当 A 需要发送信息给 B 时,使用自己的私钥对信息加密签名,然后把接收人的公钥指纹和加密的信息打包在一起,然后将打包后的数据广播给自己可以连接的用户。

    每个用户接收到别人投递的包裹时,如果收件人不是自己,则再次广播给自己的其他用户,直到信息被收件人签收,也许会和 “六度空间理论” 一样,经手 6 个人就可以到达收件人手中。

    为了激励用户,并且减少 “广播风暴”(是这个词么?),应该加入类似 TTL 的过期制度,或者使用金钱作为奖励,如果链路连接成功,则将奖励平均分给成功的链路中所有参与的用户,如果平均奖励低于最低单位时,丢弃信息。

    但是似乎这样发送效率会挺低的,并且垃圾信息会很多,可以考虑把自己的指纹隐藏一部分然后与其他人交换。

    例如:"63BA2ACA57F35E34B52153F9FA217BF1" => "6------A---35----5--5--------B-1";

    每个人收到信息后,优先将邮件转发给指纹比较相近的若干人,也许能减少。

    漏洞挺多的,但感觉挺有意思的😂理性讨论,不要喷我哈,暂不考虑政策问题。

    17 replies    2020-06-04 12:40:05 +08:00
    catror
        1
    catror  
       May 22, 2020 via Android
    tox 了解一下
    imdong
        2
    imdong  
    OP
       May 22, 2020
    @catror 研究了一下,是 P2P 对等聊天工具,没有包含 Tor 属性,不能隐藏自己的 IP,但有提到有人使用 Tor 隐藏自己。

    隐私上足够了,只是 Tor 好像没办法实现 P2P ?
    catror
        3
    catror  
       May 22, 2020 via Android
    @imdong 要 Tor 属性的话,可以 Tox over Tor,官网有配置指引
    jimmyismagic
        4
    jimmyismagic  
       May 22, 2020
    tok, telegram, keybase, 等等
    jimmyismagic
        5
    jimmyismagic  
       May 22, 2020
    再参考下 grin,一种是通过蒲公英,另外一种是 tor,tor 当然可以 p2p,点对点加密聊天原理其实很简单,至于激励,你说的那种方式不太可能,必须用到区块链的激励制度,这种方式下并不是你帮忙传播就能得到激励的,事实上 p2p 不需要激励,就像 tcp 一样
    swulling
        6
    swulling  
       May 22, 2020 via iPad
    直接建一个 smtp 服务器,然后用 tor 网络发出去不就行了。

    email 本身就是 p2p 的系统,唯一需要解决的是匿名。
    J55s5
        7
    J55s5  
       May 22, 2020
    脑洞挺不错的丫
    AngryPanda
        8
    AngryPanda  
       May 22, 2020 via Android
    类似 dht 网络的翻墙方案应该不错
    cnt2ex
        9
    cnt2ex  
       May 23, 2020
    @AngryPanda i2p 差不多就是这样
    cnt2ex
        10
    cnt2ex  
       May 23, 2020
    >每个用户接收到别人投递的包裹时,如果收件人不是自己,则再次广播给自己的其他用户,直到信息被收件人签收,也许会和 “六度空间理论” 一样,经手 6 个人就可以到达收件人手中。
    可以参考 tor 或者 i2p 的做法。
    比如 A 和 B 之间的通信,B 会事先找一个节点 C,和 C (通过匿名的方式)建立连接,然后 B 在 dht 里存要找 B 的话去找 C,之后 A 如果想和 B 通信,A 会查 dht 得到这个信息,然后 A 和 C (通过匿名方式)建立连接,这样 A 和 B 就能通信了。
    wangbudong
        11
    wangbudong  
       May 23, 2020
    @cnt2ex 这个人不在线是否一直广播,还是只广播 6 次
    cnt2ex
        12
    cnt2ex  
       May 23, 2020
    @wangbudong 我那段话是引用楼主的。
    learningman
        13
    learningman  
       May 23, 2020 via Android
    @cnt2ex 我觉得会变成风暴
    lechain
        14
    lechain  
       May 25, 2020 via Android
    小杠一下“当 A 需要发送信息给 B 时,使用自己的私钥对信息加密签名,”不应该要用对方的公玥加密吗?🤣自己的私钥加密,你的公玥可是公开了的呀😂
    lechain
        15
    lechain  
       May 25, 2020 via Android
    个人觉得楼主的想法很有意思,如果能实现,应该会有一定的接受度
    imdong
        16
    imdong  
    OP
       May 25, 2020
    @lechain 得亏发现的早,不然就算重大漏洞了,这都不是 BUG 这么简单了😂

    应该可以实现,只是效率之类的太多问题需要解决,反正我是没有这个能力的(当下)
    firefox12
        17
    firefox12  
       Jun 4, 2020
    关键是激励机制, 别人为什么要帮你广播? 都是 p2p, 谁也不欠谁, 其次是 spam, 如果解决好激励机制,spam 也就不是问题。 任何系统的核心只有一个 利益分配 。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   915 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 20:39 · PVG 04:39 · LAX 13:39 · JFK 16:39
    ♥ Do have faith in what you're doing.