作者:Xiang|W3.Hitchhiker
IPFS
為去中心化互聯網(web3.0)提供動力
一種點對點超媒體協議,通過使網絡可升級、彈性和更開放的方式保存與發展人類的知識。
IPFS是一個分布式系統,用于存儲和訪問文件、網站、應用程序和數據。
web的應用層協議是超文本傳輸協議,它是傳統web的核心。HTTP由兩個程序實現:一個客戶程序和一個服務器程序。客戶程序和服務器程序運行在不同的端系統,通過交換HTTP進行會話。HTTP定義了這些數據的結構以及客戶端和服務器進行交互的方式。
web頁面是由對象組成的,一個對象只是一個文件,諸如一個HTML文件,一個JPEG圖形,或一段小視頻片這樣的文件,且它們可以通過URL地址尋址。多數web頁面含有一個html基本文件,以及幾個引用對象。
HTTP定義了web客戶向web服務器請求web頁面的方式,以及服務器向客戶傳送web頁面的方式。
而瀏覽器做的工作就是執行和解析HTTP協議與前端代碼然后將內容展示出來,提交查詢的時候通常是web端查詢它的數據庫然后將結果返回給請求方,也就是瀏覽器,然后瀏覽器展示出來。
互聯網上的數據經常因為文件被刪除或服務器關閉而永久被抹去。有人統計過目前互聯網上的web頁面平均保存壽命只有100天左右,我們經常看到一些網站出現"404錯誤"。
主干網絡運行效率低,使用成本高。使用HTTP協議每次需要從中心化的服務器下載完整的文件,速度慢、效率低。
主干網絡并發機制制約互聯網訪問速度。這種中心化主干網絡的模式也導致在高并發情況下網絡訪問時候的擁堵。
在現有的http協議下,所有的數據都保存在這些中心化服務器上,互聯網巨頭們不但對我們的數據有絕對的控制權和解釋權,各種各樣的監管、封鎖、監控一定程度上也極大的限制了創新和發展。
成本高,易被攻擊,為了支撐HTTP協議,對于大流量公司,比如百度、騰訊、阿里等,投入大量資源維護服務器和安全隱患,防止DDoS等攻擊。主干網絡受制于戰爭,自然災害,中心服務器宕機等因素,都可能造成整個互聯網中斷服務。
IPFS的解決方案
IPFS提供了文件的歷史版本回溯功能,可以很容易的查看文件的歷史版本,且數據無法刪除,可以得到永久保存。
IPFS是基于內容尋址的存儲模式,相同的文件都不會重復存儲,它會把過剩的資源擠壓下來,包括存儲空間都釋放出來,數據存儲成本就會降低。如果改用P2P的方式下載,帶寬使用成本可以節省近60%。
Flux Protocol與Poly Network達成深度戰略合作:據官方消息,Flux Protocol與Poly Network達成深度戰略合作。雙方在前期共同為FLUX 通證實現資產跨鏈的合作基礎上,繼續進行底層技術探索。目前雙方已共建了OEC、BSC、Heco跨鏈橋。用戶可通過基于Poly Network底層的Flux V3產品,讓資產在OKExChain、火幣生態鏈、幣安智能鏈之間實現跨鏈調倉、無損跨鏈、異鏈存借等操作。
Flux協議是由ZeroOne團隊開發的去中心化的數字加密資產抵押借貸協議。Poly Network 是異構鏈跨鏈互操作協議。[2021/9/14 23:23:38]
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。
HyperGraph 與 LambSwap 達成深度戰略合作關系:據官方消息,HyperGraph 與知名區塊鏈存儲項目 Lambda 旗下 LambSwap 達成戰略合作關系, LambSwap 已經采用了 HyperGraph 的數據索引查詢服務來交付行情版塊。
這僅是雙方合作的起點,雙方還將開放 HGT/LAMB、HGT/GOAT 交易,并開啟流動性挖礦,尤其數據和存儲存在天然的依存關系,雙方將一道挖掘DeFi數據層面的真正潛力。[2021/4/14 20:17:00]
IPFS好處
融合了Kademlia、BitTorrent、Git等理念的一種超媒體分發協議
避免了中心節點失效,無審查和管控的完全去中心化的點到點傳輸網絡
駛入互聯網的明天——新的瀏覽器已經默認支持IPFS協議,傳統瀏覽器可以通過訪問地址如https://ipfs.io等的公共IPFS網關,或者安裝IPFS伴侶擴展來訪問儲存在IPFS網絡中的文件
下一代內容分發網絡CDN——只需要在本地節點添加文件就可以使得全球都可以通過緩存友好的內容哈希地址和類BitTorrent網絡帶寬分發來獲得文件
依托強大的開源社區為后盾,為構建完整分布式應用和服務的一個開發者工具集
IPFS把文件在系統中如何存儲、索引和傳輸都定義好,也就是將上傳好的文件轉換成專門的數據格式進行存儲,同時IPFS會將相同的文件進行了hash計算,確定其唯一的地址。所以無論在任何設備,任意地點,相同的文件都會指向相同的地址。然后通過一個文件系統將網絡中所有的設備連接起來,然后讓存儲在IPFS系統上的文件,在全世界任何一個地方快速獲取,且不受防火墻的影響。所以從根本上說,IPFS能改變WEB內容的分發機制,使其完成去中心化。
通過內容尋址的唯一標識
通過有向無環圖(DAG)進行內容鏈接
通過分布式哈希表(DHT)發現內容
這三個原則相互依賴,而打造的IPFS生態系統。讓我們從內容尋址和內容的唯一標識開始
內容尋址和內容的唯一標識
IPFS使用內容尋址來根據內容而不是位置來識別內容。按內容查找項目是每個人一直在做的事情。
比如你在圖書館找一本書,經常是按書名來找的;那是內容尋址,因為你在問它是什么。
如果你使用位置尋址來查找那本書,你會通過它的位置來找:"我想要在二樓的書,第三個書架,第四層,從左邊算起四本書。"
DogeSwap.com與Channels達成深度戰略合作:據官方消息,DogeSwap.com與Channels達成深度戰略合作,雙方將在社區合作、生態建設、市場拓展、資源共享等多領域展開合作,共同推動Heco生態發展。現用戶可用Heco相關錢包打開DogeSwap.com添加CAN/HUSD流動性,待挖礦權限開啟即可挖取DOG。
Channels是Heco上支持LP機槍池+LP抵押借貸的平臺,也是采用去中心化預言機的借貸平臺。[2021/4/2 19:40:43]
如果有人搬了那本書,那你就倒霉了!
互聯網和您的計算機上都存在這個問題!現在,內容是按位置查找的,例如:
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的第一步是轉換輸入數據,使用加密算法將任意大小的輸入映射到固定大小的輸出。這種轉換稱為哈希數字指紋或簡稱哈希。
開源-聯盟、ChainUP與四川鏈存科技有限公司達成深度戰略合作:據官方消息,開源-聯盟、ChainUP宣布與四川鏈存科技有限公司達成戰略合作,雙方將在IPFS分布式存儲、Filecoin生態建設等方面展開深度合作,共同推進IPFS分布式文件技術、5G技術、云與邊緣計算技術、Al大數據及區塊鏈技術等創新技術應用落地。
開源-聯盟 f040665 屬于開源礦池節點,開源礦池致力于研發分布式存儲,以為用戶提供分布式存儲解決方案為使命,產品包括分布式存儲服務器、智能應用系統開發、算力云和分布式存儲服務器托管運維等服務,目前擁有成熟的技術研發體系和完整的產業生產供應鏈。[2021/1/7 16:39:46]
使用的加密算法必須生成具有以下特征的哈希值:
確定性:相同的輸入應該總是產生相同的哈希。
不相關:輸入數據中的一個小變化應該會產生一個完全不同的哈希。
單向:從哈希值中回推輸入數據是不可行的。
唯一性:只有一個文件可以產生一個特定的哈希。
請注意,如果我們更改土豚圖像中的單個像素,加密算法將為圖像生成完全不同的哈希。
當我們使用內容地址獲取數據時,我們可以保證看到該數據的預期版本。這與傳統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進行共享和檢索。
Bitstamp推出新服務INSIGHTS,以提供市場深度信息:交易所Bitstamp在推特上宣布推出新服務INSIGHTS,旨在為用戶提供加密市場的深度信息,其數據由IntoTheBlock提供。[2020/7/29]
可驗證性
是否曾經備份了文件,然后在幾個月后找到這兩個文件或目錄并想知道它們的內容是否相同?你可以為每個備份計算一個MerkleDAG,而不需要費力地比較文件:如果根目錄的CID匹配,就會知道哪些可以安全地刪除,并釋放硬盤驅動器上的一些空間!
可分配性
例如,一個大型數據的分發。在傳統web網絡上:
共享文件的開發人員負責維護服務器及其相關費用
同一臺服務器很可能用于響應世界各地的請求
數據本身可以作為單個文件存檔以單片方式分布
很難找到相同數據的替代供應者
數據可能是大塊的,必須從單個供應者那串行下載
其他人很難共享數據
MerkleDAG幫助我們緩解所有這些問題。通過將數據轉換為內容尋址的DAG:
任何想要的人都可以幫助收發文件
來自世界各地的節點都可以參與服務數據
DAG的每一部分都有自己的CID,可以獨立分發
很容易找到相同數據的替代供應者
構成DAG的節點很小,可以從許多不同的供應者處并行下載
所有這些都有助于重要數據的可擴展性。
重復數據刪除
例如,以瀏覽網頁為例!當一個人使用瀏覽器訪問網頁時,瀏覽器必須先下載與該頁面相關的資源,包括圖像、文本和樣式。其實許多網頁實際上看起來非常相似,只是使用了相同主題其他只是略有變化。這里會產生很多冗余。
當瀏覽器足夠優化的時候,可以避免多次下載該組件。每當用戶訪問新網站時,瀏覽器只需下載其DAG中與不同部分相對應的節點,而之前已經下載了其他部分不需要再次下載!
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上,從而為網絡打開了眾多應用程序和落地場景的大門。
4月4日消息,風險投資基金SeaXVentures推出6000萬美元的FundII,以幫助國際初創企業在東南亞擴張.
1900/1/1 0:00:00本文來自?Decrypt,原文作者:EkinGen?,由Odaily星球日報譯者Katie辜編譯。隨著加密貨幣生態的迅速發展,世界各地的稅務局開始難以跟上這一趨勢.
1900/1/1 0:00:00親愛的ZT用戶: ZT創新板即將上線NFTY,並開啟NFTY/USDT交易對。具體上線時間如下: 充值:已開啟; 交易:2022年3月30日18:00; NFTY 項目簡介:NFTY是一個跨鏈W.
1900/1/1 0:00:00去中心化金融代幣價格已經開始走高,跨協議鎖定的總價值的上升和dApp收入的增加暗示著DeFi的潛在復興。3月份對于加密貨幣市場來說是兩極分化,自年初以來的疲軟已經開始消退.
1900/1/1 0:00:00經Odaily星球日報不完全統計,3月28日-4月3日當周公布的海內外區塊鏈融資事件共37起,較前一周有一定增加;已披露融資總額約為12億美元,較前一周有一定上升.
1900/1/1 0:00:00本文來自Medium,原文作者:STEPNOFFICALOdaily星球日報譯者|Moni作為將Web3革命引入健身行業的先行者,STEPN正在利用現代科技打造健身行業的未來.
1900/1/1 0:00:00