« GHQ日本占領史 (13)地方自治改革 | メイン | 「意識」とは何だろうか―脳の来歴、知覚の錯誤 »

2007年01月20日

Winnyの技術

■ 書籍情報

Winnyの技術   【Winnyの技術】

  金子 勇 (著), アスキー書籍編集部 (編集)
  価格: ¥2520 (税込)
  アスキー(2005/10)

 本書は、「P2P型のファイル共有ソフトWinnyの動作と構造」を、Winnyの開発者である著者自身が「詳細に解説したもの」です。著者は、2004年5月10日にWinnyを使った著作権侵害行為を幇助したとして京都府警(その直前に、京都府警自身の警官がWinnyを使っていてウイルスに感染し、捜査情報を流出させるという事件が起こり、示しがつかないという理由で逮捕に踏み切ったという説がささやかれています)に逮捕されたことで注目されました。
 第1章「P2Pの基礎知識」では、Winnyを、「ユーザーが『持ち合い』で運用するファイル共有システム」であり、「結果的に数十万から100マンともいわれるユーザーが参加するネットワーク」が出来上がったことが紹介されています。Winnyは、クライアント/サーバ方式とは対照的な通信形態で、「サービス提供者となる特定のサーバはなく、対等な役割を果たす各ピアが状況に応じてサービスの提供者になったり利用者になったり」するものであり、「ノード(節)とリンク(結線)による網目状の構造」となっていることが述べられ、このP2P型システムが、
・システム規模の急拡大にも耐えられる。
・コンピュータやネットワークの障害に強い。
・データの一元管理や短時間の同期は苦手。
・P2Pネットワーク全体の管理や監視が難しい。
という特徴を持つことが解説されています。
 P2Pファイル共有ソフトについては、これまでの進歩を、
・第一世代:ノード情報は中央のサーバが集中管理。Napsterなど。
・第二世代:純粋にノード同士でファイルの検索と転送が可能。Gnutellaなど。
・第三世代:キャッシュ機構を備え、匿名性が高い。Winnyなど。
の3つに分け、
・ノードの発見
・ファイルの検索
・ファイルの転送
に大きな違いがあることが解説されています。そして、ピュアP2Pを追求した第二世代のGnutellaには、「ネットワーク規模が大きくなると破綻する」という問題があることや、第三世代ファイル共有ソフトは、「情報の第一発見者がわからない」という意味で匿名性が高いことなどが解説されています。
 第2章「Winny紹介」では、Winnyの開発コンセプトとして、
・匿名性(プライバシーの保護)を実装したファイル共有ソフトであること。
・ファイルの共有効率がよいこと。
・Windowsネイティブプログラムであること(FreenetはJavaで実装された)。
の3点を挙げています。なおここでは、
・匿名性:情報の第一発見者を隠すことによりプライバシーを保護すること。
・共有効率:ほしい情報ができるだけはやく得られること。
の意味で用いられています。
 また、開発したソフトウェアの検証が難しいといわれているP2P型ソフトウェアの開発において、Winnyの開発は、大規模掲示板である2ちゃんねるのユーザー(2ちゃんねらー)の協力によってテストが行われ、最初のネットワークが構築されたことが語られています。
 第3章「Winnyの仕組み」では、Winnyネットワークを、「各ノードがインターネットを介して接続し、形成しているネットワーク」であり、「インターネット上にWinnyノード相互が築いたアプリケーションによるネットワーク」であると解説されています。その特徴として、「検索や配送の効率を高めるため、Winnyは高速な回線に接続しているノードにより多くのキーやファイルを集めるようになって」いて、
・上流:高速な回線に接続するノード
・下流:低速な回線に接続するノード
とする特有の概念があることが解説されています。その効果は、「川の流れ的理論」として示され、「川の中央(高速回線の上流ノード)は水の流れが速いので、同じポイント(ノード)を見ていると、大量の水が流れ込んでは出て行」くのに対し、「岸(低速回線の下流ノード)は流れが遅く、水がよどんでいて魚はほとんどいない」が、「棹で中瀬に向かって針を投げれば(検索をすれば)、一本釣りであっても比較的割りよく魚を釣り上げ」られることが解説されています。また、もう一つの特徴である「クラスタリング」については、「『好みの似ている』ノードをひとかたまり(クラスタ)にすること」であり、これによって、「ダウンロード希望者は少ない検索ステップでファイルを入手可能になり、情報の共有という面では効率がよくなる」ことが述べられています。
 著者は、Winnyネットワークを「系」としてとらえた時に、「効率のよいネットワーク形態」として、「ファイルを保有するノードからファイルを必要としているノードまでの距離(ホップ数)を短くすること」と、「ネットワークの規模が大きくなると、すべてのノードを相互に接続させるのは現実的では」ないこととを両立させるために、生活環境や関心事でクラスタリングするとともに、「メッセージの伝言では、なるべく『顔の広い人』にメッセージを託したほうが、伝言の成功率が高くなる」のと同じように、Winnyネットワークでは、「回線速度の速いノード(上流ノード)を『顔の広い人』に」することによって、ファイル共有の効率をよくしていることが解説されています。
 第4章「実装」では、Winnyのキーには、
・ファイル名
・ファイルサイズ
・ファイルID(ファイルの内容のMD5ハッシュ値)
・公開者情報(トリップ:片方向関数で生成された公開者認証文字列)
・ファイル流通量(参照された回数)、最終アクセス日時
・キャッシュのビットマップ情報
・キーのバージョン情報
・ファイル本体の位置情報
が含まれ、上流ノードは、上流と下流のいずれにも高い頻度でキーを送るのに対し、下流ノードは上流にキーを送るだけで上流からのキーはあまり受け取らない仕様になっている根拠として、
・下流では、キーを大量に拡散させると帯域が不足する。
・下流のノードが持っているキーはそれほど多くない。
・上流ノードに集まったキーを検索することでシステムが機能している。
・上流ノードもキーのリフレッシュが必要。
の4点を挙げ、「上流のノードは、定期的な拡散で流れこむキーが大量に蓄積しているので、他のノードを検索する必要があまり」ないのに対し、「下流のノードは、メモリ上にはそれほどキーが蓄積されないので、キーを大量に持っている上流ノードに頻繁に検索をかけ、それで得たキーを使ってファイル本体をダウンロード」すると解説しています。
 第5章「P2Pソフトの開発手法」では、シミュレーションには限界があり、Winny成功の鍵となったのは、「2ちゃんねるという非常に多くの利用者が集まる掲示板を通じて、多くのユーザーの協力を得ること」ができたことであることが述べられています。また、いったんできあがったP2Pネットワークが貴重なものであるため、「設計が悪かったからといって、気軽にアプリケーションを作り直したり、それまでと互換性のないバージョンを作ること」ができないことが特徴として挙げられています。さらに、開発後期のポイントとして、「システムへの攻撃にどれだけ耐えられるか」が重要になるとしています。
 著者は、Winnyネットワーク全体の状況を把握するためにモニター機構を備えていない理由として、
・そもそもモニター機構の実現が難しい。
・モニター機構がクラックの対象になりうる。
の2点を挙げ、ネットワーク全体の状況に関する考察ができなかったと述べています。
 Winnyの暗号技術に関しては、
・初期ノード情報
・ノード間通信
・キャッシュファイル
・プログラム本体
等が暗号化されている一方、処理速度を重視して、「コネクションのオープンに時間のかからない実装となっている」ことが述べられています。
 Winnyネットワークへの攻撃とその対策については、
・ごみファイルを大量にばら撒く→無視フィルタ機能や各種警告機能、クラスタ外に追いやる
・ファイルを捏造する→検索キーの上書き、捏造警告
・ウィルス問題→開発停止後に出てきた問題なので対策がなされていない。
・転送リンク接続数コントロール部の改変
等について解説しています。
 第6章「残された課題と可能性」では、問題となっている著作物の不正利用に関して、「この問題を解決するには、ファイル共有ソフトの技術だけではなく、課金システムや認証システム、また社会のシステムが整わなければいけません」と述べ、商用に適したシステムが整備されれば、「ファイル共有ソフトが著作物の流通に適したインフラになるはず」であり、Winnyネットワークが、「そのようなファイル共有ソフトが大規模な情報共有インフラとして利用できることを示したのでは」ないかと述べ、「ファイル共有ソフトで生じている複雑な問題を順に解きほぐしていき、むしろ有効に活用する道を検討すべき」と主張しています。
 本書は、違法なソフト流通や情報流出など、ダークサイドばかりが強調されがちなWinnyに関する技術と社会的なインフラという前向きな価値を教えてくれる一冊です。


■ 個人的な視点から

 本書のあちこちには、「逆ギレ逮捕」に対する恨み辛みが冷静な筆致のそこかしこから垣間見えてきます。特に、社会的にも問題となったウィルス問題については、「バージョンアップすれば対処できますが、現在は私がバージョンアップすることはできません」と、このような事態を招いた京都府警への言外の非難がこめられています。
 しかし、表向きには著作権法に関してファイル共有ソフトであるWinny1の開発者として逮捕されたとなっていますが、本当の意図は、発言者の匿名性の高いBBSネットワークであるWinny2の開発を阻止するためだったとしたら恐ろしい話です。ファイル共有で困るのはコンテンツを管理している会社くらいですが、匿名BBSを実現されてしまうと迷惑する人はたくさんいますし。((((;゚Д゚))))


■ どんな人にオススメ?

・Winnyはなんだかわからないと思っている人。


■ 関連しそうな本

 アルバート・ラズロ・バラバシ (著), 青木 薫 (翻訳) 『新ネットワーク思考―世界のしくみを読み解く』 2005年10月24日
 増田 直紀, 今野 紀雄 『複雑ネットワークの科学』 2005年11月18日
 ダンカン ワッツ (著), Duncan J. Watts (原著), 栗原 聡, 福田 健介, 佐藤 進也 (翻訳) 『スモールワールド―ネットワークの構造とダイナミクス』 2006年03月22日
 ダンカン ワッツ (著), 辻 竜平, 友知 政樹 (翻訳) 『スモールワールド・ネットワーク―世界を知るための新科学的思考法』 2005年09月28日
 安田 雪 『実践ネットワーク分析―関係を解く理論と技法』 2005年10月04日
 安田 雪 『ネットワーク分析―何が行為を決定するか』 2005年10月13日


■ 百夜百音

Marie Antoinette【Marie Antoinette】 Original Soundtrack オリジナル盤発売: 2006

 曲はさわやかっぽくても歌詞はダークなJoy Division色全開の「Ceremony」を起用したCMを流しまくってるNew Wave世代を直撃する映画のサントラ。
 何と言ってもBow wow wowまで入ってるのがすごすぎます。!!!


『I Want Candy: Anthology』I Want Candy: Anthology

投稿者 tozaki : 2007年01月20日 21:00

トラックバック

このエントリーのトラックバックURL:
http://www.pm-forum.org/MT3/mt-tb.cgi/1248

コメント

コメントしてください




保存しますか?