最近發生的重大新聞之ㄧ是-Razorback2被抄,這件事令很多人震驚。有人認為這是eDonkey網路全面走向Kademlia的一個契機。當然這是繼Napster、KaZaa、SuperNova、WinMX等事件之後最重大的新聞。不過這件事對於eDonkey2000/eMule社群的傷害並不大,前者早就推出Overnet來因應,而後者推出Kad網路。兩者都是基於Kademlia。此外Bittorrent協定軟體-Bittorrent、Azureus、BitComet也相繼引進Kademlia。換句話說,兩大P2P檔案分享協定-eDonkey和Bittorrent-都逐漸走向純P2P-無伺服器-DHT的架構。因此要想封鎖這些網路其實愈來愈困難了。
我認為目前的P2P檔案分享根本走向錯誤的方向,它不應該分享非法軟體,而是解決目前WWW的不合理性。目前很多商業網站都開放使用者申請免費帳號,讓他們可以使用各種服務-包括網站、Blog、相簿、硬碟等。而這些網站可以利用他們所提供的軟體,以豐富內容;似乎各取所需,皆大歡喜。其實網站佔盡便宜,因為軟體的價值是無價的,跟他們提供的網站空間比較起來的話。這點我在本Blog第一篇文章就已經分析過了,不再贅述。
至於怎麼利用P2P分享取代大部分的網站空間提供者,這件事就困難多了。其實目前P2P所用的雜湊函數就非常有用。這種函數可以用來辨認每個檔案,也就說一個雜湊值只對應到一個檔案,想要破解很困難。目前使用最多的是SHA-1,不過為了安全起見SHA-2甚至WHIRLPOOL都是考慮的對象。因此只要使用者在網站上貼上雜湊值,其他人要得到這檔案,只需連上P2P網路就可以。或許有人會說,這不就是目前Bittorrent所做的嗎?不過Bittorrent要貼上整個torrent檔,而不是簡簡單單地像eDonkey那樣的雜湊值。當然ed2k雜湊值連結的網站很多,只是很少人用來發表自己的東西。
好了,如何使用P2P來取代網站空間解決了,但是還有一個嚴重的問題。譬如某人在網站上貼了一張100kB的相片,使用目前的WWW網站,不出幾秒鐘,照片就自動下載完畢。但是換成P2P,使用者得在數百萬台電腦(以最大的eDonkey網路來說)中搜尋,就算是用先進的DHT,也得花十秒鐘,之後還得排隊才能下載。這就是為何目前P2P上的檔案一般都很大,因為小檔案很沒效率。
要解決上述問題,得把P2P網路切割成無數的小群組,然後使用者在搜尋某個檔案時只需搜尋一個或一些小群組,不必搜尋整個網路。這就是目前很多P2P網路的架構-Direct Connect、soulseek、以及IRC頻道等-使用者一邊聊天,一邊下載檔案。其實這是完全符合現實社會情況,每個人都屬於某個群組,比如家庭、學校、公司、社團、部隊等,每個人只認識同一群組的人。如果要認識其他人,得靠這些人屬於另一群組,進而接觸別的群組。這種現象,社會學家稱之為small world phenomenon。為了設立固定的群組,得需要伺服器。這在以前很難辦到,因為價格昂貴。不過現在硬體愈來愈便宜,免費的軟體愈來愈多,任何人都可以架設群組的伺服器。
當然還有一個問題還沒解決,就是下載很慢的困擾。下載很慢有兩種原因,一是排隊太長,這種原因只要減少隊伍的長度就可以了。最糟糕的例子是eMule,它的隊伍是非常地長,幾乎都得等到排隊的人斷線了才會開始傳,這樣會使得傳檔很有效率,但是會讓人等到發狂。絕對要避免這種情形!二是沒有人有欠缺的檔案部分,換句話說就是斷頭檔的問題。斷頭檔目前有兩種解決辦法,一是幾乎無限期地等待下去,要不然就是請有完整檔案的人再上載一次。然而這兩種辦法都不好,因為都得等。其實釜底抽薪的辦法是,根本不上載不完整的檔案。這觀念會讓常用P2P的人(尤其是Bittorrent社群)幾乎無法接受。因為他們都錯誤地以為上載部分檔案會增加下載速度,愈多人上載應該愈快,只讓有完整檔案的人(種子)上載當然比較慢。其實所有的網路,不論是不是P2P,下載速度永遠取決於上載速度,只有後者變快前者才能一起變快。只有部分檔案的人也上載,固然會增加上載的速度,別忘了它也分攤了下載速度。現在Bittorrent不像以前那麼快,除了ISP限速之外,很多使用者也限制上載速度是更重要的原因。只讓有完整檔案的人上載是會減慢檔案的散佈速度,也就是很難一下子就把檔案傳給很多人。但是只要一段時間,很多人擁有之後,問題也就迎刃而解了。而且現在網路速度愈來愈快,總有一天這根本不是問題。況且有完整檔案才上載不但幾乎解決了斷頭檔的問題,還可以讓人邊下載邊看。以目前的情況來說,幾乎非得等到完整檔案下載完畢才能使用。但是如果只能上載完整檔案,使用者可以對於影片檔案(目前P2P主要的檔案類型)邊看邊找,如果不滿意影片內容就停止下載免得浪費頻寬和時間。這實在是更理想的辦法!
最後,P2P解決了在目前WWW架構上一個很重要的問題,就是Slashdot effect(愈多人想看的網站愈看不到)。這是因為目前的WWW是把內容都放在伺服器上,一個愈熱門的網站,因為流量愈大,伺服器也愈容易窮於應付甚至停擺,造成上述結果。P2P會造成相反的結果,愈熱門檔案愈容易得到。這跟人類社會很類似,愈是人們關心的謠言,傳播的速度愈快。



