Winnyの技術 / 金子 勇 著

今、もっとも注目を浴びているソフトウェアといえばWinnyと言っても過言ではない。
その作者が自ら記したプログラム解説本。確実に歴史に残る1冊でしょう。

Winnyの技術

Winnyの技術

読み終わっての率直な感想は、Winnyで言う所の匿名性や暗号化って自分がイメージしていた匿名性とかなり違うんだなぁ、ということ。
Winnyではプロキシの仕組みを参考にしてファイル送信の匿名性を実現した、と言っているが、これにより実現される匿名性とは1次送信元がわからない、というだけであり、少なくともそのファイルを拡散するのを助けている人についてはわかってしまう。つまり、大本の送信元のはわからないが、中継している人についてはバッチリわかってしまう。
暗号化にしても、そもそもP2Pアプリケーションは性質上、暗号化はあまり必要ないが、キャッシュファイルの改ざんに対応したい、という程度の意味しかないということが書いてある。
この「匿名性」や「暗号化」という言葉を勝手に拡大解釈しWinnyがいかにも素晴らしく秘密なネットワークと勝手に思い込み、Winnyに絶対の信頼を置いていたユーザは多いと思われる。しかし、種明かしをされれば、匿名性がいかに簡単な思想の元に実現されているか、ということがわかる。プロキシを匿名目的で使う、という考え方自体はかなり昔からあり、個人的に勝手に想像していたような複雑な仕組みではなかったので、拍子抜けしたというのが正直な感想である。
作者にとってしてみれば、P2Pネットワークの帯域コントロールをいかにうまくやるか、と言う所にかなりの時間を割いたようである。作者も書いてあるように、P2Pネットワークは生き物であり、ちょっとしたパラメータ変更で様々に形を変える。また、P2Pネットワークを悪用したいたずらも増える。また、P2Pのそれぞれのノードも、ネットワークインフラがADSLが爆発的に普及したことにより、Winny開発当初とはかなり異なっている。
様々な要因が絡み合って、P2Pネットワークが形成される。それはP2Pプログラムの作者ですらもコントロール不能である、という点で非常に難しい。
この本を読めば、金子氏がWinnyネットワークの効率が悪くならないように、工夫を重ねていった歴史がよくわかる。また、悪意のあるいたずらに対するいたちごっこの歴史もわかる。これらは、P2Pアプリケーションの作者しかわかりえないノウハウであり、それが出版されたということに大きな意義を感じる。
また、巻末には金子氏の経歴があり、原子力研究所への勤務時代に分散システムのネットワークの可視化研究に携わったと書いてある。その経験がWinnyに生きているのかな、と思うと納得してしまった。
今、金子氏はWinnyネットワークに情報が漏洩してしまう、いわゆる「キンタマウィルス」の対策が出来ないことを、残念に思っているそうである。警察によるWinny作者の逮捕という選択は果たして正しかったのか、という思いを禁じえないのであった。