0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

独爱72H 来源:网络整理 作者:佚名 2020-04-16 20:54 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

(文章来源:网络整理)
IPFS是对等(p2p)存储网络。可以通过可能中继信息或存储信息(或同时做这两者)的对等方访问内容,并且这些对等方可以位于世界任何地方。IPFS知道如何通过其内容地址找到您要的内容,而不是在哪里。首先让我们看一下内容寻址以及该内容如何链接在一起。IPFS堆栈的“中间”部分将生态系统连接在一起。一切都建立在能够通过链接的唯一标识符查找内容的基础上。

IPFS使用内容编址通过内容中的内容而不是内容的位置来标识内容。您一直都在按内容查找项目。例如,当您在图书馆里寻找一本书时,经常会要求书名。这是内容寻址,因为你问什么是。如果您使用位置寻址,找到那本书,你会问它通过在那里它是:“我想要的书那是在二楼,第一组,倒数第三架,左四周书”。如果有人搬了那本书,那你真倒霉!

通过散列进行内容寻址已成为从分布式支持代码到运行加密货币的区块链的分布式系统中连接数据的一种广泛使用的方法。但是,这些系统中的基础数据结构不一定可以互操作。

这就是IPLD项目的来历。哈希标识内容,而IPLD在数据结构之间转换。由于不同的分布式系统以不同的方式构造其数据,因此IPLD提供了一些库,用于组合可插拔模块(每种IPLD节点的解析器)来解析多个链接节点之间的路径,选择器或查询(允许您探索数据,无论其基础是什么)。协议)。IPLD提供了一种在内容可寻址的数据结构之间进行转换的方法:“哦,您使用Git样式,不用担心,我可以关注这些链接。哦,您使用以太坊,我知道了,我也可以关注那些链接!”

IPFS协议使用IPLD从原始内容获取IPFS地址。IPFS对于如何将数据分解为DAG有其自己的偏好和约定;IPLD使用这些约定将IPFS网络上的内容链接在一起。IPFS生态系统中的其他所有内容都基于此核心概念:链接的可寻址内容是使其余工作正常进行的基本连接元素。IPFS和许多其他分布式系统利用了称为有向无环图或DAG 的数据结构。具体来说,它们使用Merkle-DAG,它们是DAG,其中每个节点都有一个标识符,该标识符是节点内容的哈希值。听起来有点熟?这涉及到上一节中介绍的CID概念。查看此CID链接数据概念的另一种方法:通过其哈希值识别数据对象(如Merkle-DAG节点)是内容寻址。

IPFS使用为表示目录和文件而优化的Merkle-DAG,但是您可以采用许多不同的方式来构造Merkle-DAG。例如,Git使用Merkle-DAG,其中包含许多版本的仓库。为了建立内容的Merkle-DAG表示,IPFS通常首先将其分成多个块。将其拆分为多个块意味着文件的不同部分可以来自不同的来源,并且可以快速进行身份验证。

Merkle-DAG有点“全力以赴”。也就是说,所有内容都有CID。您有一个具有CID的文件。如果一个文件夹中有几个文件怎么办?该文件夹具有一个CID,并且该CID包含下面文件的CID。反过来,这些文件由块组成,并且每个块都有一个CID。您可以看到如何将计算机上的文件系统表示为DAG。希望您还可以看到Merkle-DAG图如何开始形成的。要直观地了解这个概念,请查看我们的IPLD Explorer。

Merkle-DAG的另一个有用功能是将内容分成多个块,如果您有两个相似的文件,它们可以共享Merkle-DAG的一部分。也就是说,不同Merkle-DAG的一部分可以引用相同的数据。例如,如果您更新网站,则仅更改的文件将获得新的内容地址。您的旧版本和新版本可以为其他所有内容引用相同的块。这可以使传输大型数据集的版本(例如基因组研究或天气数据)更加高效,因为您只需要传输新的或已更改的部分,而不必每次都创建全新的文件。

因此,总而言之,IPFS允许您为内容提供CID,并使用IPLD在Merkle-DAG中将内容链接在一起。现在,让我们继续最后一部分:如何查找和移动内容。为了查找哪些对等方正在托管您要查找的内容(发现),IPFS使用分布式哈希表或DHT。哈希表是值键的数据库。甲分布式哈希表是其中所述表在所有的对等体在一个分布式网络分割。要查找内容,请问这些同行。

该libp2p项目是IPFS生态系统提供连接,并互相交谈的DHT和手柄同行的一部分。一旦知道了内容的位置(即哪个或哪些对等方正在存储构成您所要访问的内容的每个块),就可以再次使用DHT 查找这些对等方的当前位置(路由)。因此,为了获得内容,您可以使用libp2p两次查询DHT。

您已经找到了内容,并且已经找到了该内容的当前位置-现在您需要连接到该内容并进行获取(交换)。为了向其他对等方请求块并向其他对等方发送块,IPFS当前使用名为Bitswap的模块。Bitswap允许您连接到具有所需内容的一个或多个对等节点,将其发送给您的需求列表(您感兴趣的所有块的列表),然后让他们向您发送您请求的块。这些块到达后,您可以通过对它们的内容进行哈希处理以获取CID来对其进行验证。

还讨论了其他内容复制协议,其中最发达的是Graphsync。正在讨论中的一项提案,旨在扩展Bitswap协议以在请求和响应周围添加功能。
(责任编辑:fqj)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 存储
    +关注

    关注

    13

    文章

    4696

    浏览量

    89576
  • 互联网
    +关注

    关注

    55

    文章

    11321

    浏览量

    108863
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    UWB技术的应用场景和工作方式

    UWB(Ultra-Wide Band,超宽带)是一种无线通信技术,利用非常宽的频谱(通常超过500 MHz)进行高精度测距和定位。该技术最初主要应用于军用雷达系统。随着频谱开放以及民用市场对高精度定位的需求增长,2019年之后UWB技术逐渐普及到消费电子、汽车、工业、智能家居、医疗等多个领域。
    的头像 发表于 10-28 11:00 3609次阅读
    UWB技术的应用场景和<b class='flag-5'>工作方式</b>

    AMD Versal自适应SoC内置自校准的工作原理

    本文提供有关 AMD Versal 自适应 SoC 内置自校准 (BISC) 工作方式的详细信息。此外还详述了 Versal 的异步模式及其对 BISC 的影响。
    的头像 发表于 10-21 08:18 3858次阅读

    超高频RFID读写器原理详解:工作方式、识别距离与应用场景

    超高频RFID读写器的工作原理是什么?本文深入解析其电磁波能量传输、反向散射调制、防碰撞算法和识别距离影响因素,并结合仓储物流、制造、医疗等行业案例,帮助企业全面理解超高频RFID技术的价值和应用。
    的头像 发表于 10-10 16:17 1576次阅读
    超高频RFID读写器原理详解:<b class='flag-5'>工作方式</b>、识别距离与应用场景

    88%中国法律人已用AI,下一个改变工作方式的,会是你吗?

    技术革新已悄然走入日常——不仅改变了法律人的工作方式,也带来了全新的行业价值链重构。 全球先进的法律内容和技术提供商   LexisNexis律商联讯于6月30日正式推出律商+™平台 ,该平台致力于为中国法律从业者提供高效、精准的一站式智能解决方案,涵盖权威法律检索、
    的头像 发表于 08-06 19:19 360次阅读
    88%中国法律人已用AI,下一个改变<b class='flag-5'>工作方式</b>的,会是你吗?

    LP3799EEQ 原边控制的隔离型恒压恒流控制器

    DCM 和 CCM 两种工作方式。在恒压工作状态下,系统的工作方式随负载的变化而变化,当负载为重载的时候,其工作在峰值电流控制的定频方式
    发表于 08-02 16:15 0次下载

    WXZ196微机消谐装置的工作方式是什么

    WXZ196微机消谐装置的工作方式是什么? 1、实时监测:微机消谐装置通过高性能的传感器,实时监测电力系统中的关键参数,尤其是PT开口三角处的电压和频率。在正常工作的情况下,PT开口三角处的电压小于
    的头像 发表于 06-03 09:55 381次阅读

    AD9253对时钟抖动的要求怎么样,应该选择怎样的时钟架构?

    1:这款芯片支持连续采样、沿触发和外触发工作方式 2:时钟必须使用时钟芯片配置才行?使用有源晶振是否可以? 3:这款芯片对时钟抖动的要求怎么样,应该选择怎样的时钟架构?
    发表于 04-15 06:43

    开关电源的基本工作原理

    于 DC/AC 逆变电源,或 DC/DC 电压变换;后两种工作模式多用于开关稳压电源。另外,开关电源输出电压也有三种工作方式:直接输出电压方式、平均值输出电压方式、幅值输出电压
    发表于 03-10 17:01

    DLP4710LC开发模块数据的加载方式怎样的?

    您好,最近购买了贵司的DLP4710LC开发模块,我了解到其有32位输入数据总线,我想知道数据的加载方式怎样的,就是这32位数据总线是如何控制1920×1080个像素的,他的工作流程是怎样
    发表于 02-20 06:51

    使用ADS1258的时候调试了它的两种工作方式,寄存器的值会发生错乱,为什么?

    我在使用ADS1258的时候调试了它的两种工作方式,一是auto channel,一种是fix channel;使用第一种方式都是正常的,但是用第二种方式是,总是会出现bug,在程序运行一段时间后
    发表于 02-10 08:21

    ADS803是如何工作的?怎样将数据采集回来,并读出来?

    请问,ADS803是如何工作的,也就是说,应该怎样将数据采集回来,并读出来,在程序上应该怎样处理。
    发表于 02-06 06:25

    数字化仪的工作方式有哪些

    数字化仪,作为一种将图像(胶片或像片)和图形(包括各种地图)的连续模拟量转换为离散的数字量的装置,是专业应用领域中一种用途非常广泛的图形输入设备。本文将深入探讨数字化仪的多种工作方式,包括其技术原理、操作特点以及应用领域。
    的头像 发表于 01-30 15:27 1572次阅读

    串行接口的工作方式有几种,串行接口的RXD1和TXD1是什么端口

    在数字通信领域,串行接口作为一种高效的数据传输方式,广泛应用于各种电子设备之间的数据交换。串行接口不仅具有结构简单、传输距离远、抗干扰能力强等优点,而且能够支持多种工作方式,以适应不同应用场景的需求。本文将深入探讨串行接口的工作方式
    的头像 发表于 01-29 16:51 2099次阅读

    怎样判断芯片TMDS141工作是否正常?

    怎样判断芯片TMDS141 工作正常
    发表于 01-10 07:35

    想读ADS1248寄存器写入的值,是否必须改变SPI工作模式?

    reading out the register data 请问难道我想读ADS1248寄存器写入的值,我还必须改变我的SPI工作模式?我目前使用的SPI是全双工方式,我想读被写入到寄存器中的值就必须得换SPI工作方式?另外
    发表于 01-09 07:45