IPFS为什么可以创建完全分布式的Web?

IPFS在官方页面上被描述为“新的超媒体分发协议”。这实际上告诉我们,IPFS可以创建完全分布式的Web:没有服务器,没有客户端,只有用户积极参与其他用户的内容分发。IPFS的目标是创建一个分布式文件系统,允许在它们之间连接任意数量的计算机,以允许它们无缝地共享任何形式的内容。为简单起见,关于IPFS的一般想法是使用像BitTorrent这样的点对点技术来进行分散的Web。不是服务器为您提供您想要浏览的网站,而是其他用户会向您发送必要的数据,同时使您自己的计算机成为该网站的提供商。

它是如何工作的?

IPFS主要是多种技术的组合,让我们先来看看这些技术和工具,然后我们将分析IPFS如何创建一个可能以我们所知的方式彻底改变互联网的新工具。

分布式哈希表

分布式哈希表显然是一个分布式系统。它管理一个“哈希表”,它是分布式环境中对“密钥——值”的字典,以便分布式系统中的任何节点都可以获得与任何密钥相关联的任何值。通过在节点之间分配键值关联,它允许创建不需要节点之间任何复杂协调的系统。这样的系统必须能够抵抗、处理、离开或进入分布式系统的节点。此外,该系统必须处理大量节点才能使其有用。IPFS使用的Kamdelia被证明是稳定的DHT,并且被BitTorrent等流行的点对点网络广泛使用。

阻止交换

BitTorrent是IPFS的重要灵感来源。来自BitTorrent的数据交换协议改善了共享:共享大量数据的用户将被优先处理以接收其中一些数据。这样的系统邀请的用户将在网络上更加活跃。此外,BitTorrent在文件(或文件片段)上引入了“稀有”概念。如果许多人不共享文件,则认为该文件“罕见”。另一方面,如果许多用户能够共享同一文件,则该文件被视为常见文件。当用户请求时,稀有文件在交换中被优先化,允许不常见的文件尽可能快地传播。这两个关于BitTorrent(和IPFS)使用的块交换协议的“规则”允许创建一个非常活跃的文件

共享网络。

版本控制

版本控制是任何开发人员的日常工具,IPFS选择了非常受欢迎的Git。通过使用“Merkle树”(哈希树),确保Git有效性。

这里的图像将帮助我们解释Merkle树是如何工作的。这里,我们有一个由四个块组成的文件:L1,L2,L3和L4。通过散列L1,我们获得0-0哈希。通过在L2上执行相同的过程,我们获得0-1块,通过将“0”和“1”哈希连接在一起并对结果数据进行哈希处理,我们获得了一个“顶部哈希”,它将用作文件的标识符,也可以用来验证我们的文件。

总结

IPFS主要是点对点文件共享工具,当您在计算机上运行活动的IPFS节点时,您已经拥有了所有必需的东西:只需获取IPFS上托管的网站地址,您就可以直接把它放置在浏览器中。IPFS可以通过任何浏览器使用,无需任何其他输入。任何人都可以轻松地创建网页并将其托管在IPFS上。任何使用此网页的用户都将加入向其他用户分发和共享此网页的网络。