我的编程空间,编程开发者的网络收藏夹
学习永远不晚

IPFS能否成为新一代互联网协议?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

IPFS能否成为新一代互联网协议?

[[439707]]

引言

互联网是由协议和物理设备连接起来的大量计算机器的集合。大多数互联网内的生态系统都基于客户端-服务器(请求-响应)模型,但这种模型并非不可破坏,网络时不时会出现故障。无论是否有控制中心,点对点(P2P)系统都可以高效分发海量数据。2014年,Juan Benet提出了整合现有的先进技术(分布式哈希表(DHT)、BitTorrent-like协议、基于Git的数据模型等)创建一个新的协议/文件系统,使每个人都具有共享数据的平等权利,符合互联网的早期思想。IPFS具有高效的数据存储与分发、数据保持、面向离线模式和非集中式管理的特性。

IPFS理论介绍

IPFS是一个纯粹的点对点分布式文件系统,这种系统侧重于从主要体系结构中删除中心点,并在网络中为相互连接的节点提供相同的功能。所有共享的数据和计算资源都存储在网络的边缘,节点能够自动运行,并与它们的对等节点共享所需数据。它们能够自主通信、分发数据、本地化其他节点和所需的文件,并使用同一组协议。

IPFS源于Juan Benet的分布式、去中心化、共享互联网的理念,自2014年出现以来,目前仍处于开发阶段。现在已有一些可用的实现(如Go和JavaScript),以及一套使用各种编程语言实现的工具、库和API(应用程序编程接口)。IPFS的一些主要特点有:数据持久性、点对点基本原理、完全去中心化、无中心点故障、在无互联网上行链路情况下具有本地连接。

  • HTTP在日常基础使用中效率低下且昂贵;IPFS使以一种有效的方式使分发大量数据成为可能;
  • 储存在互联网上的旧内容通常会和旧版本的文件一起被删除;IPFS有一种类似于Git的数据版本控制方法;
  • 互联网用户依赖于管理其功能的集中设备,当没有连接到互联网骨干网时,他们无法与这些设备通信,也无法访问他们的个人数据;IPFS是各种弹性网络的引擎,无论是否有全球上行链路,这些网络都试图将尽可能提高其分散性。

Juan Benet发布的官方白皮书代表了他对协议架构和模块的观点。总的来说,IPFS的灵感来源于一些被塑造成单一、模块化协议的技术,IPFS利用了这些想法和经验。我们将简要介绍这些技术,以更好的理解IPFS。

从IPFS堆栈的最底层开始,网络层可以进行数据储存、信息交换及交换控制信息。传输本身可使用各种协议(如TCP、UTP、WebSocket、WebRTC等)以一种安全可靠的方式实现,而IPFS本身不绑定到某个特定的协议上。

向上进入到路由层,分布式哈希表(DHT)用于存储和管理系统内部的元数据。这些信息包含在给定的时间点上相互连接的节点的信息,并提供快速有效地查找数据的机制。Kademlia在路由层十分重要,它提供了在大型网络中查找元数据的有效方法、低协调成本,Coral DSHT通过查询最近的能够存储数据的节点来实现扩展,并提高数据被存储在更远位置的节点上的可能性。S/Kademlia通过强制节点创建用于生成身份和签名消息的PKI(公钥基础设施)密钥对,进一步增强了针对恶意攻击的安全性。对于本地定位的节点,使用组播DNS(域名系统)实现相互搜索。

交换层用于确保节点之间的块传输。

进一步到达堆栈上层,默克尔有向无环图(Merkle DAG)是协议的主要数据模型,很大程度上是受到Git数据结构的启发。数据树的节点是通过其内容加密寻址的对象,而它们之间的链接由对其他对象的哈希引用表示。每个数据都是由其不可变哈希引用唯一标识的(因此只存储一次,重复数据删除),系统能够使用校验和检测损坏的数据。

堆栈的最后一层是命名层。每个节点的唯一标识符是使用PKI密钥对以加密的方式在本地生成的。星际命名系统(IPNS)是一种用于识别可修改对象的策略。数据块具有不可变的哈希引用,因此一旦它们的内容改变,哈希引用就会改变。IPNS概念使用自认证文件系统方案,因此节点能够在自己唯一的节点标识符上发布数据。如果数据本身改变,哈希引用也会改变,但节点可能会将新的引用重新发布到相同的唯一节点标识符。IPNS还支持DNS来提供人类可读的地址。

处于最上层的是应用层,在这里,开发人员能够使用堆栈的底层功能设计和实现新的分布式、去中心化技术。

IPFS vs. 其他DFS

这一部分将讨论各种DFS(分布式文件系统)和HTTP(超文本传输协议)的各方面特性。

NFS(Network File System,网络文件系统)是SUN公司在1984年开发的基于RPC(远程过程调用)协议的开放协议,其基于UDP/IP协议的应用,主要特性是具有一个控制中心,NFS 允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。

将早期的NFS与IPFS进行比较,我们可以看出,NFS使用服务器和幂等的、无状态的行为在系统中进行数据同步,而IPFS架构可以不依赖于服务器,因为其哈希引用生成的数据可以在其协议用户间共享。IPFS在节点自动状态下以同步/异步方式处理写操作,其用户只要获得数据标识符,就可以通过元数据交换和搜索在网络中共享数据。

AFS(Andrew File System,安德鲁文件系统)是由Carnegie Mellon大学在20世纪80年代和IBM公司联合设计的一个分布式文件系统,它的主要功能是用于管理分布在网络不同节点上的文件,其使用一组受信任的服务器为客户端提供同类的、地址透明的文件名称空间,主要目标是实现可扩展性,尤其关注客户端和服务器之间协议的设计。文件在本地磁盘上整体进行储存和缓存,客户端想要访问一个文件时,将从服务器获取文件,在本地缓存,然后服务器设置回调(用于之后通知客户端文件被修改)。IPFS机制同样可以用于实现类似的回调和缓存系统,同时保持不集中(单点故障)的优势。

GFS(Google File System,谷歌文件系统)是谷歌为了存储海量搜索数据而设计的专用分布式文件系统,专注于可扩展性、基础性能和低价硬件。谷歌希望提供一种附加而不是重写的数据分发方法,从而构建一个可自我持续的文件系统:具有监督恢复、使用主块架构存储跨多个服务器备份的大量数据的可能性。GFS的设计与IPFS有一些相似之处,它使用多个块服务器、数据块和替换机器来应对崩溃情况。与IPFS相比,GFS的信息仍然在中心区域管理,由主服务器协调,而IPFS的数据基本上是存储在网络中。

HTTP(超文本传输协议)是全球范围内用于Web上下文中数据交换的最流行的协议之一。它遵循经典的客户端-服务器模型架构,服务器通常位于互联网之外,而客户端则是浏览器。整个机制依赖于客户端和服务器之间的请求(数据)-响应(数据/状态)交互。其特点是简单、可扩展、无状态,具有控制中心。HTTP目前仍运行良好,但问题逐渐出现:如果资源被删除、损坏或被其提供者关闭,该怎么处理?

上述文件系统/协议中使用的所有技术都带来了保证数据分布的创新机制:AFS的回调、NFS的幂等性和崩溃时的简单重试、GFS的可扩展性和低价硬件设计、HTTP的简单性和长寿命,但它们都依赖于同一个控制中心。

总结

如今的实际应用中,大多数技术都是基于经典的客户端-服务器模型。此模型自互联网诞生以来,目前仍能基本满足客户的需求。开发人员和工程师需要着重关注的是优化应用程序以最小化计算时间和响应速度,并全面改善我们目前的互联网系统。IPFS试图通过改变数据分布、存储和管理的整个视角,同时保持对可能使用的其他协议的开放接口,来解决互联网的问题。尽管目前IPFS还有很大的改进空间,但其能否成为新一代互联网协议也犹未可知。

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

IPFS能否成为新一代互联网协议?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

IPFS能否成为新一代互联网协议?

本文将分析IPFS的特性,并在与其他分布式文件系统和超文本传输协议(HTTP)比较的基础上,进行并行研究。

元宇宙服务将成为下一个 Web3 互联网时代的基础

元宇宙的概念早在20世纪80年代就出现了,但直到最近几年我们才看到成百上千的项目出现在这个领域。

华为胡克文:IPv6+,引领下一代互联网技术创新之路

IPv6+,以IPv6为基础实现协议创新和技术创新,充分释放IPv6灵活开放能力,实现网络升级,促进下一代互联网服务能力提升,为千行百业的数字化发展提供坚实的基础。
IPv6IPv6+产业2024-12-02

​共拓互联时代新蓝海 2023江西省互联网大会江西华为云分论坛成功举办

云计算天然集成了ICT最新发展的技术,通过云、5G、AI、大数据,能给企业带来阶跃式发展以及降本增效的强力功效。
云计算2024-11-30

华为助力百度打造新一代数据中心互联网络,实现全光网智能升级

如此强大的运算能力离不开底层数据中心互联技术(下文简称DCI)的强力支撑。在云计算,大数据,AI等业务的全面发展下,百度数据中心互联的流量也得到了快速增长。
数据中心2024-12-01

物联网时代下,这六大领域能否培育新一代巨无霸企业?

随着物联网时代的到来,各种设备正在快速接入物联网,据相关数据显示,在未来数年将有上千亿设备连接网络,从而推动社会向智能化发展。而在各国政府的助推下,纷纷推出基于本国家的物联网相关政策及策略。

华为(吴江)工业互联网赋能中心为数字经济时代产业创新集群谋发

现如今,城市、产业乃至千行百业的数字化转型正在加速变革。

开普云在世界互联网大会发布“星算计划”,赋能空地一体算力新时代

在11月21日举行的2024年世界互联网大会乌镇峰会人工智能赋能新质生产力发展论坛上,中国工程院院士、之江实验室主任王坚发表主题演讲,展望了与国星宇航等机构共研计算卫星、共建计算星座、推动产业变革的愿景;同时,之江实验室宣布启动“三体计算星
开普云2024-11-28

六载深耕、聚数成盾 | 长扬科技新一代工业互联网安全态势感知平台系列套件战略升级

“疾风劲草、烈火真金”。近日,长扬科技新一代工业互联网安全态势感知平台系列套件进行战略升级。
长扬科技2024-11-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录