2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
リンクをコピー
記事をブックマーク
ここまでWinnyの全体像の仕組みをお話ししました。後半は、Winnyというソフトウェア開発がどういうふうに進められていたかを、バージョンアップの内容からおさらいをしていこうと思います。
Winnyの開発期間は2002年5月から2003年11月の1年半だけだったのですが、その間に283回もバージョンアップしてるんですね。そういったところを、ダイジェストというかたちでササッといこうと思います。
2002年4月1日に、いわゆる最初の書き込みと開発宣言があります。いわゆる47氏と呼ばれてますが、最初の書き込みでFreenetの話をしました。
そこから1ヶ月経って最初のリリースがありました。これはだいぶバギーで、最初の1ブロックしか落ちてこないみたいな。128機能のブロックしか落ちてこないような動作が確かあったような記憶があります。
当初は基本動作のところもけっこうトラブルシュートが大変で、47氏自体もどんなふうにトラブルシュートすればいいのかが手探りなところもあって。
思ったよりポート分けしてない人も多かったり、やはり実際に世の中にデプロイしてみないとわからないことがけっこうあったりして、そういったことをやるために、例えば一時的にWinnyの根幹の1つである転送動作をやめたりとかしながらトラブルシュートをやっていました。
そんなこんなで前回のバージョンアップ、リリースから半月ほどで今の最終的な自動ダウンロードのベースになる自動再試行が入りします。
あと、最初はできませんでしたが、先ほど言ったPort0のノード対応みたいなもの、Port0のノードから検索ネットワークの上流になれるようになったり、他のノードにアップロードできるようになったり、そういったいわゆるフル機能の対応ができるようになったり。序盤はこういった開発をやっていました。
Winnyの特徴である自動ダウンロード機能がついたのも5月の内でした。これは当時WinMXが普及していたってところもあって。WinMXって、相手を指定してファイルを貨幣のように交換する、いわゆるファイル共有というよりはファイル交換の文化だったところがあるって。
正直Winnyは検索結果が不安定なところがデメリットというか(Winnyの)苦手なとこだったのでしたが、逆にそれを逆手に取って、Winnyなりの解決案として「そもそもゆっくり気長にダウンロードを待つというユースケース」を提案したようなかたちになっているわけです。
続いて、6月になると自動ダウンロードの条件を使ってクラスタリングをする機能が入りました。47氏は最初、0から1の間の数値を取ってクラスタリング、円柱のかたちみたいにクラスタリングをするような考えたっぽいですが、あまり評判がよくなくて。
その中で出てきたアイデアとして「検索条件をクラスタリングにしたらいいんじゃないか」みたいなところに、クラスタリングの機能がありました。これでWinny1の機能がだいたい揃ってきます。
この間にけっこういろいろなチューニングや調整もやっていて。キーの拡散というものがWinnyの重要な要素の1つですが、キーの拡散方法とかも、このあたりでいろいろな試行錯誤を続けていました。
7月になると遂にBBS機能が入ります。けっこう序盤からBBSの機能があったんですね。このBBSの機能が入ったことで、ファイル共有のネットワークを活用すると言うと語弊がありますが、ネットワークを活用するかたちでBBSにおける試行錯誤が始まったわけです。
この後はいろいろなチューニングや開発環境の変更などいろいろをやっていて。通称“白Winny”みたいな。けっこうWinnyを使っていた記憶がある人は、黒というか青い画面を覚えてる人も多いと思いますが、一瞬ユーザーインターフェイスが白系になったりとか。そういう試行錯誤もやってました。
10月になるとファイルの公開者を主張できるトリップ機能、トリップは2ch用語ですが、いわゆる「誰がアップロードしたか」を示すための簡易署名機能です。これは暗号学的な署名ではないので、キャッシュ書き換えとかするといくらでも書き換えができちゃうんですが、「匿名のAさんとして継続的にファイルを上げてる誰かだ、というようなことが重要」というユースケースが存在しました。
例えばWinny本体の配布とかもそうですよね。そういうファイルの配布者を特定する、継続して特定するための機能が入ってきました。
遂に2002年の年末に正式版ができました。最終βは22.53ということで、バージョンアップを重ねて「ここまできたな」という感じですね。
1.0が出てからもけっこう根本的なところの変更は続いていて、昔のなごりを引っ張ったところとして、ファイルのハッシュ値にMD5をそのまま使うようになったり。
そんなこんなで、4月にはWinny1の最終盤が出ます。
5月に入ると、(登場から)ちょうど1年ぐらいですね。そうすると、BBSに力を入れている、いわゆるWinny2というものが出てきました。
Winny専用のファイル共有をしないノードが実装されたのがβの3.2ですね。
このあたりで、開発環境をC++Builderに変更して、GUIの作り直し(したり)とか、微調整をムチャクチャこのあたりで重ねていた記憶があります。
2.0のβ7.1が最終リリースですが、ここに至るまで1年半を駆け抜けてきました。
ここではけっこう大きな変更だけを紹介しましたが、載せきれないチューニングもずっと重ねてきました。これが283回というバージョンアップの(うちの)一番を占めているものですね。アーキテクチャレベルでの試行錯誤もあったし、いろいろなパラメータを上げては試し、下げては試しみたいなことをやってました。
大規模P2Pネットワークを作るのは本当に難しいことで、一時期には数十万ノード、数億ファイルあったとも言われているそうなのですが、PCやネットワーク環境も今以上に多様でした。特に貧弱方向に多様で、最新のものでもPenrium MとかAthlon 64が出た頃で、メモリも512メガとかの頃だったし、回線もISDNも現役だったような時代でした。
そのあたりを調整して、展開しては観測してという繰り返しで効率を上げていったわけです。1年半のバージョンアップの成果として効率が達成されたわけですが、この後の(セッションで)いろいろな方がこの話をたぶんすると思いますが、効率悪かったらプライバシー被害なども含めて防げたかもしれませんが、十分な効率を維持できてしまったわけです。
さて、というわけで15分で駆け抜けてきましたが、Winnyネットワークの仕組みのおさらいと、1年半の開発史を追体験することで、みなさんはWinnyの話を思い出してもらえたでしょうか。
Winnyの技術の何がおもしろかったのか、誤った神格化をするよりは、その道筋と結果をきちんと評価してくれる人が少しでも増えてほしいなと思っています。というわけで、映画を楽しみにしています。
以上です。ありがとうございました。
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.12.06
嫌いな相手の行動が気になって仕方ない… 臨床心理士が教える、人間関係のストレスを軽くする知恵
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
PR | 2024.12.04
攻撃者はVPNを狙っている ゼロトラストならランサムウェア攻撃を防げる理由と仕組み
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術