2024.12.03
セキュリティ製品を入れても検出されず…被害事例から見る最新の攻撃トレンド 不正侵入・悪用を回避するポイント
リンクをコピー
記事をブックマーク
ここまで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.11.26
タスクの伝え方が部下のモチベーションを左右する マッキンゼー流、メンバーが動き出す仕事の振り方
2024.11.27
何もせず月収1,000万円超…オンラインゲームにハマって起こした事業 大学中退し4社立ち上げ・2社売却した起業家人生
2024.11.29
「明日までにお願いできますか?」ちょっとカチンとくる一言 頭がいい人に見える上品な言い方に変えるコツ
2024.11.28
管理職の「疲弊感」がメンバーに伝わるリスク 部下の「働きがい」を育む6つのポイント
2024.11.25
仕事はできるのに、なぜか尊敬されない人が使いがちな言葉5選 老害化を防ぐために大切な心構えとは
2024.11.27
部下に残業させられず、自分の負担ばかり増える管理職 組織成長のカギを握る「ミドル層」が抱える課題
2024.11.27
仕事中の「今ちょっといいですか」が苦痛… いしかわゆき氏が語る、ADHD気質にマッチした働き方のヒント
2024.11.25
論理的に「詰める」マネジメントでは本質的な解決にならない マッキンゼー流、メンバーの理解と納得を得る接し方
2024.11.28
“新規事業が生まれない組織”に足りていないもの 「PoC貧乏」に陥らず、アイデアを形にするためのヒント
PR | 2024.11.29
検知が難しいサイバー攻撃が増加中 サイバーセキュリティの専門家を唸らせた脅威アクターの実例
長期投資の衝撃の真実!20年投資しても年率1.9%しか増えない!?
2024.10.04 - 2024.10.04
第765回 トレンド経営学『顧客に謝る基準とは?』
2022.04.18 - 2022.04.18
不機嫌な自分をやめるために!認知行動療法の専門家 中島美鈴先生新刊『脱イライラ習慣! あなたの怒り取扱説明書』発売記念【無料オンラインイベント】
2024.10.25 - 2024.10.25
ログミーBusiness リニューアル記念イベント開催
2024.11.29 - 2024.11.29
品がある人、育ちがいい人の見える 人のセリフ 3選
2022.11.30 - 2022.11.30