區(qū)塊鏈的協(xié)議分層P2P網(wǎng)絡(luò)介紹
掃描二維碼
隨時(shí)隨地手機(jī)看文章
P2P意思是對(duì)等網(wǎng)絡(luò),這是計(jì)算機(jī)網(wǎng)絡(luò)里的一個(gè)重要概念,更是大家都比較關(guān)注的區(qū)塊鏈的組網(wǎng)方式。
今天我們?cè)賮?lái)回顧一下區(qū)塊鏈的協(xié)議分層吧:
在之前的課程里,除了網(wǎng)絡(luò)這一部分,基本上每一個(gè)都進(jìn)行了相關(guān)的介紹,為了讓更多的人能夠看懂,看明白,我依然會(huì)采用最簡(jiǎn)單樸實(shí)的語(yǔ)言開(kāi)展今天的內(nèi)容。在完成今天的課程后,涉及區(qū)塊鏈技術(shù)部分的基礎(chǔ)內(nèi)容將告一段落,后期將著重對(duì)每一個(gè)細(xì)節(jié)及應(yīng)用進(jìn)行深入學(xué)習(xí)。
1、P2P是一種分布式網(wǎng)絡(luò)
P2P在計(jì)算機(jī)術(shù)語(yǔ)里表示對(duì)等網(wǎng)絡(luò),所謂對(duì)等,就是說(shuō)網(wǎng)絡(luò)里每一個(gè)節(jié)點(diǎn)(一臺(tái)機(jī)器)的地位都是對(duì)等的。讓我們想一想互聯(lián)網(wǎng)的宗旨,它目的是讓所有人都能連接起來(lái),但是很早以前的方式都是我們每個(gè)人通過(guò)一臺(tái)中心服務(wù)器進(jìn)行連接的,比如逛論壇:論壇是中心,每個(gè)游客通過(guò)論壇進(jìn)行交流。而對(duì)于P2P來(lái)講,可以實(shí)現(xiàn)“面對(duì)面”交流。
我們來(lái)看看百度百科上的解釋:
對(duì)等網(wǎng)絡(luò),即對(duì)等計(jì)算機(jī)網(wǎng)絡(luò),是一種在對(duì)等者(Peer)之間分配任務(wù)和工作負(fù)載的分布式應(yīng)用架構(gòu),是對(duì)等計(jì)算模型在應(yīng)用層形成的一種組網(wǎng)或網(wǎng)絡(luò)形式。“Peer”在英語(yǔ)里有“對(duì)等者、伙伴、對(duì)端”的意義。因此,從字面上,P2P可以理解為對(duì)等計(jì)算或?qū)Φ染W(wǎng)絡(luò)。
國(guó)內(nèi)一些媒體將P2P翻譯成“點(diǎn)對(duì)點(diǎn)”或者“端對(duì)端”,學(xué)術(shù)界則統(tǒng)一稱為對(duì)等網(wǎng)絡(luò)(Peer-to-peer networking)或?qū)Φ扔?jì)算(Peer-to-peer computing),其可以定義為:網(wǎng)絡(luò)的參與者共享他們所擁有的一部分硬件資源(處理能力、存儲(chǔ)能力、網(wǎng)絡(luò)連接能力、打印機(jī)等)。
這些共享資源通過(guò)網(wǎng)絡(luò)提供服務(wù)和內(nèi)容,能被其它對(duì)等節(jié)點(diǎn)(Peer)直接訪問(wèn)而無(wú)需經(jīng)過(guò)中間實(shí)體。在此網(wǎng)絡(luò)中的參與者既是資源、服務(wù)和內(nèi)容的提供者(Server),又是資源、服務(wù)和內(nèi)容的獲取者(Client)。
在P2P網(wǎng)絡(luò)環(huán)境中,彼此連接的多臺(tái)計(jì)算機(jī)之間都處于對(duì)等的地位,各臺(tái)計(jì)算機(jī)有相同的功能,無(wú)主從之分,一臺(tái)計(jì)算機(jī)既可作為服務(wù)器,設(shè)定共享資源供網(wǎng)絡(luò)中其他計(jì)算機(jī)所使用,又可以作為工作站,整個(gè)網(wǎng)絡(luò)一般來(lái)說(shuō)不依賴專用的集中服務(wù)器,也沒(méi)有專用的工作站。
網(wǎng)絡(luò)中的每一臺(tái)計(jì)算機(jī)既能充當(dāng)網(wǎng)絡(luò)服務(wù)的請(qǐng)求者,又對(duì)其它計(jì)算機(jī)的請(qǐng)求做出響應(yīng),提供資源、服務(wù)和內(nèi)容。通常這些資源和服務(wù)包括:信息的共享和交換、計(jì)算資源(如CPU計(jì)算能力共享)、存儲(chǔ)共享(如緩存和磁盤空間的使用)、網(wǎng)絡(luò)共享、打印機(jī)共享等。
比如我們經(jīng)常使用的文件內(nèi)容共享和下載工具,如Napster、Gnutella、eDonkey、eMule、Maze、BT等,用戶可以直接從任意一臺(tái)安裝同類軟件的PC上下載或上傳文件,并檢索、復(fù)制共享的文件。
這里面你可以認(rèn)為不用通過(guò)中央服務(wù)器就能下載文件,而且速度還超級(jí)快。這些都是P2P的范疇。
2、P2P代表的是共享精神
如果采用中央服務(wù)器的方式,經(jīng)常會(huì)碰到用戶訪問(wèn)并發(fā)量大,下載速度越來(lái)越慢的限制,而通過(guò)P2P這種方式很好解決了這個(gè)問(wèn)題,且有效平衡利用各種閑置的計(jì)算機(jī)等資源,降低成本。
大家使用過(guò)或聽(tīng)說(shuō)過(guò)的阿里云服務(wù),實(shí)際上就是將計(jì)算分配到很多小型PC上進(jìn)行運(yùn)行,那個(gè)PC可能已經(jīng)閑置,可能已經(jīng)跟不上時(shí)代發(fā)展速度被淘汰,但是在分布式大行其道的今天它依然有很大利用價(jià)值。
傳統(tǒng)銀行業(yè)雖然有些守舊,但是也采用架設(shè)分布式PC服務(wù)器的方式,逐步替代IBM大型主機(jī),在基本保持運(yùn)行性能的情況下,有效降低了成本,是技術(shù)創(chuàng)造效益的典型案例。
其實(shí),不論現(xiàn)實(shí)世界,還是計(jì)算機(jī)世界,P2P代表的是一種共享精神,在計(jì)算機(jī)世界里共享計(jì)算、存儲(chǔ)資源,在現(xiàn)實(shí)世界里共享信息、交通等資源。比如現(xiàn)在流行的共享單車就是將單車資源進(jìn)行全國(guó)范圍的共享,既方便了人們的出行,又大幅壓縮了出行成本,還能給企業(yè)創(chuàng)造利潤(rùn),更是低碳環(huán)保的良好措施。
對(duì)于區(qū)塊鏈網(wǎng)絡(luò)來(lái)講,每個(gè)節(jié)點(diǎn)基本都是對(duì)等的,它們都需要維護(hù)一個(gè)相同的全網(wǎng)賬本,并實(shí)時(shí)通信保證每個(gè)節(jié)點(diǎn)都能及時(shí)處理收到的交易,以及挖掘的區(qū)塊都能及時(shí)讓所有其他節(jié)點(diǎn)知曉。正是這種“同步”、“共享”的簡(jiǎn)單策略,讓所有節(jié)點(diǎn)都盡量統(tǒng)一并保留一份相同的數(shù)據(jù),區(qū)塊也是通過(guò)這種P2P網(wǎng)絡(luò)進(jìn)行全網(wǎng)發(fā)送的。
3、一個(gè)好玩的比特幣+P2P小DEMO
最好告訴大家一個(gè)好玩的小例子,不過(guò)可能很多人看不懂,沒(méi)關(guān)系,看不懂就繼續(xù)看,好好揣摩下這里的神奇。
這個(gè)項(xiàng)目在李笑來(lái)老師里《這個(gè)項(xiàng)目讓你腦高潮到核爆炸!》這篇公眾號(hào)文章里有提到過(guò),這個(gè)項(xiàng)目具體是做什么的呢:
不用任何服務(wù)器,不需要域名。將內(nèi)容存放于一個(gè)webtorrent網(wǎng)絡(luò)中(也是今天我們學(xué)到的這個(gè)P2P網(wǎng)絡(luò)),通過(guò)解析一筆最新的比特幣特殊交易,獲取這個(gè)文件的最新鏈接,并用腳本下載它到本地進(jìn)行展示。
這樣一來(lái),只要互聯(lián)網(wǎng)不消失,只要比特幣還存在(當(dāng)然比特幣即使不存在,還有其他區(qū)塊鏈網(wǎng)絡(luò)存在),你就可以任意分享一個(gè)文件,不需要架設(shè)服務(wù)器,不需要域名,你就有辦法讓別人下載到你這個(gè)文件,神奇吧!