퍼펙트 다크 (P2P)

(Perfect Dark)는 마이크로소프트 윈도우용으로 설계된 일본의 P2P 파일 공유 애플리케이션이다. 2006년에 출시되었다. 이 소프트웨어의 개발자는 라는 가명으로 알려져 있다. 퍼펙트 다크는 Winny와 Share 소프트웨어의 후속작이 될 의도로 개발되었다. 일본 컴퓨터 소프트웨어 저작권 협회는 2014년 1월 퍼펙트 다크의 연결 노드 수()가 Share()보다 적지만 Winny()보다는 많다고 보고했지만, Netagent는 2018년에 Winny가 50,000개의 노드로 가장 많았고, 퍼펙트 다크가 30,000개, 셰어가 10,000개로 그 뒤를 이었다고 보고했다. Netagent는 퍼펙트 다크의 노드 수가 2015년 이후 감소한 반면, Winny의 노드 수는 안정적으로 유지되고 있다고 주장한다. Netagent는 퍼펙트 다크 사용자들이 책/만화를 공유할 가능성이 가장 높다고 보고한다.

버전 1.02("스탠드 얼론 콤플렉스"라는 코드명)부터는 프로그램 설치 시 선택할 수 있는 영어 지원 기능이 있다.

## 개요
퍼펙트 다크는 여전히 활발히 개발되고 있다. 개발자는 현재 시점에서 프로그램 사용자들에게 소프트웨어의 헌신적인 "사용자"가 될 것을 요구하지 않는다. 대신, 개발자는 사용자들에게 테스트 단계에 참여해 달라고 요청한다. 이 테스트 단계를 통해 개발자는 버그 보고와 토론을 통해 퍼펙트 다크가 더 나은 프로그램으로 발전하기를 바란다.

### DKT+DHT+DU
개발자는 네트워크 설계에 DKT+DHT+DU라는 아키텍처를 구현한다. 이 세 부분은 전체 네트워크를 구성한다.

* "DKT"는 분산 키워드 테이블(Distributed Keyword Table)을 의미한다.
* "DHT"는 분산 해시 테이블을 의미한다.
* "DU"는 분산 유니티(distributed Unity)를 의미한다.

"DKT"는 주로 효과적인 파일 검색을 제공하는 반면, "DHT"와 "DU"는 효과적인 파일 공유 및 익명성 강화를 위해 사용된다.

### 네트워크 대역폭 요구 사항
퍼펙트 다크는 이전 버전인 Winny와 Share보다 더 높은 대역폭 및 하드 드라이브 공간 요구 사항을 가지고 있다. 최소 업로드 속도는 100&nbsp;kbit/s이다.

퍼펙트 다크는 Winny 또는 Share보다 더 많은 네트워크 대역폭과 하드 디스크 공간을 필요로 하여 모든 사용자에게 더 공정한 부하를 강제한다. 사용자가 적절한 설정으로 퍼펙트 다크를 구성하지 않았거나 해당 설정을 지원할 수 없는 경우, 다운로드 속도가 제한되고 다른 사용자에게 우선 순위가 부여된다. 이는 퍼펙트 다크 네트워크의 유지율을 높이기 위함이다.

### 디스크 공간 요구 사항
"유니티(Unity)" 폴더(거대한 분산 해시 테이블로 사용되는 분산 파일 시스템)에 최소 40&nbsp;GB의 하드 드라이브 공간을 공유해야 한다.

### 파일 시스템 요구 사항
퍼펙트 다크는 FAT32 대신 NTFS 파일 시스템을 요구한다. FAT32는 파일 크기가 4&nbsp;GB로 제한되는 반면, 퍼펙트 다크는 최대 32&nbsp;GB 크기의 파일을 다운로드할 수 있기 때문이다.

## 기능

### 분산 파일 시스템
다른 일본 파일 공유 소프트웨어와 마찬가지로, 퍼펙트 다크는 "Unity"라는 자체 P2P 네트워크를 가지고 있다.

퍼펙트 다크의 가장 큰 특징 중 하나는 강력한 검색 기능이다. 분산 해시 테이블을 사용함으로써 Winny나 Share에 비해 검색 성능이 크게 향상되어 노드 클러스터 구축에 의존할 필요가 없다. 이는 사용자들이 클러스터 키워드를 입력하거나 전환할 필요를 없애고 동시에 다른 장르의 파일을 검색할 수 있게 해준다. 이는 "DVDISO" 또는 "アニメ"/"anime"와 같은 클러스터 키워드를 사용하여 사용자가 검색하는 파일의 유형을 지정하는 Winny 및 Share와 대조된다. 이러한 키워드는 네트워크를 분리하고 사용자가 키워드를 변경할 때 지연을 발생시킨다.

### 파일 검색: 트리 검색
"트리 검색" 개념은 강력한 검색 능력을 가져온다. 또한 AND, OR 및 NOT 불린 연산자의 유연한 사용은 원치 않는 결과를 필터링하는 데 도움이 된다.

### 텍스트 흐름
퍼펙트 다크는 "플로우(flow)"라는 고유한 기능을 포함하고 있다. 이는 사용자가 작성한 텍스트 줄이 수직으로 스크롤되는 창이다. 각 사용자는 작은 메시지(몇 줄과 열)를 작성할 수 있으며, 이는 플로우 기능을 사용하는 다른 피어에게 표시된다.

### 자동 업데이트
버전 1.02부터 퍼펙트 다크는 자체(Unity) 네트워크를 통해 자동으로 업데이트하는 옵션을 제공한다.

### 메시지 게시판

퍼펙트 다크에는 간단한 게시판 기능이 있다. 게시판은 Unity 네트워크에 분산되어 있다. 디자인은 기본적인 형태이다.
게시판을 찾으려면 파일 검색 기능을 사용하여 (예를 들어) 일본어 키워드 (board)로 검색해야 한다.

## 보안
퍼펙트 다크 네트워크의 전반적인 구조는 최근 버전의 HyphaNet과 대체로 유사하며, 분산 해시 테이블을 더 많이 사용하는 점만 다르다.

익명성은 트래픽이 특정 확률에 따라 전달되는 믹스넷과, 암호화된 블록으로 저장 및 전송되며 키가 별도로 분산되는 분산 데이터 스토리지("Unity")의 부인 가능성에 의존한다.

퍼펙트 다크는 피어 간에 전송되는 데이터를 암호화하기 위해 RSA (2048비트) 및 AES (128비트)를 사용한다. 교환된 키는 효율성을 위해 캐시된다.

게시된 파일 및 게시판(개발자의 자동 업데이트 포함, 활성화된 경우)은 일반적으로 160비트 ECDSA 서명으로 서명된다. 소프트웨어의 자동 업데이트는 추가적으로 2048비트 RSA 서명으로 보호된다.

개발자는 프로그램의 클로즈드 소스 특성으로 인한 초기 불투명성 계층이 익명성에 대한 공격 시도를 좌절시키고 "무임승차자" 및 네트워크를 저하시키는 불필요한 파일을 억제할 것이라고 믿는다. 그러나 개발자는 이러한 문제에 대한 허용 가능한 해결책이 발견되면 미래에 오픈 소스가 될 수도 있다고 언급했다.

일본의 보안 회사 넷에이전트(NetAgent)는 (2010년에) 파일 업로드 컴퓨터의 IP 주소와 파일 이름 및 퍼펙트 다크의 기타 세부 정보와 같은 암호화된 정보를 해독할 수 있는 소프트웨어를 개발했다고 주장한다.

## 법적 문제
* 퍼펙트 다크 사용자가 2010년 1월 27일 처음으로 체포되었다. 이 사용자는 일본 애니메이션 TV 시리즈인 강철의 연금술사 BROTHERHOOD의 한 에피소드를 퍼펙트 다크를 통해 업로드하고 공유했으며, 저작권법 위반 혐의로 기소되었다.
* 2010년 6월 10일, 두 번째 사용자이자 43세 남성이 크게 휘두르며 애니메이션 시리즈를 포함한 약 1,000개의 저작권이 있는 파일을 업로드한 혐의로 체포되었다.
* 2010년 10월 8일, 42세 여성이 쓰리몬 애니메이션 TV 시리즈를 업로드한 혐의로 체포되었다.

## 같이 보기
* 익명 P2P
* 분산 파일 시스템
* 일본의 파일 공유
* Share
* Winny

## 각주

## 외부 링크
* 

분류:윈도우 전용 소프트웨어
분류:파일 공유 네트워크
분류:사유 소프트웨어