Winny 【ウィニー】
中央サーバを持たない純粋P2P型のソフトウェアで、Winnyが実行されている端末(ノード)はネットワーク上で他のノードを通じてバケツリレー式に互いの所在を伝え合う。利用者は(初回)起動時に既にネットワークに参加しているノードの識別子を入力する必要がある。
コンピュータ内の指定されたフォルダ内にあるファイルを他の利用者と共有することができ、他の利用者の公開しているファイルを自由にダウンロードすることができる。ファイルの一覧はネットワーク上で互い交換され、ファイル名をキーワード検索することにより他のノードのファイルを指定することができる。
匿名性を高める仕組み
操作画面上ではファイルの受信状況は確認できるが、どの受信ファイルをどのノードからダウンロードしているのか、どの送信ファイルをどのノードにアップロードしているのかは直接確認することはできない。また、ノードを指定してファイルのリストを閲覧したり、ファイルの送信元ノードを指定することもできない。
ダウンロードしたファイルはキャッシュとして保存され、他の利用者からの要求に応じて送信される。自分が指定して受信したファイル以外は、キャッシュとしてどんなファイルが保管されているのか(外部に何を送信しているのか)利用者にもわからない。
Winnyの通信は共通鍵暗号で暗号化されるため、単に通信を傍受しただけでは何を送受信しているのか知ることはできない。ただし、通信開始時に平文で暗号鍵を交換する仕組みのため、通信の最初から観測していれば暗号文を復号して内容を知ることができる。実際には暗号化というよりスクランブル化に近い仕組みと言える。
効率を高める仕組み
ダウンロード指定したファイルを直接受信せず、一旦別のノードに送信させてから受信する「転送」機能がある。FTTH回線などで通信速度の速いノードに頻繁に「転送」させることにより、効率的にファイルの拡散が進み、匿名性を高める効果があるとされている。
ファイアウォールなどでファイルの送信ができない(受信するのみの)ノードも参加することができるが、同時にダウンロードできる最大接続数は送信実績に応じて決まるようになっている。他のノードに多く送信したノードほど多く受信でき、外部へ送信できないノードは同時接続数が2件に制限される。
情報共有の仕組み
ファイルの検索・送受信を効率よく行うため、キーワードによる利用者のグループ化(クラスタ化)が行われる。似通った検索キーワードを設定している「同好の士」が自然に集まるようになっており、無駄な検索トラフィックやファイルの送受信を削減している。
また、スレッド型の独自の匿名掲示板(BBS)システムがあり、中央サーバを置かずにバケツリレー式に書き込み内容がネットワーク内を伝播していく仕組みになっている。利用者は匿名で掲示板(スレッド)を立ち上げたり、他の掲示板に書き込むことができるようになっている。
歴史
匿名掲示板サイト「2ちゃんねる」の中でファイル共有ソフト関連の話題を扱う「ダウンロード板」の常連利用者だった「47」氏(スレッド内の発言番号からこのように呼ばれ・名乗っていた)が開発・公開した。同板には専用のスレッドが設けられ、改良が進められていった。
2002年5月に最初のバージョンが公開され、2003年5月からは全面的に刷新された「Winny 2」が公開されている。WinnyとWinny 2はプロトコルやキャッシュの形式が異なるため互換性はない。
他のP2P型匿名ファイル共有ソフトと同じく著作権侵害など違法なファイルの送受信が横行し、2000年代半ばに利用者の摘発が相次いだ。2004年5月には著作権侵害幇助の疑いで開発者の47氏が逮捕・起訴され、氏が東京大学大学院助手(当時)の金子勇氏だったことが判明した。ファイル共有ソフトの開発者の摘発は世界的に稀な事例で注目を集めたが、2011年に無罪判決が確定した。