如何在IPFS中使用恒定的链接地址?

释放双眼,带上耳机,听听看~!

在我们日常访问互联网网站时,我们习惯了访问恒定的地址。比如我们想访问新浪,我们默认就是在浏览器的地址栏输入www.sina.com.cn。对用户而言新浪网的这个地址就是恒定的,一旦变了,用户不知道新的地址就无法访问了。

在这篇文章,我给大家介绍如何在IPFS中实现恒定的链接地址。

在IPFS中,对内容的寻址是用哈希值的方式,这是所有基于IPFS网站的核心。比如某个网站的主页它的哈希值为:QmZQV5YNPXSKakh7aKqSk3MVARNu8eaxws9KNc6EeStQTYt5w

如果网站主页的内容被改了,哪怕只有细微的改动,主页的哈希值就会改变,比如改动后主页的哈希值为:QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8e

如果用户想把这个主页与他人分享,就不可能仅仅把哈希值告诉他人,因为一旦主页被改动了,哈希值就会变动。因此,用户得把一个恒定不变的链接分享给他人,这样即便主页内容发生变化,哈希值变了,但其他人访问这个链接时,仍然能访问这个主页。

在这种情况下,我们该如何创建一个恒定的链接呢?有下面几种方法:

1、 IPNS:恒定的哈希值

IPNS链接使用公钥加密的方式为IPFS的哈希值产生一个哈希值。IPNS产生的哈希值和IPFS的哈希值看上去很类似。

IPNS的哈希值实际上是一个公钥的哈希值。公钥的持有者可用该公钥给一段包含哈希值的信息签名,这个哈希值所指向的就是最新文件(如上例中最新的网站主页)。

这意味着,如果我共享了一个IPNS哈希值,用户通过这个恒定的哈希值就能访问一个文件的哈希值,无论文件如何更新,都不会影响用户的访问。

当然,这个方案也有缺点—-IPNS哈希值也是一串字符,不方便用户记忆和阅读。因此下面一种方案出笼了。

2 、DNSLink:链接DNS和IPFS

DNSLink就像传统域名和IPFS生态系统之间的一座桥梁,通俗地说,它将一个IPFS哈希值和一条DNS记录挂钩。

当IPFS直接访问IPNS哈希值发现该哈希值无效或丢失时,IPFS就会搜索DNSLink,在DNSLink中找是否存在这条记录。

这个方案的问题在于DNSLink是一个中心化的服务器,在去中心化的网站使用一个中心化的服务器总归不是太完美。

于是我们有了第三种方案。

3 、ENS:区块链解决方案

在前面两种方案中,IPNS做到了去中心化,但不方便记忆和阅读,DNSLink方便记忆和阅读但却不是去中心化的。

ENS完美解决了这两个问题:既去中心化又方便记忆可读。

ENS是ETH域名服务(Ethereum Name Service)的简称,这是ETH中一种去中心化的域名方案。使用这个方案我们能把一个域名和哈希值关联起来。这里的域名就和我们访问传统互联网看到的域名一样,只不过它的后缀不是“.com”而是“.eth”。

为了访问ENS域名,用户必须用Brave浏览器或包含MetaMask插件的浏览器。

上面三种方案就是我们在IPFS中如何让用户访问恒定链接的方法。

我是IPFS/FIL社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/FIL是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/FIL爱好者建设一个共赢的学习社区。

参考链接:https://blog.fleek.co/posts/immutable-ipfs

矿业新闻

BTC破万!且大概率继续上涨,矿业迎大笔订单

2020-5-9 11:12:08

矿业新闻

带你看懂IPFS/Filecoin官方FIL Discover项目

2020-5-9 12:48:08

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索