日系P2P原理探究(六)——Perfect Dark~次世代P2P~

                接上篇。因为资料缺乏,所以这篇拖了很久。


我为人人、人人为我的P2P精神

还记得上篇中提到的吗?在2006年日本的黑帽大会上,网络安全公司NetAgent 就宣称有办法判别Share网络上每一个节点,在下载什么文件、使用的ID以及IP位址。

这时候,某些开发者就有了“危机感”。2CH上ID为“会长”( Kaichō )的开发者于2006年发布了Perfect Dark这款软件。可能“会长”就是 其中一个(?)。

Perfect Dark,全称为Perfect Dark~The Next Generation P2P~。是一款日本的P2P软件,简称为PD。此软件与Share、Winny的性质相同,也是私人开发的免费P2P软件,现有日文版、中文汉化版及英文版。从软件全称就可以看出,Perfect Dark的开发目的是为了成为Share后的次世代P2P软件。


Perfect Dark 的 LOGO

Perfect Dark 从2006年开始发布,开发者的ID为 会长( Kaichō )。从最初的版本到0.932版连1年的时间都不到。目前最后稳定版本为 1.10(于2012年6月16日发布)。

 

特性

  • Perfect Dark本身就是UNICODE码,不同语言环境开启以后都不会显示乱码。
  • 使用1024位RSA与128位AES进行加密。
  • 和 Share、Winny一样建立在Freenet之上,但用到了更大的分布式散列表。
  • 与Share、Winny一样适用于外网用户。
  • 它不能像BitTorrent以速度为第一目标,而是以资源存活率为优化重点,所以不会有神奇的下载速度,需要很长时间的等待。
  • 同上的原因,有一个特别用户的缓存机制——被称为 "unity" ,容量不得少于40GB。
  • 最低上传速度为100 KB /秒,对宽带网的真实性要求较高。(注1
  • 功能强大的搜索能力

 

详述

 

功能强大的搜索能力

相比 Winny 和 Share,Perfect Dark 在分布式哈希表的搜索性能上有了很大的提高,不必完全依赖节点的集群设定。

这释放了用户在集群的关键字上的限定,可恨方便的输入或切换资源集群。可以让用户同时搜索不同类型的资源。(在Winny 和 Share中用户必须在使用前先预先设定资源类型(集群)关键词如“DVDISO”或“アニメ”,这些关键词相对的隔离了整个分享网络)。

同时结合“ tree search ”(树搜索算法)的概念。

此外,还灵活运用AND,OR和NOT布尔运算符,可以帮助过滤掉不想要的结果。

以上这些改进大大的提高了Perfect Dark的资源搜索和锁定能力

 

“强制分享”机制,延长资源存活率

unity缓存机制

对于P2P分享的内容而言,没有人保持上传(对于BitTorrent,则是做种)便无法下载内容,而Perfect Dark使用了一种独特的缓存(Cache)机制来保证资源可用,被称为“Unity”。

unity为一种“强制分享”机制,限定每个Perfect Dark用户必须至少拿出40GB的硬盘空间缓存,由Perfect Dark自动下载各种文件片段(内容未知且不可控),并且在unity被填满之前,用户自行下载的内容不会具有最高优先级。

因为这个原因,Perfect Dark在初次使用的时候速度不会很快,并且大多数时间它都在自顾自地下载缓存内容。

强制上传限定

和unity机制相同目的的还有一个“强制分享”机制。

Perfect Dark强制规定最低上传速度为为100 KB /秒。迫使所有用户公平的负载。如果用户没有正确配置软件或网络环境不支持上传带宽,那么将失去下载优先权。

 

网络架构

开发者实现了 dkt+dht+du 的设计网络架构。

DKT+DHT+DU,他们分别代表了:

DKT:分布式关键字表【分散キーワードテーブル (Distributed Keyword Table)】
DHT:分布式散列表【分散ハッシュテーブル (Distributed Hash Table)】
DU:分布式统一缓存 【 分散ユニティ (Distributed Unity)】

其中,DKT主要目的是为了提供有效的文件搜索能力。为了解决分布式哈希表(DHT)不支持模糊匹配和查找延迟长等问题,通过树形搜索算法来实施搜索操作。而DHT + DU是为了有效的增加匿名性 和 分散上传。

 

易用性

Perfect Dark抛弃了日式软件奇葩的思维方式,终于与国际接轨,使用思维与全球流行的emule类似。

在设计网络架构的时候,除了文件共享,开发者也考虑到了其他功能的实现。

例如,实现了一个简单的公告制度。可以清楚看到资源的评分以便选择合适的文件下载,下到假档的机率要比Share低。(注3

另外上文提到的 Perfect Dark提高了搜索性能,同时引入了树搜索算法,从而解决了完全依赖Cluster(群集)的问题,释放了初级用户。相对Share采用Cluster(群集)方式则对初学者略有难度,而且为了更易用还需要使用多种插件。和emule一样只要连接到节点上,就可以在内置的搜索功能中进行内容搜索和下载。

Perfect Dark本身是UNICODE码,内置了英文版,且有自动更新功能。不会乱码,且省去了用户寻找各种版本的麻烦。

 

缺点

可以说Perfect Dark的优点就是缺点。

首先就是硬性规定了缓存大小为40GB以上,且上传速度为100 KB /秒,对当时很多用户来说有些“吃不消”。

其次是资源发布速度慢。本来强制了100 KB /秒 的上传速度对发布速度来说应该是很有优势的,但是Perfect Dark使用了更大的分布式散列表,资源上传更加分散,碎片化,导致从发布到出现其他分流者(有其他人完整下载并加入到上传中)的时间过长。对于发布者而言,如果能在发布后尽快删除版权文件也是提高安全性的重要一步。所以Perfect Dark步兵师一个作为首发的最佳工具,在这方面Share表现的更加。所以如果不是特意在Perfect Dark上抢首发的话,想找到最新资源的概率也就低了。

再次,由于Perfect Dark起步和Share、Winny相比晚了很多,所以旧资源和Share、Winny相比还有欠缺。尽管Perfect Dark的用户也在增长,但是很多有些年头的文件却没有被搬运过来,所以对于那些想寻找一些中古物的人来说,Share、Winny仍然是一个不可替代的来源。

另外,虽然没明说对大中华区不提供服务,但是确实有通过IP屏蔽软件来屏蔽中国IP的情况,所以如果有些档案下载不了也许是这个原因。

 

软件更新情况

Perfect Dark目前相对Share来说,可以说是开发更新活跃,且Perfect Dark可以自动更新,带来更多功能和保证安全性。

2008年5月:发布1.02版,代码名为“STAND ALONE COMPLEX”,官方第一次支持英语环境。(注2
2009年4月26日:宣布停止开发,版本停留在Ver.1.05。
2009年10月27日:再次恢复更新至Ver.1.06 (稳定版)。
2011年4月初:更新至Ver.1.07,增加新功能:当缓存达到预设值自动削除时,对于pd网络上广泛存在的缓存进行优先削除等。
2011年9月中旬:更新至Ver.1.08,修正若干bug,增强对ie9的兼容性等。
2012年6月6日:更新至Ver.1.09
2012年7月14日:更新至Ver.1.10

 

发展状况

2007年,P2P软件 Share 接连受到冲击。节点网站stereoz、EWP等站陆续关闭,使本来节点维持量较低的Share连接率进一步下降。去中心化P2P软件虽然不依靠服务器传输数据,包含了用户IP和端口信息的节点数据对其非常重要,这些节点站的作用,就是将用户自己的节点信息公布在上面,并获取其它用户的节点信息,以便与其他用户建立连接。失去了节点站,对Share的下载速度大受打击。在此阶段,有不少用户转投Perfect Dark,Perfect Dark迎来了第一个用户大增长。

2009年5月,每日节点数达到了35,000至40,000。

2009年盂兰盆节期间,每日节点数达到了5万1000,和5月的黄金周期间相比,增长了137%

2010年12月1日 到 2011年1月31日,达到了每日6万个节点

直到目前,Perfect Dark并没有像一些人所想的那样取代Share,称为次世代的日本P2P软件。

 

注释

注1:为什么说是真实性?比如大陆的宽带,ISP往往兑现了下行速度,但在上行带宽上缩了水

注2:同年的5月Share发生九·五事件 ,不知道该代号是不是为了应援Share的(纯属蚊仔的猜测)

注3:share也有假档提示机制,但是并没有像Perfect Dark完善。

知识共享许可协议作品采用CC 3.0许可协议进行许可。

原创文章,转载请注明: 转载自蚊仔部屋
本文链接地址: 日系P2P原理探究(六)——Perfect Dark~次世代P2P~

发表评论

电子邮件地址不会被公开。 必填项已用*标注

想显示头像?本站支持Gravatar

Scroll Up