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日

相关推荐

  • 比特币超级节点有多少个,区块链节点有多少

    一、花两万块买了点比特币,虚拟货币的水到底有多深如果你还没懂区块链是什么,我用一句话简单的概括:区块链就是一个分布式数据库,要往这个数据库存储数据需要每个节点的确认,同时数据一旦存入这个数据库数据将无法修改。区块链其中涉及到的算法是非常复杂的,有兴趣的读者

    2024-12-23 04:30:01
    5 0
  • 如何运行比特币全节点,比特币是什么比特币最完整的介绍

    一、比特币是什么比特币最完整的介绍比特币最完整的介绍什么是比特币?比特币是骗人的吗?比特币你都不知道,你太out了,让我来好好给你上堂课,把比特币实际上是一种虚拟货币,但它是一个去中心化的货币系统,也就是说它不像其他货币或虚拟货币,有一个中央发行机构,比如美

    2024-12-17 15:00:01
    13 0
  • 怎么加入theta节点,UG怎么将sim里的组复制到fem里

    一、UG怎么将sim里的组复制到fem里高级仿真的功能。由高级仿真使用的文件。高级仿真入门使用高级仿真的基本工作流程。创建 FEM和仿真文件。用在仿真导航器中的文件。在高级仿真中有限元分析工作的流程。 1.1综述 UG NX4高级仿真是一个综合性的有限元建模和结果可视化的产品,

    2024-12-16 12:30:02
    16 0
  • 如何加钱包节点,区块链钱包如何创建

    一、区块链钱包如何创建Metamask手机端:手把手教你注册以太坊钱包第一步:前面几个安全提示,向下滚动到最底部表示全部阅读,一步一步点击“接受”就行了2.下面是创建一个8位数的密码,每次打开MetaMask可能都需要,如果忘记了密码,可以用助记词找回钱包3.接下来是显示的助

    2024-12-13 21:30:02
    20 0
  • 比特币全世界有多少节点,比特币有多少区块链

    一、比特币一共有多少个2100万个比特币(BitCoin)的概念最初由中本聪在2009年提出,根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的数字货币。点对点的传输意味着一个去中心化的支付系统。比特币不是无限量发行的,与大多数的货币不相同。

    2024-12-10 13:30:01
    23 0
  • 手机怎么添加网络节点,苹果手机的网络节点在哪里设置

    一、苹果手机怎么切换网络到国外节点操作手机:苹果4操作系统:iOS16.3手机网络节点换国外的步骤如下:1、首先,我们打开手机,接着,我们点击打开设置。2、接下来,我们点击打开其他无线连接。3、接下来,我们点击打开私人DNS。4、接下来,我们点击打开指定私人DNS。5、最后

    2024-12-08 08:00:01
    20 0

发表回复

8206
验证码

评论列表(0条)

    暂无评论

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

立即下载