Sunday, January 07, 2018

關於p2p的隨手記

P2P在今日變成一個熱門的詞彙,任何舊的事務加上p2p都成為燙手的香餑餑。最早體現了網際網路技術關鍵概念,是1969年4月7日一份RFC文件「Request for Comments, RFC 1」。而其概念是不用中心索引伺服器結構,從而進行多媒體資料交換,如今這個概念不僅只在電腦網路技術,也可以推演到其他領域,已經變得非常普遍。如今p2p的解釋,共享經濟更像是其代名詞,當初2004年,我們瘋狂使用eDonkey Network時,根本沒想過他可以跟腳踏車扯上關係,放眼清大這麼多的腳踏車,我更希望這是在新竹清大發生這去年風投熾熱,而非北京。 在網路概念裡,相對於Server-client,P2P就是建基於沒有固定線路基礎的網絡,或者是非預定網絡,而溝通兩端都會同時擔當為客戶及伺服器,與Server-client不同的是Server-client的客戶大多數只會針對同一個伺服器作存取或通訊,要注意的是存取雙方平行對等,理論上P2P可以以單點傳播(單點對單點、Unicast)或多點傳播(多點對多點、Multicast)的形式作訊息傳輸,也可以說是半雙工或是全雙工。傳統主從式架構(Server-client)拓樸架構將client要求的影音資料以單一鏈結傳輸時,常會因 為頻寬不足而面臨嚴重的封包遺失,或是資料流擁擠造成的額外傳輸延遲使得封 包無法達到即時性的需求。P2P網路擁有server-client架構所難以達到的規模 伸縮性,且對於節點、鏈結失效所引起的傳輸錯誤也較能容忍,更重要的是,它有效的分散了原本負載在少數link上的龐大資料流。任何設備都可以利用P2P網路作數據傳送,假設有兩台設備需要分享資料,便會利用網絡標準,如FTP、BT等,來估算現有頻寬、運算能力,雙方進行互連互通,包含上載及下載。在理念上,P2P的存取雙方都會成為對方的伺服器和客戶,上載方是伺服器而下載方就是客戶。最值得注意的是,並不是下載方永遠都只會是下載方,有可能同時是上載方,同一時間分享同一個檔案或其他檔案予其他下載方,即一台電腦有可能同時是伺服器和客戶。不過由於存取雙方是對等的,所以實際並不存在主從架構。 並不存在主從架構體現到2017年最重要的一個話題與價值:去中心化(Decentralization)。跟著去中心化最相關的就是數字貨幣,彼特幣(Bitcoin)讓多少投資份子扼惋與嘆息。比特幣(BitCoin)是一種P2P形式的虛擬貨幣。P2P的傳輸意味著去中心化的支付系統。比特幣不依靠特定貨幣機構發行,它通過特定演算法的大量計算產生,比特幣經濟使用整個P2P網路中眾多節點構成的分散式資料庫來確認並記錄所有的交易行為。P2P的去中心化特性與演算法本身可以確保無法通過大量製造比特幣來人為操控幣值。基於密碼學的設計可以使比特幣只能被真實的擁有者轉移或支付。這同樣確保了貨幣所有權與流通交易的匿名性。去中心化,這是比特幣最大的特點。互聯網提供的技術支持,使得虛擬貨幣的製造和發行再也不需要一個類似於台灣中央銀行,或是美聯儲的貨幣主管機構。使用者運行Bitcoin這個軟體,組成一個P2P網路。比特幣就在網路上產生,接著,你可以進行轉賬和其他交易。所有的這些操作,都不需要你的名字。 眾所周知,我們現在所使用的貨幣,更多是由政府的信用擔保,所以政府濫發貨幣,損耗的只是信用而已。但在中本聰的設計當中,比特幣不會出現濫發的情況。比特幣有一個明顯的價值確認過程,它通過電腦的運算能力消耗獲得價值,遵循比特幣協定的礦工,需要透過電腦裝置解答數學難題,此過程猶如開採礦物,故稱為「挖礦」。為了製造比特幣,你需要不斷提高電腦的運算能力。在技術層面上,比特幣的供應量是受到控制的,技術上區塊回報每產出21萬個區塊減半一次,最近一次減半在2016年7月9日,而此種收斂等比數列的和必然是有限的,到2140年時,將不再有新的比特幣產生,最終流通中的比特幣將總是略低於2100萬個。對於最早的比特幣持有者而言,比特幣最為實際的好處可能是幣值穩定。你可能在現實生活當中碰到美元貶值等煩心事,但比特幣不會發生這樣的情況,比特幣的設計機制能夠保證這一切。 然而我們知道故事並不是這樣子進行的,2017年12月BTC/USD來到歷史高價,超過一個比特幣兌換19,891美金,最初在香港金融市場流行的說法是,中國在2015年開始進行資本外逃管制下,比特幣成為一個官方無法監管的灰色交易地帶,從而帶高了比特幣的價值,而那是時候我們說的比特幣價值是300-400(BTC/USD)之間,這一切已經說不清,是誰帶起誰,或是誰炒起誰了。2018年1月的第一個週,中國監管的矛頭再次指向比特幣等加密貨幣的生產,俗稱“挖礦”。全世界逾70%的比特幣算力集中於中國。自2017年9月限制人民幣交易比特幣後,這是另一個力道對比特幣開鍘,這也是一般自稱民主國家只能喊不敢做的事(美國、以色列、韓國等等)。各國政府,在現有的金融制度下,根本無法定義比特幣。如果這種貨幣在未來的影響力越來越大,直至和現有貨幣並行不悖時,那麼,各國央行可能會採取極端的技術手段讓這種不受管控的貨幣消失。這裡我們必須討論到一個很簡單的概念,就是對於交易貨幣的信心,而信心這種東西可以藉由政府宣傳來進行打壓或是支持。而美國財政部部長Steven Mnuchin,在2017年11月13日接受雅虎金融採訪時表示,該機構正在謹慎調查比特幣的非法使用情況。 Mnuchin稱:. “目前,我們最關心的問題是,用户是否使用比特幣資助網絡黑市的發展。” 在人民幣國際化與美國衝突之前,突然跑出個二王麻子攔路,大家應該都跟我一樣很想繼續看下去。 去中心化(Decentralization)就是集權與分權的分野,在互聯網上,就是指從我說你聽的廣播模式,向人人有個小喇叭的廣場模式轉變。中心化的典型例子是門戶網站,去中心化的典型例子是blog、UGC、社交媒體等。很多人對去中心化有一些誤解,比如說Facebook、Twitter、等正在成為更集中的中心。去中心化不是說今後不再有大網站,也不是說大網站就一定是中心化的,去中心化主要是指技術對普通用戶的賦權(Empower),如過去一年大家身邊突然多了很多主播朋友,因為技術提昇,讓大家都是直播主,也就是網紅。去中心化也不是人人絶對平等的意思,總會有人更善於利用技術賦予的可能性,有人則不善用或不在乎,更甚者發展到圍繞網路紅人的粉絲,PG One(中國說唱歌手)整个垮掉的过程里,粉絲的存在可以說是成也蕭何,敗也蕭何。 在課堂上,也有去中心化。以前上課是,幾個經過認證的嘉賓在‘講話’,所有其他人在聽。現在我們上課也可以去中心化:每個人都可以‘講話’,每個人都可以選擇聽或者講。其實討論也可以來個p2p,比如 “互噴”。 每次討論問題,都由主講人上去先講,講完下面所有人不分職務、不顧面子、百無禁忌、輪流開炮。噴完一遍,讓主講人整理一下想法,重新再講再度整理中心題目,然後其他人再噴!甚至回去再準備一天,第二天繼續噴!如此往複,討論方案越噴越細緻,越噴越清晰。也許一開始各位同學心裡都有點怵,有些女生主講面子上會掛不住。一旦養成習慣,主講人準備的水平會越來越高,同學對什麼是最佳方案的看法也越來越一致,而且越來越會噴。互聯網時代、互聯網產品和互聯網團隊都是去中心化的結果,沒有誰是第二個喬布斯,高速變化,持續創新,就是要靠群體的智慧,這也是諸位老師希望在課堂上看到的結果。 1.Request for Comments, RFC 1. https://tools.ietf.org/html/rfc1 2.Quality Assurance of Streaming Data Dissemination Over P2P Network http://www.cs.nccu.edu.tw/~lien/Lab/Thesis/ab_g9539.htm 3.Topology-Aware Peer-to-Peer Networks for Information Dissemination. Yiwei Chiao 2005 4. 比特币“挖矿”中国率先去产能,区块链应用加速落地 https://awtmt.com/articles/3054328?from=wscn 5. Mnuchin: We are looking 'very carefully' at bitcoin https://finance.yahoo.com/news/mnuchin-looking-carefully-bitcoin-211340636.html