Winnyは、日本では誰でも知っている一番有名なソフトウェアの一つと言ってよいでしょう。しかし同時に、その本当の姿を知る人はほとんどいないとも言えます。
Webのここ10年の歴史を見ても、本当に画期的なソフトウェアやサービスは、有用性と同時に、例外なく多くの問題点を含んでいます。利用者が拡大し定着する過程においては、一時的に問題点が拡大し、批判を集めたものも多くあります。その問題点を継続的な努力で解決し続けることによって、社会に受け入れられてきています。
Winnyにおいては、開発者の金子勇さんが逮捕されたことで、そのプロセスが強制的に中断されてしまいました。その結果、多くの社会的問題を生んでしまったことは、みなさんもよく知っていると思います。
金子さんは、2009年10月大阪高裁の二審で無罪の判決を受け、最高裁での決着を待っています。今回は、その金子さんに、Winnyが本当は何を目指していたのか、途切れてしまった道の向こうには何があったのかをお聞きしました。
(撮影:平野正樹)
クラウドコンピューティングとP2P
中島:P2Pって、最近はやりのクラウドコンピューティングに通じるところがあると思うんですが。
金子:それはありますね。私が顧問として参加しているドリームボート社のSkeedCastという製品でも、クラウドという言葉を売りにしていこうと思っています。元になっているのはWinnyのP2Pネットワークなんですが、サーバ専用のノードも含むハイブリッドなネットワーク構成を取れるようになっています。
中島:Winnyが出たとき、日本は本当はP2P=クラウドの先進国だったんですよね。あれがそのまま続いていたら、今ごろ、どうなってただろうかと。ひょっとしたら、WinnyのネットワークがGoogleに対抗できるものに育っていたんじゃないかと。
金子:そこまでのものかはわかりませんが、Winnyの技術は止まったわけでも死んだわけでもありません。SkeedCast に引き継がれて進化していますので、まだまだいろいろなことができると思います。
中島:クラウドの問題は、本来インフラというのは公共的なものであるべきなのに、サーバを特定の私企業が独占的に管理しているということだと思います。P2Pは、それとは違う形の、もっとゆるやかな民主主義的な管理を行える可能性があると思うのですが、それがSkeedCastでは実現されているのでしょうか?
金子:大規模ネットワークも人間の社会と似た歴史をたどって進化していくと思います。混沌の中に秩序を与えようとすると、最初は中央集権的な独裁で、その次は、権限を部分的に委譲していくツリー構造の管理体系になりますよね。SkeedCastはそうなっています。
SkeedCastのアーキテクチャ
中島:DNS(Domain Name System)みたいな感じになるということですか?
金子:そうです。ドリームボートがルートになって、インフラを運用する事業者さんにコンテンツを承認する権利を委譲します。その事業者さんが、個々のアカウントを承認するという方法で、承認されたコンテンツ以外は流れないようになっています。
中島:流れるデータに全部電子署名が付いているということですか?
金子:そうです。
P2Pで難しいのは、消されたはずのファイルを持っている人が自由に離脱してまた戻ってくるわけです。すると、消えたはずのファイルがネットワークに復活してしまいます。ですから実はブラックリスト方式だけでは、ネットワークの管理って難しいわけですよ。そこでホワイトリストという考え方を使って、問題があるものを列挙するんじゃなくて、問題がないものだけを列挙します。
つまり、コンテンツ配信者の方に鍵ファイルを持っていただいて、配信する前に署名していただくようになっています。そして、その問題ない鍵一覧が署名リストという形になっているわけですが、このリストに対して管理者側で鍵をかけます。管理者さんが、「あ、この鍵はまずい」ってときは、ホワイトリストから外していけば、コンテンツは全部消えていくメカニズムです。そんなに難しいメカニズムではないんですけど、特許を取っています。
この他に、悪意があってやってるわけじゃないけど、たまたま間違って流しちゃったっていうときに、その人のアカウント抹消はやりすぎですので、緊急的に「今すぐこのファイルは消してほしい」っていうのは、ブラックリストとしてみんなで共有できるようになっています。
中島:メインのターゲットは、事業者によるコンテンツ配信ですか?
金子:それもありますが、完全なB2Bというか閉じた社内ネットワークで、効率的にファイル共有をしたいというニーズもかなりあります。そういうケースでは、ドリームボートが運用しているインターネット上のネットワークとは切り離して、SkeedCastのアーキテクチャイントラネットの中で完全に独立した別のネットワークとして運用されている場合もあります。
中島:そういう大規模なファイル共有なりファイル配信では、Winnyの効率性が活かされているということでしょうか?
金子:そうです。それと、普通のファイル転送だと、ファイルが壊れないことを保証できないじゃないですか。Winnyではファイルがいろんなところを行き来する形でコピーされていくわけですから、途中で壊れてしまったときにそれに気づかないと、どんどんファイルが壊れていってしまいます。それを防ぐために、たとえばブロック単位でハッシュ値チェックして、なおかつファイル全体のハッシュ値もチェックするなど、ファイルの破損に関してはかなりうるさい設計になってます。SkeedCastは、このWinnyのプロトコルをベースとしています。ブロック単位で効率の良い転送をしつつファイルの破損がないという特徴があるので、そのまま社内ネットワークでも使えると思います。
中島:Winnyというとすぐに、ウィルスによる情報流出の問題や匿名性の問題がクローズアップされて、P2Pという技術自体が悪いもののように言われてしまいますが、たいへんな誤解ですよね。
金子:かなりあるというか、まぁマスコミに扱われてしまっているからっていうのもありますけどもね。技術者さんはあまり間違った方向にはとられないです。
そもそも匿名性という点では、Free Net[1]という前例があります。私がWinnyでやろうとしたのは、匿名性と効率性の両立です。匿名性とは、技術的に言えば、データの発信元の確率分布がノード全体に散らばっているということです。FreeNet はそれが完全にフラットになっているのですが、あまりにもフラットに作ってるがために効率が悪い。Winnyはそうじゃなくてちょっとこの辺が山になってるぐらいならいいだろうっていうことで、だから匿名性を落としているけれどもその分効率が良いという、両者のバランスを取ったネットワークです。
中島:その効率的かつ正確なファイル転送のノウハウが改良されて、SkeedCastに盛り込まれているということですか。
金子:そういうことです。それに加えて、もう一つの特色としては、日本独自のインフラの事情に最適化されているという面もあるかもしれません。上流のノードが高速な回線で相互に接続されているときに、それを活かしてどうやって効率的な転送を行うかということですね。海外のP2Pソフトはそのへんをあまり考えてないというか、上流/下流という発想そのものがないような気がします。
中島:そこが、FreeNet やBitTorrent などの海外発の技術と違うところなんですね。欧米発のP2Pは草の根指向が強いですからね。
金子:ネットワークの管理を、草の根ではなくて国とかもしくはどこか大きな、たとえばNTTさんが中央で管理するというのが、日本向きと言えるのかもしれませんね。SkeedCast はどちらかと言えばその方向なんですが、もちろん、違う方向もあると思います。
原点はシミュレーション
中島:金子さんは、最初はどういう分野をやられていたんですか?
金子:もともとネットワークとか専門ではないんですよ。もともとは日本原子力研究所[2]にいて、地球シミュレータの可視化まわりのプログラムを組んでいましたから、本来は分散計算とかが得意だし、シミュレーションが好きなんですよ。
自分で組んだにもかかわらずコンピュータ上で動かすとなんだかわからない挙動をするものが大好きです。逆に言えば、動かすとどうなるかわかっているものって私あんまり好きじゃないです。
中島:ライフゲームみたいな?
金子:そうそう。複雑系みたいなやつが好きなんですよ。シミュレーションはおもしろいですよ。本当に。ちょっとパラメータ変えただけで「なんでこうなんねん!」っていうのが結構ありますんで。私のプログラムの楽しみ方はそういう感じですね。
中島:もしかすると、Winnyのノードが想定以上に広がった状態で放置されても、幸か不幸かうまく動作してしまったっていうのは、そのシミュレーションが得意だという部分が…。
金子:そうかもしれないです。あと、もう1個はパラメータチューニングも肝なんですよ。ここをこうパラメータをチューニングすればよいっていうのが、子どものころからプログラムでそういうのばかり組んでいたから、コツみたいなものを会得しています。非常にパラメータチューニングが難しいところがあったんですが、ちまちまと地道に追い込んで作ったのがWinnyでした。その結果破綻しないネットワークができたというのはありますね。変なところで変な才能が生きたみたいな。
中島:そこはすごい職人技みたいな。勘みたいな。
金子:そうですね。何か職人技があるとすればそこの辺にはあったと思いますね。私も当時だから組めたんだと思ってるんですよ。これ同じこともう1回やれって言われても、もう組めないと思います。
Winnyが目指していたもの
金子:逆に言うと、本当はもったいなかったですよね。あれだけ人が集まったのに。本当にもったいない。問題になったWinnyはバージョン2なんですが、これは実は別のものを目指していました。Winny1がファイル共有ソフトで、技術的にはもうやることなくなったし、悪用されるとよくないと思ったので、Winny1は止めたんですよ。
ただ、あのネットワークと参加していたユーザさんがもったいなかったから、何か使えないかなぁと思って、応用としてBBSをやろうと思ったのがWinny2 だったんですよ。
Winny2は、静的なファイルの共有ではなくて書き換えられるものの共有をやろうとして、そのアイデアを実証するために、P2PベースのBBSを構築するのが本来の目的でした。やってる最中に途中で止まっちゃったので、ちょっともったいなかったですね。
中島:画期的に新しいものには、どうしても法律が想定してないグレーゾーンに触れてしまうところはあると思うんですが、YouTubeなんかと比較すると、その対応が日本とアメリカでは対照的ですね。YouTubeは、クレームに対して削除するとか権利者に少しでもお金を還元するしくみを作るとか、いろいろやっていますが、それが実現するまでにはかなり時間がかかっています。それを見守って様子を見るか、いきなりダメとしてしまうか。
金子:もうちょっとポジティブに考えたほうがいいと思うんですけどね。ダメだダメだと言っているだけじゃ何も解決しませんので。いいところを注目したうえで、足らないところはみんなでどうすればいいかって議論すればいいと思いますので。この辺はちょっと難しいですね。
中島:それに、Winnyは途中でバージョンアップできなくなったために、かえって問題が大きくなっていった面があったと思うんですが。
金子:情報漏洩の問題については、Winnyはウィルスに利用されていただけですから、利用されにくくすればよかった。もし可能であれば、絶対私はそういう修正をやっていました。被害は確実に減らせたと思います。
著作権の問題についても、課金システムをWinnyに入れてみようと思った時期があったんですよ。暗号システムを強化して、お金を払わないと鍵もらえないから中身が見られないようにもできます。それが、実はSkeedCastのもとになった考え方なんですが。
そういうのを作ろうと思って2ちゃんねるで提案を出したんですが、どうなったかというと「やつは偽物に違いない!」って言って、そっぽを向かれました(笑)。
集合的人格としての「47氏」
中島:そういうアイデアを47氏[3]のハンドル名で出したら、偽物だと言われてはじき出された…(笑)。
金子:そもそも47のハンドルネームの書き込みは、数としては私じゃないほうが多いんですよ。
中島:あっ、そうなんですか?
金子:さすが2ちゃんねるで、本当にみんな楽しんでいます。こんなこと書くに違いないとか、好き勝手やってますから。
本当におもしろいですよ。
中島:47氏というコンテンツは実は多くの匿名の人が…。
金子:作り出した幻影なんですよ。まあ、私が一部担っていたのはたしかなんですが…。
中島:金子さんは最初のきっかけを与えたにすぎなくて、実際にはあの時点で47氏っていう人格が一人歩きしてたような…。
金子:そういうところがある。だから逆に言えば、みんなが期待しているところがある、盛りたてていこうと思っているところがあるんだと思うんですよ。だったら、みんなでもうちょっと考えて解決していきましょうよっていう話なんですよね。
中島:それがそのまま続いていたら、ゆるやかに管理された草の根ベースのネットワークが発展して、一種の公共的インフラになっていたかもしれませんね。技術的にはGoogleのクラウドと似たものですが、社会的な意味としては、特定の私企業のものではない分だけ公共性の強い、一歩進んだものになっていたでしょう。
そのためには、問題があるから全部ダメではなくて、問題を一つ一つ潰していけばいいわけで、47氏という仮想人格に託された問題提起を、社会全体で受け止めて、どうすべきかポジティブに議論すべきだったと本当に思います。
金子:私はできるだけ良い方向に持っていこうと思っていました。先ほどの課金問題のように、どうしても自分の思うように進まないところもありましたけど。
コピーできないものに課金する
金子:ネットワークが広まってくると、情報の共有が当たり前になるわけですよ。じゃあ情報の共有が起きると何が問題になってくるのかっていうのを、Winnyは具現化しただけですよね。誰か一人でも見ると、全員がたちどころに知るところとなる世界になってくるわけです。最近になると、YouTubeとかでもそうだし、ファイル共有ソフトの問題ではないわけです。今回の海上保安庁のビデオが流出した事件[4]もそうです。ネットワークの世界はそういう世界なんですから。
中島:インターネットとはそういうものであるというのを…。
金子:認めたうえで、どうすればいいのかをポジティブに考えるべきだと思います。
中島:Winny開発中に提案されていた「デジタル証券」(注5)もその一つですよね?
金子:そうです。基本的な考え方は、コピーできるのが問題なんだから、コピーできないものにコンテンツの価値を持っていけば、それに値段をつけてやりとりすればいいというものです。
中島:Kevin Kelly[6]がエッセイで似たようなことを書いています[7]。金子さんよりだいぶ後のことですが。
金子:このアイデアを「これ俺のアイデアだ」って言うつもりはなくて、誰でも絶対思いつくアイデアだと思うし、専門家の人から見たら非常に原始的なものだと思います。こういうことを得意な方はもうちょっと練っていただきたいなと思っています。
プログラムは表現物
金子:私、プログラムを組む以外に能がないんです。私からすれば、プログラムも私の表現物なんですよ。プログラムが著作物だということは、公にも認められています。それをだめって言われちゃうと、表現の自由を侵害されているんですよね。
あと、Winnyには使用許諾を付けていました。最低限の文言ですが悪用しないでくださいと書いていますので、悪用している方は私からすれば著作権法違反になるわけです。著者の意図に反して使っているわけですから。でも、誰も考えないわけですよ。Winny自体の著作権って。
中島:たしかにそうですね。使用許諾に反する形で使うのは、著作権法違反ですね。
金子:だからこっちから訴えてやるっていう話なんですけど、なぜか幇助犯として逮捕されるのは変な話ですよね。プログラムはたしかに特殊なものですが、著作物という点では本とかと変わらないわけですよ。何か本を書いて、社会的に何か影響が出た場合に、それは著者が責任をとる必要があるんですか? っていうのはあると思いますね。
中島:表現の一つであると。
金子:そうです。表現の自由だと思いますので。
中島:「コピーが限りなく容易になっている」ということを、Kevin Kelly のように文章で言う人もいれば、金子さんのようにプログラムとして表現する人もいる。どちらも同じですよね。その問題提起に対して、一人一人の人がどう考えるべきかということですね。
それに、こういうネットに関する議論は、単なるアイデアではなく、動くプログラムが伴う形での問題提起が重要だと思います。実際にモノを動かしてみないと、それがどういうものなのかとか、本当に可能なことなのかが、一般の人にはわからないですからね。
金子:なんとなく悪いとか感情論に走るんじゃなくて、ちゃんと理屈立てて問題点を整理して、解決すべきだと思います。日本人はそれが苦手かもしれませんね。
あとがき
P2Pは、クラウドコンピューティングとは別の形で、社会のインフラとしてのネットワークに進化する可能性があると思います。P2Pを社会にとって安全な形で運用するためには、技術的に多くの課題があるのは事実です。しかし、クラウドは中央集権的であるために、特定の企業によって恣意的に運用される危険性を持つのと比較して、P2Pは、分権的、民主主義的な運営が、技術的に自然な形で可能であるという大きなメリットがあります。つまり、クラウドが「お上から与えられる公共性」だとしたら、P2Pは、草の根的な「みんなの公共性」になるということです。
今回、金子さんのお話を聞いて、Winnyには、そういう「みんなの公共性」に進化する可能性があったのでは? ということを強く感じました。