IPFS星際文件系統的簡介

IPFS簡介?

  • IPFS(InterPlanetary File System)叫星際文件傳輸系統,本質是一個基于點對點的分布式超媒體分發協議,它整合了分布式系統,為所有人提供全球統一的可尋址空間,因為他具有良好的安全性、較高的傳輸速度等特點,被認為是最有可能取代HTTP的新一代互聯網協議。
  • IPFS用基于內容的尋址替代傳統的基于域名的尋址。用戶不需要關心服務器的位置,不用考慮文件存儲的名字和路徑。我們將一個文件放到IPFS節點中,將會得到基于其內容計算出的唯一加密哈希值。哈希值直接反映文件的內容,哪怕只修改1比特,哈希值也會完全不同。當IPFS被請求一個文件哈希時,它會使用一個分布式哈希表找到文件所在的節點,取回文件并驗證文件的哈希值,如果哈希值不符合,說明內容被篡改了。
  • IPFS是通用目的的基礎架構,基本沒有存儲上的限制。大文件會被切分成小的分塊,下載的時候可以從多個服務器同時獲取。IPFS的網絡是不固定的、細粒度的、分布式的網絡,可以很好的適應內容分發網絡的要求。這樣的設計可以很好的共享各類數據,包括圖像、視頻流、分布式數據庫、整個操作系統、模塊鏈、8英寸軟盤的備份,還有靜態網站。
  • IPFS提供了一個友好的WEB訪問接口,用戶可通過http://ipfs.io/hash?獲取IPFS網絡中的內容,也許在不久的將來,IPFS協議將會徹底替代傳統的HTTP協議。

原理

將傳統的基于內容的地址替代基于域名的地址,也就是用戶尋找的不是某個地址而是儲存在某個地方的內容,不需要驗證發送者的身份,而只需要驗證內容的哈希,通過這樣可以讓網頁的速度更快、更安全、更健壯、更持久。

區別

內容/地址

  • 地址尋址--傳統的HTTP服務,需要我們輸入地址,如果地址錯誤或者服務器關閉,我們就無法訪問
  • 內容尋址--我們不需要地址,只需要知道所要查詢內容,每個內容的哈希值是唯一的,也可以理解為指紋,當下載某個文件時,只需要查詢網絡,誰有這個文件的哈希值,然后,IPFS網絡上的某個人將會把文件提供給你,如何判定這個人有沒有篡改文件,通過文件的哈希值(內嵌防偽功能)比對,如果數值相符,則沒有改變。哈希的另一個好處就是可以刪除重復的數據,當多個用戶上傳同一份數據,它只會被創建一次,這就使得網絡效率非常高效

中心化/分布式

中心化

  • 所有信息以及數據都存儲在大型服務器里面,而服務器是由提供商掌握,如果服務商不再提供服務,我們就沒法使用
  • 審查制度,因為數據都存儲在那么幾個服務器上面,各國政府可以很容易的封鎖網站

分布式優勢

安全

  • IPFS的容錯機制會保證數據被復制了足夠數量并存放在不同的地區,即使某一個地方的數據由于不可抗力的因素被完全銷毀,通過其他地區的備份也可以實現完整恢復數據,極大的保證了存儲在IPFS上的數據的安全性
  • 加密的數據別人是無法查看的,其他人只是看到了分散的文件碎片,保證了IPFS存儲的隱私性
  • 底層Libp2p屏蔽了網絡細節

數據傳輸速度

  • 當需要讀取數據的時候,所有的存儲者會同時將保存的文件小塊數據,機器接收到文件碎片之后,會自動進行拼接,相對于傳統的中心化HTTP模式速度更快

數據存儲

  • 文件存儲在IPFS對象中,這些對象可以存儲多達256KB的數據,也可以包含鏈接到其他IPFS對象的鏈接,超過256KB的文件會被分割成數個IPFS對象,每一個對象都是256KB,然后系統會生成一個空白的IPFS對象與包含這個文件的其他所有IPFS鏈接,類比與linux的tree命令,形成一個樹型的層次結構

數據更新迭代

  • 因為IPFS類似于區塊鏈的不可更改的特性,但是我們可以上傳一個新的文件版本,使之與之前的文件版本連接到一起,IPFS會確保這個文件以及他的完整的歷史,全部都在網上,只有追加更新,不可以刪除原先的數據

IPFS思維導圖

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/447261.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/447261.shtml
英文地址,請注明出處:http://en.pswp.cn/news/447261.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ARM和NEON指令 very nice

在移動平臺上進行一些復雜算法的開發,一般需要用到指令集來進行加速。目前在移動上使用最多的是ARM芯片。 ARM是微處理器行業的一家知名企業,其芯片結構有:armv5、armv6、armv7和armv8系列。芯片類型有:arm7、arm9、arm11、corte…

IPFS下載安裝和配置

參考鏈接 因為這個網站訪問速度很慢,我提供了IPFS的MAC版本。有需要的查看我的資源下載。 大致流程 安裝 $ ls go-ipfs_v0.4.10_darwin-amd64.tar.gz $ tar xvfz go-ipfs_v0.4.10_darwin-amd64.tar.gz x go-ipfs/build-log x go-ipfs/install.sh x go-ipfs/ipfs…

IPFS的相關操作命令

新增文件 在桌面新建名字為1121的文件夾,在文件夾里面新建file.txt文件,在文件里面輸入數據,保存退出 $ pwd /Users/CHY/Desktop $ mkdir 1121 $ cd 1121/ $ vi file.txt $ cat file.txt 哈哈,為什么只有我不快樂 給文件輸入內容…

Neon Intrinsics各函數介紹

#ifndef __ARM_NEON__ #error You must enable NEON instructions (e.g. -mfloat-abisoftfp -mfpuneon) to use arm_neon.h #endif/*(1)、正常指令:生成大小相同且類型通常與操作數向量相同的結果向量; (2)、長指令:對雙字向量操作數執行運算…

npm安裝包總是失敗了的,請參考

鏡像使用方法 (三種辦法任意一種都能解決問題,建議使用第三種,將配置寫死,下次用的時候配置還在): 1.通過config命令 npm config set registry https://registry.npm.taobao.org npm info underscore //&#xff08…

arm 開發工具比較(ADS vs RealviewMDK vs RVDS)

ADS REALVIEW MDK RVDS 公司 ARM Keil(后被ARM收購) ARM 版本 最新1.2 ,被RVDS取代 最新4.0 是否免費 破解情況 有 有 工程管理 CodeWarrior IDE nVision IDE Eclipse/ CodeWarrior IDE 編譯器 ARM C compiler for AD…

解決macOS Catalina(10.15)解決阻止程序運行“macOS無法驗證此App不包含惡意軟件”

在終端里面輸入如下命令 sudo spctl --master-disable 下面圖片對比執行命令前后,安全性與隱私 界面上顯示的差異:使用命令之后,界面變了

MSYS2 + MinGW-w64 + Git + gVim 環境配置

原文 http://dantvt.is-programmer.com/posts/63161.html 以前用 MSYS 的多,最近重裝系統順帶把環境重新配一下,發現 MSYS2 挺順手的。 一、安裝 MSYS2 先裝 MSYS2 的好處是之后可以將 $HOME 設為 /home/name/,再裝其他 *nix 系工具時配置…

MAC版 的最新Docker 2.2版本配置國內代理的解決辦法

點擊Docker圖標,選擇Preference選項,進行國內代理的問題 輸入內容如下 {"experimental": false,"debug": true,"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.…

常用的Homebrew的命令的使用

(1)安裝軟件:brew install 軟件名,例如:brew install wget (2)搜索軟件:brew search 軟件名 (3)卸載軟件:brew uninstall 軟件名 (…

微軟正式提供Visual Studio 2013正式版下載(附直接鏈接匯總)

轉自 http://www.iruanmi.com/visual-studio-2013/ 微軟已經向MSDN訂閱用戶提供了Visual Studio 2013正式版鏡像下載,不過非MSDN用戶可以在微軟的Visual Studio 2013官方網站上下載到正式版鏡像(通過下載專業版本,已驗證與MSDN版本一致&…

《算法的樂趣》作者王曉華訪談:多看、多做、多想是秘訣

摘要:王曉華是一位熱衷于算法研究的程序員,他是CSDN算法專欄的超人氣博主,也是《算法的樂趣》一書的作者。近日,筆者采訪了王曉華,請他分享算法的經驗之道。 王曉華是一位熱衷于算法研究的程序員,他是CSDN…

基于Mac環境搭建以太坊私有區塊鏈進行挖礦模擬

第一步:相關軟件的安裝 go-ethereum客戶端安裝Go-ethereum客戶端通常被稱為Geth,它是個命令行界面,執行在Go上實現的完整以太坊節點。Geth得益于Go語言的多平臺特性,支持在多個平臺上使用(比如Windows、Linux、Mac)。Geth是以太坊…

Springboot 添加server.servlet.context-path

Springboot 2.0變革后的配置區別 1、springboot 2.0之前,配置為 server.context-path 2、springboot 2.0之后,配置為 server.servlet.context-path

vs2015 支持Android arm neon Introducing Visual Studio’s Emulator for Android

visual studio 2015支持Android開發了。 Microsoft released Visual Studio 2015 Preview this week and with it you now have options for Android development. When choosing one of those Android development options, Visual Studio will also install the brand new Vi…

基于linux環境采用update-alternatives 方式進行python版本切換

采用update-alternatives 切換版本 update-alternatives是Debian提供的一個工具,通過鏈接的方式,但是其切換的過程非常方便。首先看一下update-alternatives的幫助信息: $ update-alternatives --help 用法:update-alternatives …

FFmpeg示例程序合集-批量編譯腳本

此前做了一系列有關FFmpeg的示例程序,組成了《 最簡單的FFmpeg示例程序合集》,其中包含了如下項目:simplest ffmpeg player: 最簡單的基于FFmpeg的視頻播放器simplest ffmpeg audio player: 最簡單的基于FFmpeg的音頻…

基于Ubuntu環境使用docker搭建對于中文識別的chineseocr_lite項目

光學字符識別(OCR) 光學字符識別(OCR)目前已經有了很廣泛的應用,很多開源項目都會嵌入OCR 來擴展原有的能力,例如身份證識別、出入停車場的車牌識別、拍照翻譯等等本文介紹的開源的中文 OCR 項目&#xff…

Ubuntu環境使用conda安裝輕量級中文ocr開源項目chineseocr_lite,最簡單的方式

問題 接使用docker的方式來創建項目所報的錯誤選中文件之后,界面不停的繞圈,顯示不了對于圖片的識別結果,并且監控界面上出現錯誤提示如下ImportError: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory&a…

基于Ubuntu使用docker的方式來搭建基于Yolo3+crnn的Chineseocr識別

Docker Docker簡單易用,具體的安裝和配置可以看我的或者其他人的博客 安裝完之后,輸入以下命令安裝chineseocr并且開啟服務 docker pull zergmk2/chineseocr docker run -d -p 8080:8080 zergmk2/chineseocr 在瀏覽器輸入http://127.0.0.1:8080/ocr網…