作者:Xiang,W3.Hitchhiker
什么是IPFS
為去中心化互聯網(web3.0)提供動力。
一種點對點超媒體協議,通過使網絡可升級、彈性和更開放的方式保存與發展人類的知識。
IPFS是一個分布式系統,用于存儲和訪問文件、網站、應用程序和數據。
HTTP
"IPFS"對標的是一個叫"HTTP"的東西,這你可能比較熟悉,當你上網打開百度搜索頁面時,它所見即所得。
web的應用層協議是超文本傳輸協議,它是傳統web的核心。HTTP由兩個程序實現:一個客戶程序和一個服務器程序。客戶程序和服務器程序運行在不同的端系統,通過交換HTTP進行會話。HTTP定義了這些數據的結構以及客戶端和服務器進行交互的方式。
web頁面是由對象組成的,一個對象只是一個文件,諸如一個HTML文件,一個JPEG圖形,或一段小視頻片這樣的文件,且它們可以通過URL地址尋址。多數web頁面含有一個html基本文件,以及幾個引用對象。
HTTP定義了web客戶向web服務器請求web頁面的方式,以及服務器向客戶傳送web頁面的方式。
而瀏覽器做的工作就是執行和解析HTTP協議與前端代碼然后將內容展示出來,提交查詢的時候通常是web端查詢它的數據庫然后將結果返回給請求方,也就是瀏覽器,然后瀏覽器展示出來。
HTTP協議的弊端
我們現在使用互聯網都是在http或https協議下運行的,http協議也就是超文本傳輸協議,是用于從萬維網服務器傳輸超文本到本地瀏覽器的傳送協議,從1990年提出至今已經32年了,他對于目前互聯網的爆炸性成長居功至偉,成就了互聯網的繁榮。
但是HTTP協議是基于C/S架構下的互聯網通信協議,基于主干網絡中心化運行的機制,也存在諸多弊端。
互聯網上的數據經常因為文件被刪除或服務器關閉而永久被抹去。有人統計過目前互聯網上的web頁面平均保存壽命只有100天左右,我們經常看到一些網站出現"404錯誤"。
主干網絡運行效率低,使用成本高。使用HTTP協議每次需要從中心化的服務器下載完整的文件,速度慢、效率低。
主干網絡并發機制制約互聯網訪問速度。這種中心化主干網絡的模式也導致在高并發情況下網絡訪問時候的擁堵。
在現有的http協議下,所有的數據都保存在這些中心化服務器上,互聯網巨頭們不但對我們的數據有絕對的控制權和解釋權,各種各樣的監管、封鎖、監控一定程度上也極大的限制了創新和發展。
成本高,易被攻擊,為了支撐HTTP協議,對于大流量公司,比如百度、騰訊、阿里等,投入大量資源維護服務器和安全隱患,防止DDoS等攻擊。主干網絡受制于戰爭,自然災害,中心服務器宕機等因素,都可能造成整個互聯網中斷服務。
IPFS的解決方案
IPFS提供了文件的歷史版本回溯功能,可以很容易的查看文件的歷史版本,且數據無法刪除,可以得到永久保存。
上海:培育人工智能產業集群,推動通用 AI、XR 等新一代人工智能技術的深度應用:金色財經報道,上海市科學技術委員會等印發《推進“大零號灣”科技創新策源功能區建設方案》,其中提出,培育人工智能產業集群。聚焦智能硬件、智能機器人和智能駕駛等領域,圍繞高端芯片、傳感器、工業軟件等核心技術,培育一批具有國際領先水平和自主知識產權的高能級企業。依托馬橋人工智能創新試驗區,推動通用AI、XR等新一代人工智能技術在數字社區、城市治理和公共服務領域的深度應用。[2023/2/27 12:32:04]
IPFS是基于內容尋址的存儲模式,相同的文件都不會重復存儲,它會把過剩的資源擠壓下來,包括存儲空間都釋放出來,數據存儲成本就會降低。如果改用P2P的方式下載,帶寬使用成本可以節省近60%。
IPFS是基于P2P網絡,可以有多個源保存了數據,可以并發從多個節點下載數據。
建立在去中心化的分布式網絡上的IPFS很難被中心化管理和限制,互聯網將更加開放。
IPFS分布式存儲可以極大的降低對中心主干網絡的依賴。
言簡意賅地說:
HTTP依賴中心化服務器,容易遭受攻擊,訪問量暴增服務器容易宕機,下載速度慢,存儲成本高;
而IPFS是分布式節點,更加安全不易被DDoS攻擊,不依賴主干網,降低存儲成本且存儲空間大,下載速度快還能查找文件歷史版本記錄,并且理論上能永久儲存。
新的技術取代老的技術,無非就兩點:
第一,能提高系統效率;
第二,能夠降低系統成本。
IPFS把這兩點都做到了。
IPFS的團隊在開發時,采用高度模塊集成化的方式,像搭積木一樣去開發整個項目。協議實驗室團隊2015年創立,到17年的時間里都在做IPLD、LibP2P、Multiformats這三個模塊的開發,它們服務于IPFS底層。
Mutiformats是一系列hash加密算法和自描述方式的集合,它具有SHA1\SHA256\SHA512\Blake3B等6種主流的加密方式,用以加密和描述nodeID以及指紋數據的生成。
LibP2P是IPFS核心中的核心,面對各式各樣的傳輸層協議以及復雜的網絡設備,它可以幫助開發者迅速建立一個可用P2P網絡層,快速且節約成本,這也是為什么IPFS技術被眾多區塊鏈項目青睞的緣由。
IPLD其實是一個轉換中間件,將現有的異構數據結構統一成一種格式,方便不同系統之間的數據交換和互操作。現在IPLD支持的數據結構,例如比特幣、以太坊的區塊數據,也支持IPFS和IPLD。這也是IPFS為什么受到區塊鏈系統歡迎的原因之二,它的IPLD中間件可以把不同的區塊結構統一成一個標準進行傳遞,為開發者提供了成功性比較高的標準,不用擔心性能、穩定和bug。
比特幣巨鯨Joe007:加密市場即將迎來深度下跌:10月24日消息,比特幣巨鯨Joe007發推表示,如果你還在準備預想比特幣會超過10萬美元,那么你應該準備好該如何在長時間的深度下跌中生存下來。此外Joe007還援引其此前推文:如果你全押并且沒有任何法定資金,那么您保護比特幣免受突然崩盤的能力就是零。如果您已經建立了針對BTC抵押品的杠桿多頭頭寸,那么您就沒有保護比特幣免受尾部風險。[2021/10/24 6:10:21]
IPFS好處
融合了Kademlia、BitTorrent、Git等理念的一種超媒體分發協議
避免了中心節點失效,無審查和管控的完全去中心化的點到點傳輸網絡
駛入互聯網的明天——新的瀏覽器已經默認支持IPFS協議,傳統瀏覽器可以通過訪問地址如https://ipfs.io等的公共IPFS網關,或者安裝IPFS伴侶擴展來訪問儲存在IPFS網絡中的文件
下一代內容分發網絡CDN——只需要在本地節點添加文件就可以使得全球都可以通過緩存友好的內容哈希地址和類BitTorrent網絡帶寬分發來獲得文件
依托強大的開源社區為后盾,為構建完整分布式應用和服務的一個開發者工具集
IPFS把文件在系統中如何存儲、索引和傳輸都定義好,也就是將上傳好的文件轉換成專門的數據格式進行存儲,同時IPFS會將相同的文件進行了hash計算,確定其唯一的地址。所以無論在任何設備,任意地點,相同的文件都會指向相同的地址。然后通過一個文件系統將網絡中所有的設備連接起來,然后讓存儲在IPFS系統上的文件,在全世界任何一個地方快速獲取,且不受防火墻的影響。所以從根本上說,IPFS能改變WEB內容的分發機制,使其完成去中心化。
IPFS工作原理
IPFS是一個點對點(p2p)存儲網絡。可以通過位于世界任何地方的節點訪問內容,這些節點可能會傳遞信息、存儲信息或兩者兼而有之。IPFS知道如何使用其內容地址,而不是其位置來查找您要求的內容。
理解IPFS的三個基本原則:
通過內容尋址的唯一標識
通過有向無環圖(DAG)進行內容鏈接
通過分布式哈希表(DHT)發現內容
這三個原則相互依賴,而打造的IPFS生態系統。讓我們從內容尋址和內容的唯一標識開始
內容尋址和內容的唯一標識
IPFS使用內容尋址來根據內容而不是位置來識別內容。按內容查找項目是每個人一直在做的事情。
比如你在圖書館找一本書,經常是按書名來找的;那是內容尋址,因為你在問它是什么。
如果你使用位置尋址來查找那本書,你會通過它的位置來找:"我想要在二樓的書,第三個書架,第四層,從左邊算起四本書。"
如果有人搬了那本書,那你就倒霉了!
互聯網和您的計算機上都存在這個問題!現在,內容是按位置查找的,例如:
國資委副主任:當前區塊鏈等技術加快演進 深度融入社會各個領域:3月4日,《學習時報》頭版頭條刊發國資委副主任、黨委委員翁杰明署名文章《國有企業要作推動數字化智能化升級的排頭兵》。文章指出,加快數字化智能化升級是搶抓科技和產業革命歷史機遇的重大舉措。當前,云計算、大數據、區塊鏈、人工智能、移動互聯網等基礎性技術和前沿熱點技術加快迭代演進,深度融入社會各個領域,不斷迸發創新活力,信息化日益成為推動經濟社會發展的先導力量,數字經濟正在成為全球產業變革和經濟增長的核心要素,世界各主要國家都把數字化智能化升級作為謀求國際競爭新優勢的戰略方向。[2020/3/5]
https://en.wikipedia.org/wiki/Aardvark
/Users/Alice/Documents/term_paper.doc
C:\Users\Joe\MyDocuments\project_sprint_presentation.ppt
相比之下,每條使用IPFS協議的內容都有一個*內容標識符*,即CID。哈希對于它所來自的內容來說是唯一的,即使它與原始內容相比可能看起來很短。
許多分布式系統通過哈希使用內容尋址,不僅可以識別內容,還可以將其鏈接在一起——從支持代碼的提交到運行加密貨幣的區塊鏈,一切都利用了這種策略。然而,這些系統中的底層數據結構不一定是可互操作的。
CID(ContentIdentifiers)
CID規范起源于IPFS,現在以多格式存在,并支持包括IPFS、IPLD、libp2p和Filecoin在內的廣泛項目。盡管我們將在整個課程中分享一些IPFS示例,但本教程是關于CID本身的剖析,每個分布式信息系統都將其用作引用內容的核心標識符。
內容標識符或CID是一個自描述的內容尋址標識符。它并不表示內容存儲_在哪里_,而是根據內容本身形成一種地址。CID中的字符數取決于基礎內容的加密哈希,而不是內容本身的大小。由于IPFS中的大多數內容都使用哈希sha2-256,因此您遇到的大多數CID將具有相同的大小。這使它們更易于管理,尤其是在處理多條內容時。
例如,如果我們在IPFS網絡上存儲了土豚的圖像,它的CID將如下所示:?QmcRD4wkPPi6dig81r5sLj9Zm1gDCL4zgpEj9CfuRrGbzF
之前的演示過的uniswap的IPFS鏈接:
創建CID的第一步是轉換輸入數據,使用加密算法將任意大小的輸入映射到固定大小的輸出。這種轉換稱為哈希數字指紋或簡稱哈希。
使用的加密算法必須生成具有以下特征的哈希值:
確定性:相同的輸入應該總是產生相同的哈希。
不相關:輸入數據中的一個小變化應該會產生一個完全不同的哈希。
動態 | 華為發布區塊鏈聯合征信等解決方案 深度布局金融服務數字化:據中金在線消息,在近日舉行的2019華為全球金融峰會上,華為發布了5G智慧銀行、虛擬銀行、區塊鏈聯合征信、商品交易所動產質押、AI金融等系列解決方案,深度布局金融服務數字化。[2019/4/26]
單向:從哈希值中回推輸入數據是不可行的。
唯一性:只有一個文件可以產生一個特定的哈希。
請注意,如果我們更改土豚圖像中的單個像素,加密算法將為圖像生成完全不同的哈希。
當我們使用內容地址獲取數據時,我們可以保證看到該數據的預期版本。這與傳統Web上的位置尋址完全不同,在傳統Web上,給定地址(URL)上的內容會隨時間而變化。
CID的結構
Multiformats
Multiformats在IPFS體系中主要負責身份的加密和數據的自我描述。
Multiformats是未來安全系統的協議集合,自描述格式可以讓系統可互相協作和升級。
Multiformats協議里面包含以下協議:
multihash-自描述哈希
multiaddr-自描述網絡地址
multibase-自描述基編碼
multicodec-自描述序列化
multistream-自描述流網絡協議
multigram(WIP)-自描述分組網絡協議
內容鏈接?有向無環圖
MerkleDAG繼承了CID的可分配性。對DAG使用內容尋址會對它們的分發產生一些有趣的影響。首先,當然,任何擁有DAG的人都能夠充當該DAG的提供者。第二個是當我們檢索編碼為DAG的數據時,比如文件目錄,我們可以利用這一事實并行檢索節點的所有子節點,可能來自許多不同的提供者!
三是文件服務器不僅限于集中式數據中心,讓我們的數據覆蓋范圍更廣。最后,因為DAG中的每個節點都有自己的CID,所以它所代表的DAG可以獨立于它本身嵌入的任何DAG進行共享和檢索。
可驗證性
是否曾經備份了文件,然后在幾個月后找到這兩個文件或目錄并想知道它們的內容是否相同?你可以為每個備份計算一個MerkleDAG,而不需要費力地比較文件:如果根目錄的CID匹配,就會知道哪些可以安全地刪除,并釋放硬盤驅動器上的一些空間!
可分配性
例如,一個大型數據的分發。在傳統web網絡上:
共享文件的開發人員負責維護服務器及其相關費用
聲音 | 工信部副部長陳肇雄:推動數字經濟與實體經濟深度融合:據人民網消息,2018中國信息通信大會在成都召開,中國工業和信息化部副部長陳肇雄指出,順應數字經濟發展大勢,推動數字經濟與實體經濟深度融合,是加快新舊動能接續轉換的重要舉措。今后中國將加快推進數字產業化、產業數字化,做大做強數字經濟,打造高質量網絡,強化基礎支撐。[2018/12/17]
同一臺服務器很可能用于響應世界各地的請求
數據本身可以作為單個文件存檔以單片方式分布
很難找到相同數據的替代供應者
數據可能是大塊的,必須從單個供應者那串行下載
其他人很難共享數據
MerkleDAG幫助我們緩解所有這些問題。通過將數據轉換為內容尋址的DAG:
任何想要的人都可以幫助收發文件
來自世界各地的節點都可以參與服務數據
DAG的每一部分都有自己的CID,可以獨立分發
很容易找到相同數據的替代供應者
構成DAG的節點很小,可以從許多不同的供應者處并行下載
所有這些都有助于重要數據的可擴展性。
重復數據刪除
例如,以瀏覽網頁為例!當一個人使用瀏覽器訪問網頁時,瀏覽器必須先下載與該頁面相關的資源,包括圖像、文本和樣式。其實許多網頁實際上看起來非常相似,只是使用了相同主題其他只是略有變化。這里會產生很多冗余。
當瀏覽器足夠優化的時候,可以避免多次下載該組件。每當用戶訪問新網站時,瀏覽器只需下載其DAG中與不同部分相對應的節點,而之前已經下載了其他部分不需要再次下載!
分布式哈希表(DHT)
分布式哈希表(DHT)是用于將鍵映射到值的分布式系統。在IPFS中,DHT被用作內容路由系統的基本組件,并且充當目錄和導航系統之間的交叉點。它將用戶正在尋找的內容映射到存儲匹配內容的peer節點。可以把它想象成一個巨大的表格,存儲誰擁有什么數據。
Libp2p
libp2p是一個模塊化的網絡堆棧,它從IPFS演變為一個獨立的項目。波卡也在用,eth2.0也在部分使用。
為了解釋為什么libp2p是去中心化網絡中如此重要的一部分,我們需要退后一步,了解它的來源。libp2p的初始實現始于IPFS,一個點對點文件共享系統。讓我們從探索IPFS旨在解決的網絡問題開始。
網絡
網絡是非常復雜的系統,有自己的規則和限制,因此在設計這些系統時,我們需要考慮很多情況和用例:
防火墻:您的筆記本電腦中可能安裝了防火墻,阻止或限制特定連接。
NAT:您的家庭WiFi路由器,帶有NAT,可將您筆記本電腦的本地IP地址轉換為您家外的網絡可以連接的單個IP地址。
高延遲網絡:這些網絡的連接速度非常慢,讓用戶等待很長時間才能看到他們的內容。
可靠性:世界各地分布著許多網絡,而且很多用戶經常遇到速度慢的網絡,這些網絡沒有強大的系統來為用戶提供良好的連接。連接頻繁斷開,用戶的網絡系統質量不佳,無法為用戶提供應有的服務。
漫游:移動尋址是另一種情況,我們需要保證用戶的設備在通過世界各地的不同網絡導航時保持唯一可發現性。目前,它們在需要大量協調點和連接的分布式系統中工作,但最好的解決方案是去中心化的。
審查制度:在當前的網絡狀態下,如果您是政府實體,在特定網站域中屏蔽網站相對容易。這對于阻止非法活動很有用,但當一個專制政權想要剝奪其人口對資源的訪問權時,就會成為一個問題。
具有不同屬性的運行時:周圍有許多類型的運行時,例如物聯網設備,它們正在獲得大量采用。因為它們是用有限的資源構建的,所以它們的運行時通常使用不同的協議,這些協議對它們的運行時做出了很多假設。
創新非常緩慢:即使是擁有大量資源的最成功的公司也可能需要數十年的時間來開發和部署新協議。
數據隱私:消費者最近越來越擔心越來越多不尊重用戶隱私的公司。
P2P協議當前問題
點對點(P2P)網絡從互聯網的概念中被設想為一種創建彈性網絡的方式,即使peer節點由于重大的自然或人為災難而與網絡斷開連接,該網絡仍能正常工作,從而允許人們繼續通信。
P2P網絡可用于各種用例,從視頻通話到文件共享。
基礎概念
Peer?-去中心化網絡的參與者。peer節點是應用程序中同等特權、同等能力的參與者。在IPFS中,當您在筆記本電腦上加載IPFS桌面應用程序時,您的設備將成為去中心化網絡IPFS中的Peer節點。
Peer-to-Peer(P2P)?-一個分散的網絡,工作負載在peer節點之間共享。因此,在IPFS中,每個Peer節點都可能托管要與其他peer節點共享的全部或部分文件。當一個節點請求文件時,任何擁有這些文件塊的節點都可以參與發送請求的文件。然后,請求數據的節點方可以稍后與其他節點方共享數據。
IPFS在當前和過去的網絡應用和研究中尋找靈感,嘗試改進其P2P系統。學術界有大量的科學論文提供了如何解決其中一些問題的想法,但是雖然研究產生了初步結果,但它缺乏可以使用和調整的代碼實現。
現有P2P系統的代碼實現真的很難找到,而且在它們確實存在的地方,由于以下原因,它們通常難以重用或重新調整用途:
文件不佳或不存在
限制性許可或找不到許可
十多年前最后一次更新的非常舊的代碼
沒有聯系點
閉源代碼
已棄用的產品
未提供規格
沒有暴露友好的API
實現與特定用例的耦合過于緊密
無法使用未來的協議升級
必須有更好的方法。看到主要問題是互操作性,IPFS團隊設想了一種更好的方法來集成所有當前的解決方案并提供一個促進創新的平臺。一種新的模塊化系統,可以使未來的解決方案無縫集成到網絡堆棧中。
libp2p是IPFS的網絡棧,但從IPFS中抽離出來,成為獨立一流的項目和IPFS的依賴項目。
通過這種方式,libp2p能夠在不依賴于IPFS的情況下進一步發展,獲得自己的生態系統和社區。IPFS只是成為libp2p的眾多用戶之一。
這樣,每個項目都可以只專注于自己的目標:
IPFS更專注于內容尋址,即查找、獲取和驗證網絡中的任何內容。libp2p更側重于進程尋址,即查找、連接和驗證網絡中的任何數據傳輸進程。那么libp2p是如何做到的呢?
答案是:模塊化。
libp2p已經確定了可以構成網絡堆棧的特定部分:
多語言實現,支持7種開發語言,libp2p的JavaScript實現也適用于瀏覽器和移動瀏覽器!這非常重要,因為它使應用程序也可以在桌面和移動設備上運行libp2p。
應用程序包括文件存儲、視頻流、加密錢包、開發工具和區塊鏈。可以區塊鏈頂流的項目都已經有采用IPFS的libp2p模塊。
IPLD
IPLD用于理解和處理數據。
IPLD是一個轉換中間件,將現有的異構數據結構統一成一種格式,方便不同系統之間的數據交換和互操作,數據模型與解碼,使用CID做為鏈接。
首先,我們定義了一個“數據模型”,它說明了數據的域和范圍。這很重要,因為它是我們將要構建的一切的基礎。此后,我們定義了“編解碼器”,它說明了如何從消息中解析它并作為我們想要的消息形式發出。IPLD有很多編解碼器。您可以根據您希望與之交互的其他應用程序選擇使用不同的編解碼器,或者僅根據您自己的應用程序喜歡的性能與人類可讀性的適合性來選擇使用不同的編解碼器。
IPLD實現了最上面的三層協議:對象、文件、命名。
對象層?-IPFS中的數據以MerkleDirectedAcyclicGraph的結構組織,節點稱為對象,可以包含數據或指向其他對象的鏈接,鏈接是嵌入在源中的目標數據的加密哈希。這些數據結構提供了許多有用的屬性,如內容尋址、數據防篡改、重復數據刪除等;
文件層?-為了在MerkleDAG之上建模一個類似Git的版本控制系統,IPFS定義了如下的對象:
blob數據塊:blob是一個可變大小的數據塊,代表一個數據塊;
list:用于有序地組織blob或其他lists,通常代表一個文件;
tree:代表目錄并包含blobs、lists以及其他trees;
commit:類似于Git的提交,表示對象的版本歷史記錄中的快照;
命名層?-由于對象的每次更改都會改變其哈希值,因此需要對哈希值做一個映射。IPNS為每個用戶分配一個可變的命名空間,并且可以將對象發布到由用戶私鑰簽名的路徑,以驗證對象的真實性。類似URL。
對應IPLD的展示:
IPFS應用了以上個模塊的功能,集成為一種容器化的應用程序,運行在獨立節點上,以Web服務的形式,供大家使用訪問。IPFS允許網絡中的參與者互相存儲,索取和傳輸可驗證的數據。但是由于IPFS是開源的,可以被免費下載和使用,并且已經被大量的團隊使用。
Filecoin
運用IPFS及技術各個節點可存儲它們認為重要的數據;但如果沒有簡單的方法,沒有可以激勵他人加入網絡或存儲數據,IPFS的推廣難以展開,這時就需要并誕生了Filecoin,IPFS的激勵層,證券化。
Filecoin為IPFS添加了激勵性的存儲。IPFS用戶可以直接可靠地存儲其數據在Filecoin上,從而為網絡打開了眾多應用程序和落地場景的大門。
來源:NFTGo 在NFT市場獲利往往與很多因素相關。當你考慮是否要購買一個10K項目時,除了項目本身,交易行為,交易時機,以及交易金額都至關重要.
1900/1/1 0:00:00原作者:Pickle 原標題:《AlteredStateMachine,$ASTOandtheNextGreatEvolutionofNFTs》 編譯:餅干,鏈捕手 導讀:3月初.
1900/1/1 0:00:00鏈捕手消息,總部位于新加坡的板球NFT平臺Rario完成1.2億美元融資,DreamSports企業風險投資和并購部門DreamCapital領投.
1900/1/1 0:00:00作者:CryptoYCTechAvalanche共識協議一條鏈最基本的任務就是確保網絡安全性,這涉及到的東西就是共識.
1900/1/1 0:00:00來源:Defi之道 高盛將Web3描述為「下一波計算機行業的潮流」,強調「在Web3框架下,現有巨頭的護城河也將受到威脅」;中國證監會科技監管局局長姚前贊譽「Web3是用戶與建設者共建共享的新型.
1900/1/1 0:00:00鏈捕手消息,據彭博社報道,加密錢包開發商、交易所Blockchain.com近期以140億美元完成新一輪融資,但未披露具體募資金額.
1900/1/1 0:00:00