如何向大家去介紹IPFS的時候,網上有很多不同的文章,對於IPFS的介紹是五花八門的,想來想去,我覺得最正宗的還是專案方,也就是官方開發團隊到底是如何來看待IPFS的,官網上有一張這樣的圖片,他是這麼說的:IPFS是一個分散式的網頁,然後第二句話是這麼說的,IPFS是一個點對點的超媒體協議,然後他的目標是讓網路變得更快,更安全,更開放。
IPFS是一個分散式的網頁,在這裡我們可以把IPFS理解成是一個網路,它的特點是分散式的。是一個點對點的超媒體協議,超媒體它的本質是一個協議。所以說呢,IPFS它既是一個網路也是一個協議,那下面就是我們所說的是他的目的,讓整個網路的更快更安全,還有更開放。這裡的話,那我們會發現IPFS既是一個網路,又是一個協議。因為我們所有的網路其實就是由點和點之間的通訊來構成的這種網路,要實現通訊的話就要有一個通訊的規則。這個規則的話其實也就是協議,我們在網際網路上使用這些協議來傳輸資訊。在生活中,其實我們也是在透過一些協議來傳輸我們的資訊。
比如說中國人和中國人之間,我們用中文溝通中文,有自己的發音,有自己的語法,有自己的造句的規則等等,這些就是我們中國人之間通訊的一種協議。那麼一箇中國人和一個外國人,如果要溝通的話,那就要有一方要去進行協議的轉換,要嘛,這個美國人會講中文,這個中國人會講英文。比如說聾啞人,他們也有他們自己的溝通的協議,給他們用手語,這就是一種比較特殊的協議。所以呢,協議不僅僅是在網路上存在著,在我們的生活當中也存在的。
我們回溯去看的話,在古代的時候,比如說在人類有系統的成型的這種語言出現之前,大家在用什麼在溝通了,可能用聲音會用聲音的高低長短,用一些聲調在溝通,可能會用動作。用一些肢體語言來進行溝通,這個其實也是溝通的這種協議,只要能夠溝通,那麼溝通參與溝通的各方之間的就可以形成一個網路,所以我們說IPFS是一個網路,它也是一個協議。
而人類對從最早的用聲音的簡單的,聲音的高低,好簡單的音調來進行溝通,加上我們說的肢體語言的一些簡單的溝通,發展到現在有系統的語言。都是在不斷的進化的一個過程,事實上在未來人的溝通可能會有更新的協議,比如我們經常會在科幻電影中看到的,能夠採取的這種腦電波的溝通。人與人之間的溝通的協議會進步,網路的協議同樣也會進步,IPFS就是屬於當下有最新的一種網路協議。
這就是當前的網路的主要由伺服器構成的,針對這個伺服器的話,能會有很多的客戶端去和它連線,和他進行一些通訊。進的過程當然是要按照這個協議來進行通訊的,就是大家相互之間的這種通訊的規則,就比如說我和正在觀看我的文章的各位呢,我們之間其實在通訊的這個過程當中,其實也存在著一定的協議。比如我們會約定,只能在文章尾部進行評論,我看到你的評論我才會回覆你,這就是一個我們的共同規則,也就是我們的這種通訊協議。我們現在都是有這麼多人,那如果說人數再翻十倍,再翻一百倍,有更多的人在收聽的時候的話呢,如果沒有規則的話呢,我們就會很容易亂掉,所以說規則是非常重要的。
而當前的這種規則的事。就是CS架構,伺服器搭配客戶端的模式,我們可以設想一下,在這種架構下,每一個的客戶端之間的事,沒有辦法去直接進行溝通的,因為他們都要經過伺服器來互動,也就是說他們每一次溝通都要先經過一次伺服器。那麼當很多人同時來訪問這個伺服器的時候,這個伺服器就會承受很大的壓力,這是一個問題。
整個網路的通訊得非常依賴這個伺服器,會產生另外一個問題就是對主幹網路的依賴,假設我們要按一部電影好,那麼這部電影的話呢,可以儲存在美國的一個伺服器,那麼我們,要去觀看這部電影的時候呢,我們透過電腦去訪問這個伺服器,那整個訪問的過程是怎樣的呢?我們在家裡可能電腦的連的是我們的網線,這個網線的話能會繼續的彙總到一起,形成一條就主幹網路,這種主幹網路大的兩個區域之間的這種通訊的傳輸,美國的伺服器就要透過美國和亞洲這邊的整個海底的這種光纜去和他們進行通訊。我們假設在中國有十個人去看這一部電影,那麼這十個人的話都要經過這個主幹網路來訪問到位於美國的那個伺服器,然後伺服器響應著十個人的要求,把關於這個電影的資料在傳輸過來。這就是為什麼cs網路的他是非常依賴這個主幹網路的。這樣的話呢,就比較容易的會造成主幹網路的通訊的擁堵。
IPFS對上我們現有的HTTP模式能有什麼優勢。
CS架構中是有很多的問題的,我們現在主要使用的是協議是http和https。傳統的http呢,所有的資訊都是明文傳輸,可以對整個網路傳輸過程當中的資料進行抓包分析,但可以分析出很多的內容,而https的話能透過加密,使的抓包分析變得比較的困難,https他其實同樣是一個CS架構,加密的證書也是透過特別的伺服器來加密的這個證書,因此它也是一個CS架構的,那麼只要攻擊了C,那麼整個網路就會面臨比較大的安全隱患,這是所有的CS架構網路都避免不了的問題。
那麼CS架構網路有沒有優點呢?當然也是有的好,由於客戶端之間的通訊要依賴於伺服器。伺服器對網路具有很強的掌控力,這個掌控力可以體現在,首先它可以把整個網路當中一些作惡的資料和內容。他可以透過一些方式把這些客戶端給遮蔽掉了,從而體現他的管理能力。CS架構的傳輸能對網路資源進行集中化的管理,比如說現在有一個比較重要的資訊需要透過某個伺服器傳送的,伺服器就可以暫緩其他的相關的服務,把相應的資源集中起來,用在這個重要的事情上。
P2P同樣有它的優勢,讓我們一起來看看,P2P網路是由若干個對等的節點構成的,就是我們前面看到的官網對於IPFS介紹的那句話就是一個 A peer-to-peer hypermedia protocol的這種結構,點對點這種對等的網路其實並不依賴於哪一個節點,並沒有並不存在所謂的中心化的服務及大家的關係都是一致的,每一個節點的都在追其他的節點。資料所取資料,也在為其他的節點提供一些資料,就是這樣一種對等的關係。
在這種對等的關係之下呢,就會有很多的好處。比如說,我們依然要去看一部美國的電影,那麼假設在P2P網路當中,有一個節點已經去訪問過美國那個儲存的電影的伺服器了,那麼他當時在訪問這個資訊的時候,他的機子上就儲存了這樣一段內容。附近的其他的網路,也需要這個內容的時候呢,那麼就可以透過這個網路去訪問這個節點,也就不需要透過主幹網路了,這是他的一個優點。
說到這裡,很多人就會想起很多相關的應用啊,比如說b2b啊,像電驢。這種的傳輸和儲存的應用成熟的app相比呢,IPFS究竟有什麼樣的優越性呢?其實我們可以說,現有的已經成熟的網路工具像bt呀,像迅雷等等。IPFS整個架構的設計上和這些成熟的應用相比,並沒有什麼特別強的超越性,它只是在一些方面做了最佳化。把這個網路的最佳化成適合更大的體量的點對點的網路。比如在傳統的BT中,我們進行點和點之間的聯絡,還有我們要去尋找一個檔案的時候,我們也是需要有伺服器的,需要有這種專業的伺服器,IPFS是不需要伺服器它是用分散式雜湊表。把網路上的各個節點以及檔案切成小片,網路中的每一個節點都可以訪問一個臨近的節點,然後的話呢,這個鄰近的節點上一定會存有一定的DHT,然後這個節點的話呢,對於新加入的節點進行引導。
新加入的節點可能會需要某個檔案,那麼對他進行引導的這個對等的節點呢,就會幫助新加入的節點去找這個檔案,先在自己的儲存空間中找,如果找不到的會根據DHT去找其他的節點。如果找到的話,會把這個資訊返回過來。然後呢,存有這個檔案的節點和需求的節點就會建立連續傳輸相應的內容。
那為什麼我們會說IPFS的未來大家都很看好呢?
這裡就需要提到兩個方面了:
第一個方面,就是IPFS本身的完善使得他在P2P網路當中。容納整個節點的整個網路的穩定的這種特性,就像剛才我們所說的,因為在P2P網路當中,每一個節點都有可能隨時加入進來,又可能隨時離開,這樣的話都會造成整個網路的波動,那bs的他對於這種不動的話還是有比較強的容錯率。
第二個點的就是它的激勵層。我們常說P2P上那些為大家提供內容的那些使用者很多其實都是在做雷鋒,因為他們在提供這些內容的過程當中,並沒有什麼收益。因此的話呢,他們只是在為為這是無償的為大家提供內容。而IPFS為了能更好的激勵,增加了一個Filecoin的代幣,為這個網路當中去為其他使用者提供內容的人獎勵相應的代幣。有了這樣一個收益之後呢,就可以激勵更多的使用者加入到這個網路當中來。