IPFS对区块链具有重要作用

OKX欧易app

OKX欧易app

欧易交易所app是全球排名第一的虚拟货币交易所,注册领取6万元盲盒礼包!

APP下载   官网注册

区块链是一个分布式系统。然而,公链如以太坊、EOS等只实现了数据的分布式计算,没有提供数据的分布式存储。这导致分布式的区块链系统无法真正全面实现分布式。与此不同的是,IPFS(星际文件系统)协议解决了这个问题。IPFS是一个分布式文件系统,可以实现数据的分布式存储。它也是一个去中心化网络的基础设施,不同类型的应用,包括公链在内,都可以构建在IPFS的基础上。

如果说公链是"高速公路",那么IPFS就是高速公路路面之下的重要一层。它为不同的公链和应用提供数据的分布式存储支持。

IPFS并不是全新的发明,它是几十年来分布式系统探索的结果。IPFS综合了DHT(分布式哈希表)、BitTorrent、Git和SFS(自主认证文件系统)等优秀思想。通过改进和分层设计,将这些思想组合成了一个新的系统。

本文将简化IPFS的内容,以数据的存取过程为线索,通过对IPFS最关键的三个系统技术的分析,看它是如何满足区块链数据的分布式存储需求的。

01MerkleDAG

当文件存储到IPFS系统中时,并不是以一个完整的个体被存储。文件数据会被平均分割成多个256KB大小的块,并且这些块不会存储在单个中央服务器上,而是分开存储在网络中的分布式节点中。这些节点没有特权。

实现分布式存储的难点不在于文件的切割或加密,而在于如何将这些被分割和分开存储的数据重新组合成一个文件。这正是IPFS协议的第一个关键技术——MerkleDAG。

MerkleDAG是在Git系统的基础上构建的。它是基于MerkleTree的,储存的是哈希值。IPFS上的大部分数据对象都是以MerkleDAG的结构存在。

当从网络中获取文件时,首先从可信的节点获得文件的MerkleTree树根哈希值。然后,通过从其他节点获取MerkleTree的各个节点的哈希值,通过可信的树根来检查接收到的MerkleTree节点。如果遇到损坏或虚假的节点,就从其他存储节点获取另一个MerkleTree节点,直到获得一个与可信树根匹配的MerkleTree。这样就可以从上至下获取最底层的被切割的数据哈希,最终形成一个完整正确的文件。

由于MerkleDAG是基于哈希值的,而哈希值取决于数据块的内容,因此IPFS具备内容寻址(HTTP是基于域名寻址)、防篡改和去重复的功能。

02DHT

依靠MerkleDAG,可以构建一个用于实现分布式数据存储的数据结构。但是,还需要解决MerkleDAG存储的哈希值如何定位到具体存储数据的节点的问题。也就是把数据分配给哪个网络节点来存储,以及从哪个网络节点获取存储的数据。DHT(分布式哈希表)就是用来解决这个问题的方法。

DHT是一种存储"键值对"的容器,它通过key值快速获取value值。在DHT中,key是存储数据的哈希值,通过键值对可以实现数据块与目标节点的映射关系。

哈希表被分割成不连续的块,每个节点被分配一个属于自己的哈希块,也称为区间表,并成为该哈希块的管理者。当用户存储数据时,系统对数据进行哈希运算,根据运算结果决定由哪个节点负责储存,并生成哈希表。

当用户提取数据时,使用同样的算法计算数据的哈希,然后从哈希表获取对应的数据存储位置。

03BitSwap

仅实现数据的分布式存储还不够,数据还需要在节点之间有效交换,使整个系统能高效运作。IPFS协议受到BitTorrent的启发,通过对等节点间交换数据块来分发数据。

BitTorrent是一种点对点传输的网络协议,它在存有不信任对等节点的网络中分发数据。对于一个文件,下载的用户越多,下载速度越快。即使部分网络拥堵或服务器宕机,也不会对整个系统造成太大影响。然而,BitTorrent的一个致命缺点是,节点更多地索取而不是贡献。

为了激励节点分享数据,IPFS在BitTorrent的基础上进行了创新,并引入了包括信用、策略、帐单等在内的体系。基于这一体系的新数据交换协议被称为BitSwap。

在BitSwap协议下,向其他节点发送数据可以增加节点的信用值,而从其他节点接收数据会降低节点的信用值。

此外,BitSwap获取数据块不仅限于从同一组对等节点中获取,该协议存在一个由对等节点形成的大集群,其中包括所有数据块,这使得BitSwap比BitTorrent更高效。

结语

2014年5月,JuanBenet成立了ProtocolLabs协议实验室,并于2015年1月发布了IPFS。IPFS本质上是一个内容寻址的分布式存储和传输协议。

IPFS被寄予厚望,被

本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/25092.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年07月21日
下一篇 2023年07月21日

相关推荐

  • 比原链节点竞选多少币,区块链竞选是什么意思啊

    一、“炒币”内幕有哪些“佛系炒币躺着赚20万!”“2天赚13万只是睡一觉的事情!”“币圈让我的100万本金快赔光了!……美少女博士教你正确的抄底姿势!”“韭菜心经,战胜庄家的必备心法!”……一搜炒币日记四个字,各类绝招、秘籍泛滥成灾。猛一听,人们还以为说的是A股。事实上

    2024-11-21 19:00:01
    5 0
  • 什么是区块链种子节点,区块链节点是什么通俗解释

    一、区块链节点具体是什么(区块链的节点是什么意思)什么是完整区块链节点?包含完整区块链、网络路由节点,只用来同步区块,参与验证,维持与对等节点的连接。区块链技术上的节点是什么?一个区块不等于一个节点:一个节点实际上就是一台接入区块链的计算机(服务器),任何联

    2024-11-19 13:30:01
    9 0
  • 以太坊节点多久更新,以太坊节点

    以太坊节点***全节点***轻节点***归档节点以太坊节点的多样性和角色在区块链网络中起着关键作用。主要有全节点、轻节点和归档节点三种类型。全节点是网络中的基石,拥有完整的区块链数据,确保交易验证和区块链同步,确保去中心化系统的安全。轻节点则是轻量级的选择,存储最

    2024-11-18 16:00:01
    7 0
  • 比特币全节点是什么,比特币节点是什么

    一、什么叫比特币,通俗一点比特币是一种网络虚拟货币,跟腾讯公司的Q币类似,你可以使用比特币购买一些虚拟的物品,比如网络游戏当中的衣服、帽子、装备等,只要有人接受,你也可以使用比特币购买现实生活当中的物品。P2P的去中心化特性与算法本身可以确保无法通过大量制造比

    2024-11-15 05:00:02
    14 0
  • 星火节点是什么,星火链网是干什么

    一、星火链网是干什么“星火链网”是以产业数字化转型工业互联网作为主要的应用场景来推动,同时以网络标识或者是数字身份这种数字化的资源为突破口,利用区块链的技术能力两者结合形成了一个基础设施,具备了区块链分布式的,可以实现数据交易交换的能力。同时又可以为工业互

    2024-11-14 21:30:01
    13 0
  • 什么是出块节点,节点是指什么

    一、模块***节点是指什么你好,模块(module)系指由复数个具基础功能之组件,组件组成之具特定功能之组件,该组件用以组成具完整功能之系统、设备或程序。节点就是指能上网的设备。节点控制模块(node control module)主要完成总线通信以及对控制模块发出指令的功能。模块的

    2024-11-13 15:30:01
    13 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

ok交易所
已有100万用户加入ok交易所

立即下载