当前位置: 首页 > news >正文

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

一句话概括

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

技术改进

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

IPFS哈希只能用来表示不可变数据,因为一旦数据改变,哈希值也会改变。从某种意义上来说,这是保持数据持续性的好的设计。但是我们也需要一种方法来标记最新更新网站的哈希,这个方法我们称作IPNS。
IPFS哈希是网站通过哈希公钥生成的,相对的IPNS使用私钥来标记IPFS哈希的引用。如果以前用过比特币你应该很熟悉这种模式,比特币地址就是一种公钥哈希。

应用进展

IPFS在实现上加装了HTTP网关,使得现有的浏览器也可以访问IPFS。所以无需等待,现在就可以开始使用IPFS作为存储、分布和搭建网站的设施。
媒体链,一种最新的元数据协议,数码创建者可以将信息附在他们的创新工作中,在比特币区块链上的数据盖上时间戳,然后存储在InterPlanetary文件系统中(IPFS),IPFS是一个具有区块链技术特征的分布式数据系统。
另外IPFS在认识到比特币网络和以太坊网络开发社区之间的重大差距后,IPFS决定迁移至以太坊网络。IPFS开发团队认为以太坊网络统一和多功能的开发社区对网络来说是一项了不起的资产,最终也会在更广的范围内影响IPFS协议。目前已经有很多的创业公司基于IPFS进行业务创新。

商业模式

目前IPFS的使用是免费

相关文章:

  • 使命、愿景、价值观
  • 前端Token存储问题
  • 为什么房产等实体资产不适合做同质化所有权拆分?
  • 市场营销+AI+区块链
  • 为什么NFT可安全实现无第三方担保交易
  • 腾讯千帆区块链云市场发布会
  • 陆奇万字演讲:世界新格局下的创业创新机会
  • 区块链积分体系
  • 区块链token设计原理与区块链token经济生态的商业意义
  • 如何判断是否有必要使用区块链
  • 基于区块链服务的供应链物流应用
  • 区块链服务在医疗健康上的应用
  • 区块链的前世今生
  • 关于新科学与领导力
  • 工具及其对商业社会的影响思考
  • @jsonView过滤属性
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • docker容器内的网络抓包
  • log4j2输出到kafka
  • 测试开发系类之接口自动化测试
  • 三分钟教你同步 Visual Studio Code 设置
  • 手机端车牌号码键盘的vue组件
  • 数据仓库的几种建模方法
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 一个项目push到多个远程Git仓库
  • 通过调用文摘列表API获取文摘
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #define、const、typedef的差别
  • (04)odoo视图操作
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (MATLAB)第五章-矩阵运算
  • (二)windows配置JDK环境
  • (接口封装)
  • (九)c52学习之旅-定时器
  • (九)信息融合方式简介
  • (五)MySQL的备份及恢复
  • (转)EXC_BREAKPOINT僵尸错误
  • .CSS-hover 的解释
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
  • .net 提取注释生成API文档 帮助文档
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @ConditionalOnProperty注解使用说明
  • [ C++ ] STL---仿函数与priority_queue
  • [\u4e00-\u9fa5] //匹配中文字符
  • [BUUCTF]-Reverse:reverse3解析
  • [C++]18:set和map的使用
  • [CareerCup] 2.1 Remove Duplicates from Unsorted List 移除无序链表中的重复项
  • [Docker]十二.Docker consul集群搭建、微服务部署,Consul集群+Swarm集群部署微服务实战
  • [GYCTF2020]Ez_Express