站在Web3.0 理解IPFS是什么

当前位置:首页 > 币圈百科 > 站在Web3.0 理解IPFS是什么

站在Web3.0 理解IPFS是什么

2022-11-27币圈百科211

蓑衣网小编2022尽管互联网上有很多关于IPFS的文章,但很少有人真正理解IPFS想做什么。本文试图站在未来Web3.0的高度,来看看IPFS将用来解决什么问题。

DAPP的缺点

对区块链有所了解的同学都知道,区块链维护着一个中立(去中心化)、相互信任、难以篡改的数据库,智能契约创建了一个完全透明(不受干扰)的运行规则,因此可以解决信任问题。

一切看起来都很美。我们可以开发分散应用程序DApp?为了解决信任问题,许多赌博DApp游戏确实应运而生。

不熟悉DApp的同学可以看看我另一篇关于程序员如何切入区块链去中心化应用开发的文章。

细心的同学可能会发现一个问题。虽然DApp的后台逻辑(智能合约)是运行在一个没有中心的节点上的透明规则,但是我们看到的是内容来自一个不可信的集中式服务器。

这是由现在的互联网规则决定的——超文本媒体传输协议(HTTP)。简单来说,在这个协议下,我们在浏览器中输入一个URL时,总是先找到这个URL(域名)对应的服务器IP地址,然后请求服务器,在浏览器中显示服务器的响应。

文件是否可以这样访问完全取决于服务器。服务器可能被关闭,内容获取可能被篡改或删除,对用户没有任何保障。我有看到好内容就收藏网页的习惯。过了一段时间,当我再次访问它们时,这些页面已经不存在了。

IPFS想做什么

IPFS——星际文件系统星际文件系统。大多数人谈论IPFS只是谈论它的分散存储。事实上,IPFS想做的不仅仅是存储,它的目标是取代HTTP,成为Web3.0时代的基本协议。从其官网对IPFS的定义可以看出其野心。

虽然Web3.0目前没有明确的定义,但是自从2014年以太坊联合创始人Gavin Wood提出分布式网络的Web3.0概念以来,业界普遍认为Web3.0应该是分布式的、可信的。

官网有两种描述:

IPFS是分布式web点对点超媒体协议,使web更快、更安全、更开放。ipfs旨在取代http,为我们所有人建立一个更好的网络。

翻译过来就是:1。IPFS是一个分布式web,一个点对点的超媒体协议,旨在建立一个更快、更安全、更开放的网络。2.IPFS的目标是取代HTTP,为我们建立一个更好的网络。

当然,要完全取代HTTP还有很长的路要走。最大的坎是什么?主流浏览器支持IPFS协议。马鞭现在,IPFS网络上存在的文件都是通过HTTP网关访问的。如果IPFS将来能取代Http?是直接通过网络浏览器输入的吗?Ipfs://file哈希访问内容,马鞭目前,这种访问IPF的方式必须依靠浏览器插件ipfs伴侣,这种插件并没有广泛使用。

注意,这里说的浏览器只是用了这个术语。Web3.0的浏览器可能不叫浏览器,更可能是数字钱包和浏览器的结合。现在在浏览器上发起交易也需要依靠钱包插件来签名。所以这种产品也是大家的机会,是全新的超大入门级产品。

即未来预期的访问方式如下:IPFS://Q me 2 qny 61 ylj 9hz DM 4 VN 6 HDEKCMKYCGSEM 33k 4 ehcgavu

现在通过网关访问如下:http://127 . 0 . 0 . 1:8080/ipfs/IPFS/me 2 qny 61 ylj 9hz DM 4 VN 6 HDEKCMKYCGSEM 33K4EHCGAVU3359IPFS.io/IPFS/QMe2qny61YJ9HZ DM 4 VN 6 HDEKCMKYCGSEM 33k 4 ehcgavu

IPFS是一个内容可寻址的、版本化的

我们知道,在今天的网络服务中,内容是基于位置(IP)寻址的,也就是在搜索内容的时候,你需要先找到内容所在的服务器(根据IP),然后在服务器上找到相应的内容。 然而,在IPFS网络中,它是根据内容来寻址的。每一个?马鞭上传到IPFS的文件和文件夹是以Qm为开头字母的散列。您可以通过散列找到这个文件,而不知道文件存储在哪里。这种方法称为内容寻址。

工作原理

在IPFS系统中,内容会分块存储(如果内容很小,直接存储在DHT中蓑衣网小编2022),以分散的方式存储在IPFS网络中的节点上(但在目前的IPFS实现中,一个节点会完全存储内容的所有块)。系统会为内容的每个块计算哈希值,然后把所有块的哈希值拼凑起来,再重新计算哈希值,得到最终的哈希值。同时,每个节点会维护一个DHT(分布式哈希表),其中包含数据块与目标节点的映射关系。

在IPFS中,文件是通过哈希来请求的,所以它会使用这个分布式哈希表来查找文件所在的节点,检索文件并根据哈希来重组文件(它还会验证文件)。

IPFS的特征

根据前面的原理,我们可以敲下IPFS的几个特征:

我们知道了一个文件的哈希值后,就可以保证这个文件没有被修改,也就是说,我们可以保证被访问的文件没有被篡改。由于hash的特性,即使源文件稍有改动,对应的hash值也会完全不同。(理论上)如果IPFS推广开来,节点数量达到一定规模,内容就会永久保存。即使某些节点离线,也不会影响文件的读取,不像当前的集合会失效。由于IPFS是一个统一的网络,只要文件已经存储在网络中,除了必要的冗余备份,文件就不会被重复存储。相对于现有的互联网,信息孤岛,中心之间数据不共享,数据不重复存储,IPFS在一定意义上节省了空间,使得整个网络的带宽消耗更低,网络效率更高。相对于易受DDOS攻击的集中式存储,IPFS采用分布式存储网络,文件存储在不同的网络节点,自然避免了DDOS攻击。同时,一个文件可以同时从多个节点下载,通信效率会更高。

IPNS

在IPFS,文件的哈希值完全取决于其内容。如果其内容被修改,其对应的哈希值也会改变。这具有确保文件不被篡改和提高数据安全性的优点。但同时,我们在开发应用程序(比如网站)时,往往需要更新内容,发布新版本。如果用户每次都被要求在浏览器中输入不同的IPFS地址来访问更新内容的网页,这种体验肯定是不可接受的。

蓑衣网小编2022IPFS提供了一个解决方案IPNS(行星间命名系统)。他提供了一个受私钥限制的IPNS散列ID(通常是PeerID ),用于指向特定的IPFS文件散列。当更新新内容时,可以更新IPNS点散列ID。

站在Web3.0 理解IPFS是什么

为了让大家更容易理解,打个比方。与DNS类似,DNS记录域名指向的IP地址。如果服务器发生变化,我们可以改变DNS域名指向,确保域名指向最新的服务器。IPNS是指具有散列ID的真实内容文件的散列。更新文件会改变hash ID的指向,当然,更新指向需要hash ID对应的私钥。

通过IPNS访问文件的方式如下:

通过插件访问:IPNS://qmym 36 S4 ut 2 tiufffvvvuabsvwmx 8 vvmdu 7 xkuiveswbutva通过网关访问:3358127 . 0 . 0 . 1:8080/IPNS/qmym 36 S4 ut 2 tiuvuvuabsvmx 8 vvmdu 7 xkuiveswbutva

IPNS也是DNS兼容的。使用DNS TXT记录域名对应的IPNS哈希ID,可以用域名替换IPNS哈希ID进行访问。从而实现更容易的阅读、书写和记忆。

例如,使用以下方式简化访问:ipns://ipfs . io 3359 ipfs . io/ipns/ipfs . io/

ipfs/ipns。如果使用,将在后面的文章中进一步介绍。

总结

IPFS是一项非常激动人心的技术。虽然还处于发展初期(区块链也是),但还有很多问题需要我们共同解决,比如NAT穿透、浏览器支持、内容存储激励、存储数据安全、隐私保护等。 但是Web3.0时代的应用程序将真正通过IPFS区块链来创建。这是一个完全可信的自运行(不间断)的应用程序。不知道它能做什么,对未来充满期待。简单的区块链?——系统学习区块链,打造区块链最好的科技博客。

站在Web3.0 理解IPFS是什么 | 分享给朋友: