OpenDanmaku / OpenDanmaku

A Project of Client/Server Danmaku Storage Service written in Raw PHP.
68 stars 12 forks source link

On P2P Danmaku / 关于P2P弹幕 #3

Open Schezuk opened 9 years ago

Schezuk commented 9 years ago

草稿地址:http://opendanmaku.github.io/p2p_danmaku.html 详解:http://www.v2ex.com/t/170114 QQ群417216334 欢迎诸君提出意见和建议。

swordfeng commented 9 years ago

必须引入对ip和个人证书的信用评级系统,不然容易遭到伪装节点的攻击

Schezuk commented 9 years ago

求详解? 另:Q群见1楼~~~

swordfeng commented 9 years ago

比如,迅雷掺了一脚,加入一个客户端,但是这个客户端大量发布垃圾信息 目前你的想法可以屏蔽掉发出来的垃圾消息,但是需要做的是屏蔽掉这个客户端

Schezuk commented 9 years ago

接收迅雷的信息->太吵->视作垃圾客户不显示->如果转发给别人会被视作垃圾客户->拒绝转发->天下太平 我其实比较担心有些人手里IP很多,然后创建无数自署名,每个署名只发几十条,这个就不好办了

swordfeng commented 9 years ago

我有一个想法 所有发布的弹幕必须经过数字签名 publickey可同时用作客户端唯一识别和信用记录 而新的publickey都是不被信任的 弹幕只有很少数会出现 信用度可由可信来源的支持提高 和 用户本身的支持提高

edit: 当然是不成熟的想法 而且目前的p2p网络好像没有哪个引入数字签名的 因此还需要深入探讨

Schezuk commented 9 years ago

这个不错,用数字签名中心来控制用户 当然新用户会有些问题,这个还要研究

swordfeng commented 9 years ago

@Schezuk 数字签名不需要中心,本来就是为分布式设计的……讲详细点吧 每个客户端都生成自己的keypair 然后找到一个可信网络 把自己的publickey发布出去 网络中的客户端会把publickey和ip进行绑定 并记录信用和在线时长 以后该客户端发的每条弹幕都经过privatekey签名 这样发布的弹幕可以被确定由该客户端发出 这样这个客户端发布的所有弹幕都可以被追踪到 而且根据弹幕内容进行信用评级 最终结果就是这个客户端被评级了 新的publickey被识别到时,总会有较低的信用 随着发出的弹幕变多,被人接受的多(即没有被大量屏蔽),信用就逐渐提高

swordfeng commented 9 years ago

这个可能要结合到具体的DHT算法里去……这方面我不太了解- -p2p我本身了解的就不多,只有p2p下载用的一些常识而已

swordfeng commented 9 years ago

补充一点,事实上提高信用的一个方法是——叫你的朋友信任你的publickey 这样达成了事实上的邀请制度,而且由于你只是让你的朋友信任了这个key,你的初始信用和你的朋友的信用也是正相关