星际文件存储IPFS是如何颠覆云存储的?

2023-11-13

一句话概括:

IPFSThe InterPlanetary File System星际文件存储系统是一种点到点的分布式文件系统,它连接的计算设备都拥有相同的文件管理模式。从某种意义上来说这个概念跟Web的最初理念很类似,但是实际上IPFS更像是互相转发Git目标的单个Bittorrent用户群。IPFS具备成为internet子系统的素质,通过合理配置可以完备甚至替代HTTP

 

技术特征:

HTTP存在超中心化的问题,下面分析一下IPFS如何解决这些问题。IPFS从根本上改变了查找的方式,这是它最重要的特征。使用HTTP查找的是位置,而使用IPFS我们查找的是内容。

举个例子:服务器上运行着一个文件http://www.chainstack.io/code/helloworld.js,遵照HTTP协议浏览器首先会查找服务器的位置(IP地址),随后向服务器索要文件的路径。这种体系下文件的位置取决于服务器管理者,而用户只能寄希望于文件没有被移动,并且服务器没有关闭

 

IPFS的做法则是不再关心中心服务器的位置,也不考虑文件的名字和路径,只关注文件中可能出现的内容。我把刚才的文件helloworld.js放到IPFS节点,它会得到一个新名字QmXGTaGWTT1uUtfSb2sBAvArMEVLK4rQEcQg5bv7wwdzwU(看到这个是不是有点熟悉:)对头就是象比特币或以太坊的地址),是一个由文件内容计算出的加密哈希值。哈希值直接反映文件的内容,哪怕只修改1比特,哈希值也会完全不同。IPFS被请求一个文件哈希时,它会使用一个分布式哈希表找到文件所在的节点,取回文件并验证文件数据。。

 

IPFS是通用目的的基础架构,基本没有存储上的限制。大文件会被切分成小的分块,下载的时候可以从多个服务器同时获取。IPFS的网络是不固定的、细粒度的、分布式的网络,可以很好的适应内容分发网络(CDN)的要求。这样的设计可以很好的共享各类数据,包括图像、视频流、分布式数据库、整个操作系统、模块链、8英寸软盘的备份,还有最重要的——静态网站。

 

IPFS文件还可以抽象成特殊的IPFS目录,从而标注一个可读的文件名(透明的映射到IPFS哈希),在访问的时候会像HTTP一样获取一个目录索引。在IPFS上建立网站的流程和过去一样,而且把网站加入到IPFS节点的指令只需要一条指令:ipfs add -r yoursitedirectory。网页间的连接不再需要人去维护,IPFS自带的查找可以解决。

 

IPFS不会要求每一个节点都存储所有的内容,节点的所有者可以自由选择想要维持的数据。这就像是书签一样,在备份了自己的网站之外,自愿的为其他的关注的内容提供服务,不同的是这个书签不会像以前一样最终变得失效。

IPFS节点间的拷贝、存储和网站支援都很容易,只需要使用一条指令以及网站的哈希,例如:ipfs pin add -r QmcKi2ae3uGb1kBg1yBpsuwoVqfmcByNdMiZ2pukxyLWD8,剩下的IPFS会搞定。

如果IPFS得以普及,节点数达到一定规模,即使每个节点只存放一点点内容,所累计的空间、带宽和可靠性也远超HTTP能提供的。随之而来,分布式Web会变成地球上最快、最可靠、最大的数据仓库,人类知识也就再也不会湮灭,亚历山大图书馆永远不会倒塌。

 

由于IPFS/IPNS的哈希值都是很长和难记的字符串,所以IPFS兼容了现存的域名系统(DNS),可以通过可读的链接访问IPFS/IPNS内容。使用方法是在nameserver上创建一个文本记录,插入网站的哈希值。

 

接下来IPFS还打算支持NamecoinNamecoin从理论上完全实现了分布式Web的去中心化,整体的运行中不再需要中心化的授权。支持了NamecoinIPFS不再需要ICANN、中心服务器,不受政治干涉,也无需授权证书。这听起来难以置信,但却是今天可以实现的技术。

 

技术改进:

早期的分布式哈希表曾遭受过女巫攻击,但是已经有一些新的方案来实现,这就是基于区块链的改进技术

IPFS哈希只能用来表示不可变数据,因为一旦数据改变,哈希值也会改变。从某种意义上来说,这是保持数据持续性的好的设计。但是我们也需要一种方法来标记最新更新网站的哈希,这个方法我们称作IPNS

IPFS哈希是网站通过哈希公钥生成的,相对的IPNS使用私钥来标记IPFS哈希的引用。如果以前用过比特币你应该很熟悉这种模式,比特币地址就是一种公钥哈希。

 

应用进展:

IPFS在实现上加装了HTTP网关,使得现有的浏览器也可以访问IPFS。所以无需等待,现在就可以开始使用IPFS作为存储、分布和搭建网站的设施。

媒体链,一种最新的元数据协议,数码创建者可以将信息附在他们的创新工作中,在比特币区块链上的数据盖上时间戳,然后存储在InterPlanetary文件系统中(IPFS)IPFS是一个具有区块链技术特征的分布式数据系统。

另外IPFS在认识到比特币网络和以太坊网络开发社区之间的重大差距后,IPFS决定迁移至以太坊网络。IPFS开发团队认为以太坊网络统一和多功能的开发社区对网络来说是一项了不起的资产,最终也会在更广的范围内影响IPFS协议。目前已经有很多的创业公司基于IPFS进行业务创新。

 

商业模式:

目前IPFS的使用是免费。

如果你希望高效的学习以太坊DApp开发,可以访问汇智网提供的最热门在线互动教程:

其他更多内容也可以访问这个以太坊博客


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

星际文件存储IPFS是如何颠覆云存储的? 的相关文章

  • maven打包报错-There are test failures

    如果工程中有测试程序 需要检查测试程序的包名与主程序的包名是否一致 解决方法 将包名修改为一致的包名 如果修改后无效 则先执行一下clean命令 在执行package 修改在测试程序的注解中指定主测试类 如果出现 Failed to cle

随机推荐

  • Qt在linux下安装时报错:cannot execute binary file

    最近由于项目需要 得把原来的产品升级为Qt5 之前用的都是Qt4 所以学习了一下Qt5 在windows平台下安装qtcreator时很顺利 但是在ubuntu下安装时遇到了问题 具体表现是在Qt官网https download qt io
  • 【深入理解Linux内核】【分页】相关函数或宏

    PAGE SHIFT PMD SHIFT PUDSHIFT PGDIR SHIFT 指定offset字段位数 指定offset和table总位数 确定页上级目录能够映射的区域大小 确定页全局目录能够映射的区域大小 PTRS PER PTE
  • 第二讲:网线的制作方法及步骤

    这几年 网络搭建与应用 专业技能大赛所需网线需要参赛学生自己制作 所以今天讲讲网线的制作方法及步骤 所要原料 双绞线 RJ45水晶头 所需工具 双绞线压线钳 双绞线测试仪 在制作网线之前 我们先来了解双绞线的连接方法 双绞线的连接方法有两种
  • windows下redis 和 hiredis的编译与使用

    转 http www cnblogs com raker p 4368741 html 果然 高端的程序员真心是鸟都不鸟windows的 redis的客户端找了一圈愣是没有C 的windows版本 我要做个windows上的C 的服务器都没
  • ubuntu安装SSH2

    apt get install libssh2 1 dev libssh2 php service apache2 restart 安装完成之后 可以使用SCP远程复制文件 connection ssh2 connect 192 168 1
  • 读取本地文件到读出p.node涉及的函数

    这里是读取本地文件的所调用的函数 func ParseNode rawurl string Node error if m incompleteNodeURL FindStringSubmatch rawurl m nil id err H
  • 【学习笔记】多模态综述

    多模态综述 前言 1 CLIP ViLT 2 ALBEF 3 VLMO 4 BLIP 5 CoCa 6 BeiTv3 总结 参考链接 前言 本篇学习笔记虽然是多模态综述 本质上是对ViLT后多模态模型的总结 时间线为2021年至2022年
  • Linux文件描述符和重定向

    文件描述符 0 stdin 标准输入 1 stdout 标准输出 2 stderr 标准错误 成功和不成功的命令 student myhost ls ls cannot access No such file or directory st
  • STM32定时器

    目录 一 定时器的基本介绍 二 定时器的原理框图 1 定时器时钟 2 时基单元 3 捕获输入 4 PWM输出 三 定时器的应用 1 定时器的基础定时计数功能 2 PWM比较输出 3 外部脉冲计数 a 外部触发输入 ETR 外部时钟模式2 b
  • 617. 合并二叉树(c++)

    暴力解 当t1为空返回t2 当t2为空返回t1 当t1 t2都有值 new新节点为两个节点的和 新节点左子树为原始节点左子树合并 新节点右子树为原始节点右子树合并 Definition for a binary tree node stru
  • stm32 /*TIM定时器使用

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 一部分 定时器定时计数功能 一 定时器RCC内部时钟初始化配置 二 定时时间的计算 试验现象 晶振原理 1s时间计算 1min时间计算 制作时钟读数表 试验现象 试
  • leetcode刷题(四)——概率论与数理统计(一)

    leetcode刷题系列四 主要的内容涉及概率论和数理统计的知识 例题 算法分析 int dp 12 70 double dicesProbability int n int returnSize int i j k double f do
  • ubuntu安装及深度学习框架(CUDA、cuDNN、Anaconda、pytorch、pycharm)

    文章目录 前言 一 安装ubuntu20 04 4 1 准备工作 2 开始安装 二 安装英伟达驱动 方案一 不推荐 1 下载NVIDIA驱动 2 安装GCC 3 卸载原有NVIDIA驱动 一般都没有 4 禁用通用驱动 三 安装英伟达驱动 方
  • 上位机与欧姆龙PLC的Fins tcp通讯

    参考1 147条消息 欧姆龙PLC的FinsTCP协议 weixin 37700863的博客 CSDN博客 欧姆龙fins协议tcp 参考2 147条消息 FinsTCP协议报文详细分析 常哥说编程的博客 CSDN博客 fins协议 参考3
  • 在R语言中利用mice包进行缺失值的线性回归填补

    在数据分析中 我们会经常遇到缺失值问题 一般的缺失值的处理方法有删除法和填补法 通过删除法 我们可以删除缺失数据的样本或者变量 而缺失值填补法又可分为单变量填补法和多变量填补法 其中单变量填补法又可分为随机填补法 中位数 中值填补法 回归填
  • 常见http状态码详解

    状态码 类别 原因短语 1XX Informational 信息性状态码 接受的请求正在处理 2XX Success 成功状态码 请求正常处理完毕 3XX Redirection 重定向状态码 需要进行附加操作以完成请求 4XX Clien
  • 架构总结图

  • 斑马网络和荣威RX5深度研究

    锋影 email 174176320 qq com 佐智汽车就李想的观点访谈了两位业内专家 他们的回答如下 专家A 这个是需求推动 有需求就有人做 特斯拉用Linux一样有地图 Android过于复杂 可靠性问题比Linux大几个数量级 做
  • 调用服务工具类-HttpsUtil

    import java io BufferedReader import java io IOException import java io InputStream import java io InputStreamReader imp
  • 星际文件存储IPFS是如何颠覆云存储的?

    一句话概括 IPFS The InterPlanetary File System 星际文件存储系统是一种点到点的分布式文件系统 它连接的计算设备都拥有相同的文件管理模式 从某种意义上来说这个概念跟Web的最初理念很类似 但是实际上IPFS