服務項目

需求溝通

代幣平臺開發

  一、從HTTP到IPFS

  我們平時上網時,最熟悉的莫過于網址里的“http://”字樣,其實HTTP是萬維網 (WWW: World Wide Web)服務器傳輸超文本到本地瀏覽器的傳送協議。協議全稱是Hyper Text Transfer Protocol,即超文本傳輸協議。代幣平臺開發。

  萬維網如何利用HTTP工作呢?這又涉及到TCP/IP通信協議。簡單來說,假設用戶A在電腦上操作將文件上傳至瀏覽器,而用戶B需要從瀏覽器下載這個文件,那么這之間會經歷一個過程。首先TCP程序會把A要發送的文件分解成很多數據,然后壓縮成多個壓縮包。這些壓縮包又統統被裝進一個IP里通過URL[ URL, 全稱是Uniform Resource Locator, 中文叫統一資源定位符,是互聯網上用來標識某一處資源的地址。向HTTP服務端即WEB服務器發送請求。Web服務器根據接收到的請求后,向客戶端發送響應信息,于是A的文件上傳成功。

  而用戶B下載這個文件時,需要輸入IP地址或者域名,好讓電腦知道去哪里找到對應信息(基于位置的尋址Location based addressing)。之后電腦上會向WEB服務器發送請求,TCP會將發下載的壓縮后的數據按序還原。如果接收TCP發現部分文件受損,會請求再發送一次。這樣的話,就會有以下一些問題:

  1) 在互聯網中,所有數據都會被存儲在一個中心服務器上。無論用戶時上傳/下載文件或者是瀏覽網頁,都需要一次一次從服務器上獲取資料。一旦服務器出現故障、被限制或是被攻擊,就會出現文件丟失或者網頁無法打開的情況(錯誤404)。

  2) 基于位置的尋址方式也存在不確定性。比如,一旦IP被刪,或者服務器關閉,那么用戶將無法下載該文件。

  3) 如果這個文件是很多人都需要的,那么每個人都得去下載才能使用,造成很大的存儲空間浪費問題。

  所以互聯網雖然是四通八達又涵蓋廣泛的工具,但是也不可避免的有其局限性。

  IPFS在構建信息交換的橋梁這一點上,與互聯網很相像,不同的是IPFS是去中心化的。也就是說IPFS沒有一個中心服務器,所以不存在信息丟失或者被篡改的問題。并且IPFS可以將實現文件共享,從而節省存儲空間。代幣平臺開發。

  二、IPFS的極簡主義

  2014年5月,墨西哥小哥Juan Benet與他的幾個斯坦福大學同學一起發明了IPFS。在創辦IPFS之前,Juan Benet是典型的國外常春藤學生極客,有一個開掛般的人生。他是斯坦福大學的本科和碩士畢業,在斯坦福讀碩士的期間就參與創立了Loki studios,擔任聯合創始人和CTO,這是一家手游公司,后來被雅虎收購。2011年入駐斯坦福學生創業孵化中心StartX EIR,2012年,畢業后創辦了Athena,這是一個做了一年多的時間后,于2014年5月份創辦Protocal Labs。

  Protocal Labs剛以創立就得以加入美國硅谷頂級孵化器Y-Combinator,IPFS是他們做的第一個產品。Protocol Labs 在創建IPFS的時候給它取名為“InterPlanetary File System(星際文件傳輸)”也是有深刻含義的。Protocol Labs希望構建一個點對點的分布式文件系統,通過底層協議,讓全世界所有人都能夠輕松從IPFS系統上提取文件,且不受防火墻的影響。甚至如果科技發展到一定程度,需要進行星球與星球信息傳輸時,IPFS也可以提供快速存儲文件的服務。

  存儲

  在IPFS中,信息可以存儲進IPFS系統中的塊(block)里,這些塊可以存儲至多256kb的數據,它們還可以鏈接向其他IPFS塊。也就是說,存儲小于256kb的文件時,只需將這個文件放進一個塊內就可以了。而大于256kb的文件會被分成多個256kb然后放進塊中,之后IPFS將創建一個空塊,該塊將鏈接到文件的所有其他部分。這個空塊就類似于一個大信封,里面會涵蓋整個文件的所有部分。

  系統會給同一個文件的每一個塊計算一次哈希值a,所有塊的哈希值a計算完畢之后,會將所有的哈希值a拼湊成一個數組b,再計算一次哈希值,從而得到最終的哈希值c。最后把最終的哈希值c和原文件捆綁起來,組成一個對象,從而形成一個索引結構d。把塊和最終的索引結構d上傳至IPFS節點,文件便同步到網絡了。

  此外,還有一種小于1kb的小文件,如果這些小文件也單獨放進一個塊里的話,也會造成一定的浪費。于是,IPFS把小于1kb的數據內容直接和哈希索引放在一起上傳給IPFS節點,不會再額外的占用一個塊。

  可見IPFS的創作理念,是盡可能少的使用存儲空間,盡量分散的存儲文件。另外,對于相同的文件,IPFS只創建一個文件夾,系統也會自動刪除重復的文件,并修改的版本歷史記錄,這樣可以大大節省存儲空間,保證整個系統的運行速度,并保證存儲文件的安全,和使用的便捷。代幣平臺開發。

  讀取

  同樣作為信息價值交換的基礎,用戶在IPFS上傳或者使用文件時,不再是基于位置的尋址(Location based addressing),而是基于內容的尋址(Content based addressing)。也就是把“去哪找信息”的指令換成“想找什么內容”的指令。

  在互聯網內,下載文件或者瀏覽信息需要一個IP地址或者域名,而在IPFS內,每個文件都有自己的哈希值,并且一個哈希值只對應一個文件。不存在一個文件有多個哈希值,或者多個哈希值對應同一個文件的問題。因而,用戶只需在IPFS內輸入需要文件的哈希值,系統就會出現對應的文件。這些文件是分布存儲的,所以只要有一個用戶有對應的文件,就算部分節點罷工或者不在線,也不會影響文件的讀取。

  具體在IPFS系統種下載文件時,首先,需要礦工根據最終哈希數值搜索該哈希的索引結構,并下載下來。然后,用戶就可以根據哈希索引搜索到文件所在的節點位置。用戶將節點上的塊下載下來之后,IPFS將根據哈希數組的順序,把文件重新組合出來,用戶就可以使用了。

  可以看出,IPFS將文件細分,使上傳略顯復雜,其目的是使用戶在下載時更加便捷。畢竟,小文件的下載比大文件來得更加簡單方便。代幣平臺開發。


       溫馨提示:大連仟源科技有限公司以“專注網站,用心服務”為核心價值,一切以用戶需求為中心,希望通過專業水平和不懈努力,重塑企業網絡形象,為企業產品推廣文化發展提供服務指導;公司主要產品:主要為企業提供游戲開發,手機APP開發,定制系統開發,區塊鏈系統開發,小程序開發,網站開發。

上一篇:開發一個代幣 下一篇:開發代幣平臺
文章標簽:
文章評論:

專業的游戲開發/系統開發、品牌設計/網站建設,選仟源!

選擇專業的企業服務公司,服務更靠譜!

立即點擊咨詢>
客服圖標
客服圖標
118旺角心水论坛