0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是IPFS,IPFS的工作方式是怎樣的

獨(dú)愛(ài)72H ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-04-16 20:54 ? 次閱讀

(文章來(lái)源:網(wǎng)絡(luò)整理)
IPFS是對(duì)等(p2p)存儲(chǔ)網(wǎng)絡(luò)。可以通過(guò)可能中繼信息或存儲(chǔ)信息(或同時(shí)做這兩者)的對(duì)等方訪問(wèn)內(nèi)容,并且這些對(duì)等方可以位于世界任何地方。IPFS知道如何通過(guò)其內(nèi)容地址找到您要的內(nèi)容,而不是在哪里。首先讓我們看一下內(nèi)容尋址以及該內(nèi)容如何鏈接在一起。IPFS堆棧的“中間”部分將生態(tài)系統(tǒng)連接在一起。一切都建立在能夠通過(guò)鏈接的唯一標(biāo)識(shí)符查找內(nèi)容的基礎(chǔ)上。

IPFS使用內(nèi)容編址通過(guò)內(nèi)容中的內(nèi)容而不是內(nèi)容的位置來(lái)標(biāo)識(shí)內(nèi)容。您一直都在按內(nèi)容查找項(xiàng)目。例如,當(dāng)您在圖書(shū)館里尋找一本書(shū)時(shí),經(jīng)常會(huì)要求書(shū)名。這是內(nèi)容尋址,因?yàn)槟銌?wèn)什么是。如果您使用位置尋址,找到那本書(shū),你會(huì)問(wèn)它通過(guò)在那里它是:“我想要的書(shū)那是在二樓,第一組,倒數(shù)第三架,左四周書(shū)”。如果有人搬了那本書(shū),那你真倒霉!

通過(guò)散列進(jìn)行內(nèi)容尋址已成為從分布式支持代碼到運(yùn)行加密貨幣的區(qū)塊鏈的分布式系統(tǒng)中連接數(shù)據(jù)的一種廣泛使用的方法。但是,這些系統(tǒng)中的基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)不一定可以互操作。

這就是IPLD項(xiàng)目的來(lái)歷。哈希標(biāo)識(shí)內(nèi)容,而IPLD在數(shù)據(jù)結(jié)構(gòu)之間轉(zhuǎn)換。由于不同的分布式系統(tǒng)以不同的方式構(gòu)造其數(shù)據(jù),因此IPLD提供了一些庫(kù),用于組合可插拔模塊(每種IPLD節(jié)點(diǎn)的解析器)來(lái)解析多個(gè)鏈接節(jié)點(diǎn)之間的路徑,選擇器或查詢(允許您探索數(shù)據(jù),無(wú)論其基礎(chǔ)是什么)。協(xié)議)。IPLD提供了一種在內(nèi)容可尋址的數(shù)據(jù)結(jié)構(gòu)之間進(jìn)行轉(zhuǎn)換的方法:“哦,您使用Git樣式,不用擔(dān)心,我可以關(guān)注這些鏈接。哦,您使用以太坊,我知道了,我也可以關(guān)注那些鏈接!”

IPFS協(xié)議使用IPLD從原始內(nèi)容獲取IPFS地址。IPFS對(duì)于如何將數(shù)據(jù)分解為DAG有其自己的偏好和約定;IPLD使用這些約定將IPFS網(wǎng)絡(luò)上的內(nèi)容鏈接在一起。IPFS生態(tài)系統(tǒng)中的其他所有內(nèi)容都基于此核心概念:鏈接的可尋址內(nèi)容是使其余工作正常進(jìn)行的基本連接元素。IPFS和許多其他分布式系統(tǒng)利用了稱為有向無(wú)環(huán)圖或DAG 的數(shù)據(jù)結(jié)構(gòu)。具體來(lái)說(shuō),它們使用Merkle-DAG,它們是DAG,其中每個(gè)節(jié)點(diǎn)都有一個(gè)標(biāo)識(shí)符,該標(biāo)識(shí)符是節(jié)點(diǎn)內(nèi)容的哈希值。聽(tīng)起來(lái)有點(diǎn)熟?這涉及到上一節(jié)中介紹的CID概念。查看此CID鏈接數(shù)據(jù)概念的另一種方法:通過(guò)其哈希值識(shí)別數(shù)據(jù)對(duì)象(如Merkle-DAG節(jié)點(diǎn))是內(nèi)容尋址。

IPFS使用為表示目錄和文件而優(yōu)化的Merkle-DAG,但是您可以采用許多不同的方式來(lái)構(gòu)造Merkle-DAG。例如,Git使用Merkle-DAG,其中包含許多版本的倉(cāng)庫(kù)。為了建立內(nèi)容的Merkle-DAG表示,IPFS通常首先將其分成多個(gè)塊。將其拆分為多個(gè)塊意味著文件的不同部分可以來(lái)自不同的來(lái)源,并且可以快速進(jìn)行身份驗(yàn)證。

Merkle-DAG有點(diǎn)“全力以赴”。也就是說(shuō),所有內(nèi)容都有CID。您有一個(gè)具有CID的文件。如果一個(gè)文件夾中有幾個(gè)文件怎么辦?該文件夾具有一個(gè)CID,并且該CID包含下面文件的CID。反過(guò)來(lái),這些文件由塊組成,并且每個(gè)塊都有一個(gè)CID。您可以看到如何將計(jì)算機(jī)上的文件系統(tǒng)表示為DAG。希望您還可以看到Merkle-DAG圖如何開(kāi)始形成的。要直觀地了解這個(gè)概念,請(qǐng)查看我們的IPLD Explorer。

Merkle-DAG的另一個(gè)有用功能是將內(nèi)容分成多個(gè)塊,如果您有兩個(gè)相似的文件,它們可以共享Merkle-DAG的一部分。也就是說(shuō),不同Merkle-DAG的一部分可以引用相同的數(shù)據(jù)。例如,如果您更新網(wǎng)站,則僅更改的文件將獲得新的內(nèi)容地址。您的舊版本和新版本可以為其他所有內(nèi)容引用相同的塊。這可以使傳輸大型數(shù)據(jù)集的版本(例如基因組研究或天氣數(shù)據(jù))更加高效,因?yàn)槟恍枰獋鬏斝碌幕蛞迅牡牟糠?,而不必每次都?chuàng)建全新的文件。

因此,總而言之,IPFS允許您為內(nèi)容提供CID,并使用IPLD在Merkle-DAG中將內(nèi)容鏈接在一起?,F(xiàn)在,讓我們繼續(xù)最后一部分:如何查找和移動(dòng)內(nèi)容。為了查找哪些對(duì)等方正在托管您要查找的內(nèi)容(發(fā)現(xiàn)),IPFS使用分布式哈希表或DHT。哈希表是值鍵的數(shù)據(jù)庫(kù)。甲分布式哈希表是其中所述表在所有的對(duì)等體在一個(gè)分布式網(wǎng)絡(luò)分割。要查找內(nèi)容,請(qǐng)問(wèn)這些同行。

該libp2p項(xiàng)目是IPFS生態(tài)系統(tǒng)提供連接,并互相交談的DHT和手柄同行的一部分。一旦知道了內(nèi)容的位置(即哪個(gè)或哪些對(duì)等方正在存儲(chǔ)構(gòu)成您所要訪問(wèn)的內(nèi)容的每個(gè)塊),就可以再次使用DHT 查找這些對(duì)等方的當(dāng)前位置(路由)。因此,為了獲得內(nèi)容,您可以使用libp2p兩次查詢DHT。

您已經(jīng)找到了內(nèi)容,并且已經(jīng)找到了該內(nèi)容的當(dāng)前位置-現(xiàn)在您需要連接到該內(nèi)容并進(jìn)行獲?。ń粨Q)。為了向其他對(duì)等方請(qǐng)求塊并向其他對(duì)等方發(fā)送塊,IPFS當(dāng)前使用名為Bitswap的模塊。Bitswap允許您連接到具有所需內(nèi)容的一個(gè)或多個(gè)對(duì)等節(jié)點(diǎn),將其發(fā)送給您的需求列表(您感興趣的所有塊的列表),然后讓他們向您發(fā)送您請(qǐng)求的塊。這些塊到達(dá)后,您可以通過(guò)對(duì)它們的內(nèi)容進(jìn)行哈希處理以獲取CID來(lái)對(duì)其進(jìn)行驗(yàn)證。

還討論了其他內(nèi)容復(fù)制協(xié)議,其中最發(fā)達(dá)的是Graphsync。正在討論中的一項(xiàng)提案,旨在擴(kuò)展Bitswap協(xié)議以在請(qǐng)求和響應(yīng)周圍添加功能。
(責(zé)任編輯:fqj)

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4180

    瀏覽量

    85502
  • 互聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    54

    文章

    11042

    瀏覽量

    102470
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PNP傳感器輸出信號(hào)的特點(diǎn)和工作方式

    PNP傳感器的輸出信號(hào)是其工作過(guò)程中的關(guān)鍵環(huán)節(jié),它決定了傳感器如何與外部電路或控制系統(tǒng)進(jìn)行交互。以下將詳細(xì)解釋PNP傳感器的輸出信號(hào),包括其特點(diǎn)、工作方式、應(yīng)用場(chǎng)景以及相關(guān)的接線和注意事項(xiàng)。
    的頭像 發(fā)表于 09-13 17:32 ?819次閱讀

    串行口的四種工作方式各有什么特點(diǎn)

    串行通信是計(jì)算機(jī)硬件和外設(shè)之間常用的通信方式之一。串行口(Serial Port)是實(shí)現(xiàn)串行通信的硬件接口。在計(jì)算機(jī)系統(tǒng)中,串行口通常用于連接鼠標(biāo)、調(diào)制解調(diào)器、打印機(jī)等設(shè)備。串行口有四種工作方式
    的頭像 發(fā)表于 08-22 17:37 ?580次閱讀

    放大器的非線性工作方式

    放大器的非線性工作方式是一個(gè)復(fù)雜而廣泛的主題,它涉及到電子學(xué)、信號(hào)處理以及電路設(shè)計(jì)等多個(gè)領(lǐng)域。在非線性工作方式下,放大器的輸出信號(hào)不再是輸入信號(hào)的簡(jiǎn)單線性放大,而是會(huì)引入各種非線性效應(yīng),如失真、頻率變換、諧波產(chǎn)生等。
    的頭像 發(fā)表于 08-08 17:32 ?396次閱讀

    三相步進(jìn)電機(jī)有哪幾種工作方式?

    ? ? ? 三相步進(jìn)電機(jī)是一種常見(jiàn)的電機(jī)類型,廣泛應(yīng)用于各種自動(dòng)化設(shè)備和精密控制系統(tǒng)中。它具有結(jié)構(gòu)簡(jiǎn)單、控制方便、運(yùn)行可靠等優(yōu)點(diǎn)。三相步進(jìn)電機(jī)的工作方式主要有以下幾種: ? ? ??1.全步工作方式
    的頭像 發(fā)表于 06-23 16:26 ?616次閱讀
    三相步進(jìn)電機(jī)有哪幾種<b class='flag-5'>工作方式</b>?

    永磁同步電動(dòng)機(jī)的結(jié)構(gòu)與工作方式

    永磁同步電動(dòng)機(jī)(Permanent Magnet Synchronous Motor,簡(jiǎn)稱PMSM)作為一種高效、節(jié)能的電動(dòng)機(jī)類型,在現(xiàn)代工業(yè)、交通、家電等領(lǐng)域得到了廣泛應(yīng)用。其獨(dú)特的結(jié)構(gòu)和工作方式
    的頭像 發(fā)表于 06-21 11:15 ?613次閱讀

    PLC的CPU工作方式詳解

    Processing Unit,中央處理器)作為其核心組件,其工作方式直接影響到PLC的性能和穩(wěn)定性。本文將詳細(xì)探討PLC的CPU工作方式,包括其工作原理、主要模式以及實(shí)際應(yīng)用中的注意事項(xiàng),以期為相關(guān)技術(shù)人員提供參考和借鑒。
    的頭像 發(fā)表于 06-13 18:20 ?1381次閱讀

    三相步進(jìn)電機(jī)有哪幾種工作方式

    三相步進(jìn)電機(jī)是一種常見(jiàn)的電機(jī)類型,廣泛應(yīng)用于各種自動(dòng)化設(shè)備和精密控制系統(tǒng)中。它具有結(jié)構(gòu)簡(jiǎn)單、控制方便、運(yùn)行可靠等優(yōu)點(diǎn)。三相步進(jìn)電機(jī)的工作方式主要有以下幾種: 全步工作方式 全步工作方式是三相步進(jìn)電機(jī)
    的頭像 發(fā)表于 06-12 09:20 ?810次閱讀

    斬波器的定頻調(diào)寬工作方式

    斬波器的定頻調(diào)寬工作方式是一種電力電子控制技術(shù),用于調(diào)節(jié)輸出電壓或電流。
    的頭像 發(fā)表于 05-24 16:12 ?494次閱讀

    DC電源模塊的原理及工作方式

    BOSHIDA ?DC電源模塊的原理及工作方式 DC電源模塊是一種將交流電轉(zhuǎn)換為直流電的設(shè)備,它將交流電輸入端轉(zhuǎn)換為穩(wěn)定的直流電輸出,以供電子設(shè)備使用。DC電源模塊的工作原理及工作方式如下。 ?DC
    的頭像 發(fā)表于 04-24 10:37 ?560次閱讀
    DC電源模塊的原理及<b class='flag-5'>工作方式</b>

    最常見(jiàn)的直流負(fù)載工作方式

    最常見(jiàn)的直流負(fù)載工作方式? 直流負(fù)載工作方式是指在直流電路中使用的各種負(fù)載方式。直流負(fù)載是用于測(cè)試和測(cè)量直流電源輸出能力和能效的設(shè)備,可以模擬真實(shí)負(fù)載條件下的電流和功率需求。本文將詳細(xì)介紹最常
    的頭像 發(fā)表于 01-18 15:12 ?622次閱讀

    想用aducm360的DAC輸出一個(gè)恒定電壓值,應(yīng)該使用DAC的哪個(gè)工作方式呢?

    想用aducm360的DAC輸出一個(gè)恒定電壓值,來(lái)搭建一個(gè)外部的恒流源。 如果想要DAC的輸出盡量穩(wěn)定,應(yīng)該使用DAC的哪個(gè)工作方式呢?若是16位的應(yīng)怎樣設(shè)定DAC的值呢?
    發(fā)表于 01-12 08:16

    POE工業(yè)交換機(jī)的原理和工作方式是什么?

    POE工業(yè)交換機(jī)是現(xiàn)代工業(yè)網(wǎng)絡(luò)通信中不可或缺的一部分。該工業(yè)級(jí)交換機(jī)的完整名稱是“PoweroverEthernet(以太網(wǎng)供電)”,其主要特點(diǎn)是能夠通過(guò)網(wǎng)絡(luò)連接線同時(shí)傳輸數(shù)據(jù)和電力。在這篇文章中,我們將詳細(xì)討論一下POE工業(yè)交換機(jī)的原理和工作方式。
    的頭像 發(fā)表于 12-21 15:50 ?1228次閱讀

    熱敏電阻的工作原理 熱敏電阻工作方式

    熱敏電阻的工作原理 熱敏電阻工作方式? 熱敏電阻是一種利用溫度變化來(lái)改變電阻值的電子元件。它的工作原理基于材料的溫度特性,通常由某種半導(dǎo)體材料制成。熱敏電阻的工作方式可以分為負(fù)溫度系數(shù)
    的頭像 發(fā)表于 12-20 10:34 ?1176次閱讀

    RC和RCD緩沖電路的工作方式、區(qū)別和優(yōu)缺點(diǎn)?

    RC和RCD緩沖電路的工作方式、區(qū)別和優(yōu)缺點(diǎn)? RC和RCD緩沖電路是電子系統(tǒng)中常用的兩種電路,用于解決信號(hào)的延時(shí)和沖擊波的衰減問(wèn)題。它們?cè)?b class='flag-5'>工作方式、區(qū)別和優(yōu)缺點(diǎn)方面有一些不同。 首先,我們來(lái)了
    的頭像 發(fā)表于 11-20 17:05 ?2198次閱讀

    三相升壓器的原理、工作方式、應(yīng)用領(lǐng)域

    三相升壓器的原理、工作方式、應(yīng)用領(lǐng)域 三相升壓器是一種電力設(shè)備,用于將輸入的低壓三相電流轉(zhuǎn)換為高壓三相電流。它是電力輸電和配電系統(tǒng)中不可或缺的部分,廣泛應(yīng)用于工業(yè)、農(nóng)業(yè)、交通等領(lǐng)域。本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-20 14:44 ?1099次閱讀