IPFS探究

这篇具有很好参考价值的文章主要介绍了IPFS探究。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

IPFS探究

介绍

IPFS(星际文件系统)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs在开源社区的帮助下发展。其最初由Juan Benet设计。

优缺点

IPFS使用上可以简单理解为迅雷Plus,原理上一般是对标HTTP协议。

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。

  • 优点
  1. 安全性:基于分布式系统的特点,IPFS不容易宕机、遭受到DDOS攻击,文件安全有保证

  2. 开支低:由于带宽成本被分散到了各个节点,而各个节点的上行带宽成本普遍偏低(特别是家庭网络),能够去除中心化的高带宽开支。

  • 缺点
  1. 节点奖励少:IPFS项目方在2020年推出了有经济激励的Filecoin,但实际

没有解决激励节点提供带宽,一般只能通过信任机制排除恶意节点,但无法很好地奖励善意节点。

  1. 下载不稳定

由于使用了文件分块技术,部分文件块会在较差的节点上下载,造成下载不稳定,大规模使用超级节点又会引起中心化的问题。

核心技术

IPFS探究

Kademila

  • 基本信息

kademila是一种DHT(分布式哈希表)算法,通过XOR计算节点距离,从而获得下一条的路径

IPFS探究

以节点0举例,guid为0,计算格式为初始节点guid XOR 2^n = 相连节点guid

0 XOR 1 = 1 , 0 XOR 2 = 2,0 XOR 4= 4,0 XOR 8 = 8

因此,0节点与1,2,4,8相连

  • 奖惩机制

另外IPFS对节点的通信还引入了负债率的机制:

IPFS探究

r是负债率,P是发送信息的概率,存在A、B两个节点,当节点B的负债率很高(接收大于发送),A给B发送的概率就越小,当负债率大于2时,发送概率将会快速下降。

Merkel DAG

  • 基本信息

merkle DAG是一个有向无环图,也可以粗暴的理解成一棵树,且没有merkle tree那样严格的限制(如必须是平衡树)。这棵树中,有两个最精髓的地方:

1 父节点的哈希值由子节点的哈希值决定,即父节点的哈希值是由子节点的哈希值拼接得来的字符串哈希而成。

2 父节点中包含指向子节点的信息。

IPFS探究

merkle dag保留了merkle tree最精髓的部分,即任何一个下层节点改动,都将导致上层节点的哈希值变动,最终的根节点的哈希值也变动。如上图,每个叶子节点都是一个数据块,每个数据块的变动将导致该节点的哈希值的变动,然后将导致根节点的哈希值的变动。

  • 具体应用

IPFS在这方面的应用基本类似于git对Merkel DAG的应用

将具体的文件分块处理,然后对外暴露一个list存储这个分块集合,当文件变化会修改分块,然后替换list所指向的块。

SFS自验证文件系统

  • 基本介绍

SFS(Self-Certifying File System)是为了设计一套整个互联网共用的文件系统而提出的,它的宗旨是全球的SFS系统都在同一个命名空间下。在SFS中,分享文件会变得十分简单,只需要提供文件名就行了。

IPFS使用SFS自验证文件系统用于解决文件便捷分享及可信认证问题。

一般用于解决可信认证的方法是,所有服务器都生成一对公钥和私钥,当客户端向服务端发送文件时,客户端先用服务端的公钥进行加密,服务端接受到文件时用私钥解密。但这存在一个问题,怎么让所有的客户端都能获得服务器的公钥呢?

SFS使用一种新的解决思路,将公钥信息嵌入到文件名中,这种命名为“自验证文件名”。这样就没必要在文件系统内部实现密钥管理了。

IPFS使用该概念创建星际名称空间(IPNS),这是一种使用公钥加密来自我认证网络用户发布的对象的SFS。

  • 地址查询

IPFS探究

Location:服务器地址

HostID:由hash计算的出

参考

(1条消息) (一)IPFS基础原理_火一样的男子的博客-CSDN博客_ipfs原理

Merkle DAG简介 - 知乎 (zhihu.com)

https://www.youtube.com/watch?v=cIJVg19RSsQ文章来源地址https://www.toymoban.com/news/detail-428652.html

到了这里,关于IPFS探究的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 组件分享之后端组件——基于Golang实现的全局的、版本化的、点对点的文件系统go-ipfs...

    近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。 组件: go-ipfs 开源协议:The go-ipfs project is dual-licensed under Apache 2.0 and MIT terms: Ap

    2024年02月01日
    浏览(42)
  • 一图看懂 setuptools 模块:一个功能齐全、积极维护且稳定的库,旨在方便打包Python项目,资料整理+笔记(大全)

    本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 全文介绍python的 setuptools 模块(一个功能齐全、积极维护且稳定的库,旨在方便打包Python项目)、函数、类及类的方法和属性。 它通过代码抓取并经AI智能翻译和人工校对。 是一部不可多得的权威字典类

    2024年02月06日
    浏览(48)
  • 一个支持IPFS的电子邮件——SKIFF

    目录 前言 注册使用 小结  最近发现了一个新的电子邮件SKIFF,可以支持IPFS。 官网地址:Skiff - Mail 什么是IPFS? 星际文件系统IPFS(InterPlanetary File System),它其实是一个面向全球、点对点的分布式版本文件系统。官网的一句话“ 一个点对点的超媒体传输协议 ”。 IPFS主要尝

    2024年01月21日
    浏览(37)
  • 【区块链 | IPFS】IPFS节点搭建、文件上传、节点存储空间设置、节点上传文件chunk设置

    通过 ipfs init 在本地计算机建立一个 IPFS 节点 本文有些命令已经执行过了,就没有重新初始化。部分图片拷贝自先前文档,具体信息应以实物为准 执行ipfs init初始化节点之后,会生成一个.ipfs的文件夹,用于存储相关的信息,比如节点ID、环境配置信息、数据存储等 如果使用

    2024年02月07日
    浏览(41)
  • Linux xfs文件系统stat命令Birth字段为空的原因探究

    在Linux平台找出某个目录下创建时间最早的文件,测试验证脚本结果是否准确的过程中发现一个很有意思的现象,stat命令在一些平台下Birth字段有值,而在一些平台则为空值,如下所示: RHEL 8.7下, XFS文件系统 RHEL 7.9 XFS文件系统 stat命令的Birth字段表示文件的创建时间,该属

    2024年02月03日
    浏览(38)
  • 如何在IPFS里面上传下载文件

    下载地址:https://dist.ipfs.io/#go-ipfs 打开这个地址后网页会根据你的当前操作系统自动为你选择可供下载的版本,这个页面上有很多ipfs相关的软件下载,看清楚下载 go-ipfs, 这是IPFS的go语言版本实现,IPFS目前还有 js版本和 python版本 windows:自己选择一个文件,把软件解压缩进去

    2024年02月05日
    浏览(36)
  • 深入探究HDFS:高可靠、高可扩展、高吞吐量的分布式文件系统【上进小菜猪大数据系列】

    上进小菜猪,沈工大软件工程专业,爱好敲代码,持续输出干货。 在当今数据时代,数据的存储和处理已经成为了各行各业的一个关键问题。尤其是在大数据领域,海量数据的存储和处理已经成为了一个不可避免的问题。为了应对这个问题,分布式文件系统应运而生。Hadoo

    2024年02月08日
    浏览(48)
  • 使用 4EVERLAND 将您的 Damus 配置文件存储到 IPFS/Arweave

    挑战Twitter的去中心化社交应用Damus已登陆App Store。它是第一个使用名为Nostr的开放式去中心化社交网络协议的移动应用程序,该协议由 Twitter 联合创始人 Jack Dorsey 资助,该协议基于加密密钥对。 Damus 的出现是去中心化社交网络的另一个实验。该应用程序的承诺是一个开放的社

    2024年01月22日
    浏览(51)
  • 基于区块链与IPFS的数据共享系统搭建步骤

    购买专栏前请认真阅读:《基于区块链与IPFS的数据共享系统》专栏简介 视频演示: https://www.bilibili.com/video/BV1y24y1v7RX 系统简介: 本系统使用RSA算法生成密钥对, RSA私钥用于用户身份认证;用户发送的数据将存储于IPFS, IPFS返回的CID(IPFS Hash)使用用户的RSA公钥加密后存储于

    2024年02月03日
    浏览(47)
  • 《基于区块链与IPFS的数据共享系统》专栏简介

    本专栏包含了“基于区块链与IPFS的数据共享系统”的全部源码与从0开始的搭建视频(订阅专栏后请站内私信)、搭建教程与系统设计分析。对专栏内文章有疑问可以评论,一般一天内回复,然后会整理到:数据共享系统专栏问题汇总 演示视频:Bilibili 需要注意: 不含任何形

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包