Original author(s) Development status Active | Initial release 2006 Written in C++ | |
Developer(s) Kaichō (会長, "The Chairman") Stable release 1.23 "intolerance" / December 3, 2015 (2015-12-03) |
Perfect Dark (パーフェクトダーク) is a peer-to-peer file-sharing (P2P) application from Japan designed for use with Microsoft Windows. It was launched in 2006. Its author is known by the pseudonym Kaichō (会長, lit. "The Chairman"). Perfect Dark was developed with the intention for it to be the successor to both Winny and Share software. Japan's Association for Copyright of Computer Software reports that in January 2014, the number of nodes connected on Perfect Dark (7004240000000000000♠24000) was less than on Share (7004440000000000000♠44000), but more than on Winny (7004120000000000000♠12000). The number of nodes for all three networks has been falling since 2007 when ACCS first started surveying nodes.
Contents
- Overview
- DKTDHTDU
- Network bandwidth requirement
- Disk space requirement
- File system requirement
- Distributed datastore
- File search tree search
- Text flow
- Automated update
- Messages boards
- Security
- Legal issues
- References
As of version 1.02 (2008), code-named "STAND ALONE COMPLEX", there is support for the program to run in English, an option that can be selected when the program is installed.
Overview
Perfect Dark is still being actively developed. The author does not ask that the program's users at this point become dedicated "users" of the software. Instead, the author asks them to participate in the test phase. Through this test phase, the author hopes for bug reports and discussion that will help shape Perfect Dark into a better program.
DKT+DHT+DU
The author implements an architecture called DKT+DHT+DU in the design of the network. These three parts compose the entire network.
"DKT" is mainly for providing effective file searching while "DHT" and "DU" is used for effective file sharing and enhancing anonymity.
Network bandwidth requirement
Perfect Dark has higher bandwidth and hard drive space requirements than its predecessors Winny and Share. The minimum upload speed is 100 KB/sec.
Perfect Dark requires more network bandwidth and hard disk space than Winny or Share, forcing a fairer load on all users. If a user does not have Perfect Dark configured with the proper settings or if the user is unable to support the settings, download rates will be restricted and priority will be given to other users. This is intended to increase the retention rate of the Perfect Dark network.
Disk space requirement
It requires to share at minimum 40 GB of hard drive space, for its "Unity" folder (a huge distributed hash table used as a distributed data store).
File system requirement
Perfect Dark requires NTFS file system instead of FAT32, because FAT32 is limited to a file size of 4 GB, while Perfect Dark can download files up to the size of 32 GB.
Distributed datastore
Like other Japanese sharing software, Perfect Dark has its own proprietary P2P network called "Unity".
One of the biggest characteristics of Perfect Dark is its powerful search capability. By using distributed hash tables, search performance is greatly improved compared to Winny or Share, making it unnecessary to rely on the construction of node clusters. This frees users from inputting or switching cluster keywords and also enables users to search for files of different genres at the same time. This is in contrast to Winny and Share, where cluster keywords, such as "DVDISO" or "アニメ"/"anime" are used to specify what types of files the user is searching for. These keywords segregate the network and introduce delays when the user changes to them.
File search : tree search
The concept of "tree search" brings about strong search ability. In addition, the flexible use of AND, OR and NOT Boolean operators helps filtering out undesirable results.
Text flow
Perfect Dark includes an original feature named "flow": a window where text lines written by users scroll vertically. Each user can write one little message (few lines and columns), and it will be displayed to the other peers using the flow feature.
Automated update
Since version 1.02 Perfect Dark has an option to automatically update itself through its own (Unity) network.
Messages boards
Perfect dark has a simple message board feature. The boards are distributed into Unity network. The design is rudimentary. To get boards, these must be searched with the file search feature, with (for example) the Japanese keyword : ボード (board).
Security
The overall structure of the Perfect Dark network broadly resembles recent versions of Freenet, only with a heavier use of distributed hash tables.
The anonymity relies on a mixnet where traffic is forwarded according to certain probability, as well as the deniability of the distributed data storage ("Unity") which is stored and transferred in encrypted blocks while the keys are distributed separately.
Perfect Dark uses RSA (1024-bit) and AES (128-bit) to encrypt data transmitted between peers. Exchanged keys are cached for efficiency.
Published files and boards (including automatic updates from the author, where enabled) are usually signed with 160-bit ECDSA signatures. Automatic updates of the software are additionally protected with a 2048-bit RSA signature.
The author believes that initially, a layer of obscurity due to the closed-source nature of the program will frustrate attempted attacks on its anonymity, as well as deter "free riders" and junk files degrading the network. However, the author has stated that it may become open-source in the future should an acceptable solution to these problems be found.
The Japanese security firm NetAgent is claiming (2010) that they have created software capable of deciphering encrypted information such as the IP address of the original computer uploading a file as well as the file name and other details of Perfect Dark.