Winnyの匿名性については無くならないような気もします

確かに通信の秘密なんて侵してないと思いますが、

この場合に必要なのは一次送信源じゃなくてキャッシュとしてファイルを持っているIPだけで十分。
Nothing found for 20060610

それって本当に、「一次送信源じゃなくてキャッシュとしてファイルを持っているIP」なのでしょうか。
ここで、winnyと同じプロトコルをしゃべってもらってくることが出来るIPアドレスを使っているノードをいくつかに分類してみましょう。(用語は独自のものです)

  1. キャッシュを持ってる
    1. 一次放流者
    2. 二次放流者(ダウンロードした人)
    3. 中継者(中継後)
  2. キャッシュを持っていない
    1. 中継者(中継前)

そうです。キャッシュを持っていない人のIPアドレスがリストアップされることがあるのです。この動作に関しては、Winnyの技術 3.3 中継 (P. 65-) に書かれていますが、簡単に言うと中継を発生させるためにキーに書かれているIPアドレスがある確率で書き換えられることがあるということです。winnyの匿名性の要は暗号化ではなく、この部分です。キーを入手してもキャッシュを保有しているかもしれない、というところまでしかわからないということなのです。
ついでに言うなら、上のリストの1.2, 1.3の人のあれについては色々議論があるところですね。ここでは触れないでおきますw