# Perfect Dark (P2P)

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ō (会長, "The Chairman"). Perfect Dark was developed with the intention for it to be the successor to both Winny and Share software. While Japan's Association for Copyright of Computer Software reported that in January 2014, the number of nodes connected on Perfect Dark (24000) was less than on Share (44000), but more than on Winny (12000), Netagent in 2018 reported Winny being the largest with 50 000 nodes followed by Perfect Dark with 30 000 nodes followed by Share with 10 000. Netagent asserts that the number of nodes on Perfect Dark have fallen since 2015 while the numbers of Winny hold steady. Netagent reports that users of Perfect Dark are most likely to share books/manga.
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" stands for Distributed Keyword Table.
* "DHT" for Distributed Hash Table.
* "DU" for distributed Unity.
"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 kbit/s.
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.

## Features
### 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 HyphaNet, 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 (2048-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.

## Legal issues

* A Perfect Dark user was arrested for the first time on 27 January 2010. The user had been uploading and sharing an episode of the Japanese animated TV series Fullmetal Alchemist: Brotherhood with Perfect Dark and was charged with breach of copyright law.
* On 10 June 2010, a second user, a 43-year-old man, was arrested on the suspicion of uploading roughly one thousand copyrighted files including the Big Windup! anime series.
* On 8 October 2010, a 42-year-old woman was arrested for uploading the Mitsudomoe anime television series.