IPFS系列 您所在的位置:网站首页 哈希能力 IPFS系列

IPFS系列

2024-06-03 16:01| 来源: 网络整理| 查看: 265

分布式账本技术(DLT)的分支 有向无环图(DAG)哈希图(Hashgraph)分布式散列表(DHT)区块链(Blockchain) DHT

DHT的全称是Distributed Hash Table,即分布式哈希表技术,是一种分布式的存储方法。这种分布式网络不需要中心节点服务器,而是每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储。DHT网络还在于关键字最接近的节点上复制备份冗余信息,避免了单一节点失效问题。

简单地说,DHT就是一种分布式的存储和寻址技术。通过DHT数据结构它把KEY 和 VALUE用某种方式对应起来。使用hash()函数把一个KEY值映射到一个index上:hash(KEY) = index。这样就可以把一个KEY值同某个index对应起来。然后把与这个KEY值对应的VALUE存储到index所标记的存储空间中。这样,每次想要查找KEY所对应的VALUE值时,只需要做一次hash()运算就可以找到了。以上就是寻址过程。 在这里插入图片描述 分布式哈希表DHT是一种概念模型或者说思想,其主要思路是:将每条文件索引K文件名或其他属性的哈希值-V存储文件的结点IP地址,组成一张巨大的文件索引哈希表。然后,再将这张大表按照一定规则分割成许多小块,并分布到各个结点上,每个结点负责维护其中一块。DHT使用一致性哈希的思想来最小化拓扑结构变化带来的影响,并构造overlay网络实现高效地搜索。

Overlay Network(覆盖网络)。所谓覆盖网络是应用层网络,几乎不考虑网络层和物理层,它具体指的就是建立在另一个网络上的网络。例如P2P网络就是覆盖网络,因为它运行在互联网之前,但允许对未知IP主机的访问。通过DHT等算法,可以在事先不知道IP地址的情况下,访问到存储某个文件的结点。

DHT主要思想

全网维护一个巨大的文件索引哈希表,这个哈希表的条目形如。这里Key通常是文件的某个哈希算法下的哈希值(也可以是文件名或者文件内容描述),而Value则是存储文件的IP地址。查询时,仅需要提供Key,就能从表中查询到存储节点的地址并返回给查询节点。当然,这个哈希表会被分割成小块,按照一定的算法和规则分布到全网各个节点上。每个节点仅需要维护一小块哈希表。这样,节点查询文件时,只要把查询报文路由到相应的节点即可。

DHT技术的主要应用

目前应用DHT技术的主要应用包括:BitTorrent,Git,Storm Botnet,Freenet, Yacy,IPFS和Holochain。前五种应用都属于传统互联网技术应用,后面两种涉及到区块链行业。

IPFS

IPFS(InterPlanetary File System)星际文件系统是一种可选的 p2p 超媒体协议,以内容寻址超链接为基础的、提供高吞吐量、内容寻址的块存储模型。从本质上讲,它允许文件以永久和分布式的方式存储,同时提供历史版本的文件,从而删除重复文件。

IPFS项目通过整合已有的技术(BitTorrent、DHT、Git和SFS),创建一种点对点超媒体协议,试图打造一个更加快速、安全、开放的下一代互联网,实现互联网中永久可用、数据可以永久保存的全球文件存储系统。同时,该协议有内容寻址、版本化特性,尝试补充甚至最终取代伴随了我们20多年的超文本传输协议(即HTTP协议)。IPFS是一个协议,也是一个P2P网络,它类似于现在的BT网络,只是拥有更强大的功能,使得IPFS拥有可以取代HTTP的潜力。 在这里插入图片描述 对等节点身份信息的生成以及路由规则是通过Kademlia协议生成制定的,该协议实质上是构建了一个分布式哈希表,简称DHT。每个加入这个DSHT网络的节点都要生成自己的身份信息,然后才能通过这个身份信息去负责存储这个网络里的资源信息和其他成员的联系信息。

它参考了4种技术

分布式哈希表(DHT)块交换 - BitTorrent版本控制系统- Git自我认证文件系统-SFS

通过DHT寻址和存储技术,将标的存储信息通过DHT技术存储到分布式的存储介质提供者。目前已经有建立在IPFS上的视频发布网站。

Holochain

Holochain也采用了DHT作为全网分布式账本存储和寻址技术。将全网账本分布式的存储在各个参与的节点上,并通过DHT寻址技术保证账本的完整性和可检索性。

Holochain vs Blockchain

区块链简单说就是分布式记账技术,全网统一一个版本的账本,各个全节点node的账本全网一致,也就是每个参与者都复制一份账本,并通过gossip技术实时更新,那么区块链面临的scaling扩容问题的症结就在于此,全网同步一份相同的账本,有多少个节点就有多少个账本的副本,副本的存储空间和更新所耗费的带宽是对资源的浪费。

Holochain上的账本和Blockchain一样是全网统一一个版本的账本,但这个账本的存储不是每人一份副本,而是只有一份正本,每人存储一部分,每人存储的就是与自己交易和状态转换相关的部分。每人都存储了自己的交易,也就是自己的链,自己的分账本,但自己的分账本也是全网总账的一部分,通过DHT技术和密码学技术让这些分账不可分割不可篡改。每个节点存储的账本都是唯一的,并且是必要的,相对于Blockchain,极大的降低了副本占用的空间和带宽,同时还保留了区块链的优势(如:不可篡改)。

Blockchain的应用场景: 适用于要维持绝对的全球共识的系统Holochain 的应用场景: 适用于弱共识, 更快, 更高效, 更具扩展性 往期精彩回顾: 区块链知识系列 密码学系列 共识系列 公链调研系列 以太坊系列 EOS系列 智能合约系列 Token系列


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有