
編者按:本文來自imToken(ID:imToken),Odaily經授權轉載。
編者按:本文來自
二級標題
編者按:本文來自
二級標題
圖片描述
編者按:本文來自
那麼當前互聯網的HTTP 協議到底有什麼問題?
中心化
成本高
二級標題
一、中心化
二級標題
圖片描述
成本高
二級標題
圖片描述
HTTP 協議極度依賴中心化服務網絡,服務器必須24 小時開機運行。
當我們在瀏覽器中輸入網址後,瀏覽器會根據這個網址從服務器中進行信息檢索並返回展示在客戶端,即我們普通用戶看到的樣子。而一旦服務器關機,瀏覽器就無法檢索到相關信息,於是我們就會看到網頁404 的界面。
Gangnam Style
二級標題
圖片描述
二級標題
圖片描述
二級標題
圖片描述
假設每GB 的流量成本(包括網絡帶寬和服務器存儲)是0.01 美元,則總共的花費是100 萬美元。此外,中心化的數據服務對資源的利用效率低,比如中心化的模式要求各數據中心365 天不間斷運營,行業報告顯示僅電力消耗就佔據了57% 的運營成本。可見在HTTP 協議上,集中由數據中心向外傳播信息的成本是非常昂貴的。
圖片描述
二級標題
圖片描述
二級標題
美國國家安全局與多家電訊公司簽署了《網絡安全協議》,規定電訊企業要在美國本土建立「網絡運行中心」。與此同時,美國的盟友英國、加拿大等也為其提供光纜監聽情報。根據華盛頓郵報的消息,美國國家安全局NSA 海底光纜的監控覆蓋全球4 大洲的27 個國家地區。
圖片描述
二級標題
愛德華·斯諾登
正是看到了HTTP 協議的諸多缺陷,Juan Benet 提出了IPFS 的設想,並在2015 年成立了Protocol Labs 實驗室,專門負責開發IPFS。
二級標題
IPFS 的運作原理
QmYqSCWuzG8Cyo4MFQzqKcC14ct4ybAWyrAc9qzdJaFYTL
1、通過內容尋址進行唯一標識
2、通過非對稱加密保護文檔隱私3、通過點對點傳輸加快文檔傳輸速度一、內容尋址
HTTP 協議是基於「域名的尋址」,瀏覽器會根據我們輸入的網址到指定的服務器上獲取文件,而IPFS 是基於「內容的尋址」。 IPFS 會將文件進行哈希得到一個以Qm 開頭的哈希值,我們提供哈希值就能檢索獲取對應的文件。
這兩者俱體有什麼不同呢?
例如我想通過瀏覽器下載一個文件,按照HTTP 協議,瀏覽器首先會查找服務器的位置,也就是域名尋址,接著向服務器索要文件的路徑。這種體系下文件的位置取決於服務器的管理者,而我只能寄希望於文件的位置沒有變動,並且服務器處於開機狀態。
此外,下載文件時,我無法確定客戶端下載的文件和服務器上的文件是否一致,文件在下載傳輸的過程中可能會被人篡改,但我對此是無法感知的。
IPFS 的做法則是撇開服務器和文件具體位置,只關注文件中的內容。當我把一個文件放到IPFS 節點,它會根據文件內容計算出一串Qm 開頭的哈希值,比如這樣👇
哈希算法從數學上確保了文檔中的內容哪怕只修改一個標點,哈希值也會完全不同。每份存儲在鏈上的內容都會分配得到獨一無二的哈希值作為內容標識(Content Identifier,縮寫CID)。
但有個隱私問題,任何人知道了哈希值,不就都能通過IPFS 網絡下載我的文件了麼?
這時就需要用到非對稱加密技術了
,是時候再次請出密碼學的男女主角Bob 和Alice 了。
二、非對稱加密
發送者:Bob 🚹 ,接收者:Alice 🚺
1、Bob 想上傳一份文檔至IPFS ,且只有Alice 能查看該文檔
2、Bob 用Alice 的公鑰對文檔進行加密
3、Bob 將加密後的文檔上傳至IPFS ,得到對應的哈希值作為內容標識
4、加密後的文檔被存儲在IPFS 系統中,Alice 可以憑藉Bob 提供的哈希值下載該文檔
5、Alice 用自己的私鑰解密這份文檔,獲取文檔中的內容
6、未經授權的第三方由於沒有Alice 的私鑰,即便下載了文檔也無法解密。
三、點對點傳輸
如果你讀過比特幣白皮書,點對點這個詞聽起來應該不會很陌生,因為它白皮書的標題就是《比特幣,一種點對點的電子現金系統》
在HTTP 協議中,客戶端想要獲取信息時需要訪問服務器,如果服務器訪問量在短時間內劇增,就會出現訪問失敗的情況,你可以想想自己回家搶火車票時,訂票平台宕機的情景。分佈式拒絕服務攻擊DDoS 就是通過在短時間內借助數百甚至上千台設備對服務器發起請求,耗盡服務器的資源造成其他用戶無法正常訪問該網站。
二級標題IPFS 採用的點對點傳輸技術,點就是指一台計算機。系統中的任何一台電腦都可以做為服務器,彼此之間共享文件,比如迅雷,電驢,酷狗都用到了P2P 技術,實現彼此之間資源的共享。根據HTTP 協議進行文檔下載時,B、C、D 等多台電腦都要訪問服務器A 進行下載,訪問量一多,服務器A 就會宕機。而點對點傳輸技術可以使得B 從A 處下載,B 下載完後變成一個服務器, C 就可以從A、B 處下載。 C 下載完後也變成一個服務器,D 可以從A、B、C 處下載文檔,每一個存有文檔的電腦都可以作為服務器,給其他下載用戶提供信息。
二級標題
因此越到後面,可以作為服務器的電腦就越多,下載速度也就越快。此時A、B、C、D 等多台電腦之間的地位是平等的,都可以作為服務器。原則上,與傳統的HTTP 協議相比,Alice 通過IPFS 下載文檔的速度更快。
但這裡有個問題,A、B、C、D 等多台電腦在沒有任何獎勵的情況下,為什麼要白白給其他電腦提供資源下載?經濟激勵Filecoin 就顯得很有必要了。