由于xx因素,许多番剧需要通过自行下载观看,此时想要开启弹幕只有一种方法,到弹幕视频网站下载对应视频的弹幕到本地,并在播放器中加载弹幕。又是因为xx元素,并没又上架的番剧自然就没有对应的弹幕。
基于此原因,Misaka Danmaku旨在利用P2P原理实现一个去中心化的弹幕网络,根据视频资源搜索出相关的弹幕channel,并加入到此channel的弹幕网络中,以实现弹幕功能。
取自Misaka Network,碰瓷Bilxxxx(逃,又因为去中心化,这个名字在合适不过了
本网络采取 “先加入先独占” 的策略,即网络信任先加入的节点,此节点会广播其公钥,之后若有节点想以已存在的id
加入本网络则会加入失败。其原理为 消息签名
- 有一个节点
id
为1
加入本网络,并公布其公钥pu_1
,其消息均以私钥pr_1
进行加密。 - 若此人想以
id=1
,并且自己生成一对公钥私钥pu_x
,pr_x
,网络上的某节点发现此人的公钥与路由表上存储的公钥不符,则拒绝其加入网络。 - 若此人想以
id=1
加入网络,并利用已存在于网络的公钥pu_1
进行伪造,发送FIND_NODE
消息给本网络,网络某节点会取得公钥pu_1
,同时对FIND_NODE
消息进行解密。由于此人并没有私钥pr_1
对FIND_NODE
消息加密。因此合法节点一定会解密失败,从而拒绝此人加入网络。
但是此策略有些问题:
- 女巫攻击 由于节点可以随意创建(只要
id
始终保存唯一即可),此时就能占据大部分的id
空间。此时就会破坏此网络的正常运行,例如破外网络的拓扑结构、错误路由、虚假资源发布等。
存储信息的防窃取策略:
- 假设
A
想要对B
发送STORE
消息,此时A
利用B
的公钥进行加密和自己的私钥进行签名,此时消息为encode = pr_A(pu_B(message))
,此时B
的解密步骤为decode = pr_B(pu_A(encode))
。 - 若此时
C
得到了encode
这条加密后的消息,它只能完成第一步pu_A(encode)
,而无法得到实际内容。