「」全球互联网不能使用怎么办?别慌,有它在IPFS( 二 )

“ IPFS是一个分布式文件系统 , 旨在将所有计算设备与同一文件系统连接起来 。在某些方面 , 这类似于Web的原始目标 , 但是IPFS实际上更类似于单个git交换git bit的群体 。IPFS可能成为互联网的一个新的主要子系统 。如果构建正确 , 它可以补充或替换HTTP 。它可以补充甚至替代更多 。听起来很疯狂 。太疯狂了 。”
IPFS的核心是一个版本化的文件系统 , 可以获取文件并对其进行管理 , 还可以将它们存储在某个位置 , 然后随时间跟踪版本 。IPFS还考虑了这些文件如何在网络中移动 , 因此它也是一个分布式文件系统 。
IPFS具有关于数据和内容如何在网络上移动的规则 , 这些规则本质上与bittorrent相似 。该文件系统层提供了非常有趣的属性 , 例如:
1)完全分散的网站 。
2)没有原始服务器的网站 。
3)可以完全在客户端浏览器上运行的网站 。
4)没有可与之对话的服务器的网站 。
让我们看看这些不同的技术突破是如何协同工作的 。
分布式哈希表
阿散列表是一种数据结构 , 其存储信息作为键/值对 。在分布式哈希表(DHT)中 , 数据分布在计算机网络中 , 并进行有效协调以实现节点之间的有效访问和查找 。
DHT的主要优势在于分散性 , 容错性和可伸缩性 。节点不需要中央协调 , 即使节点发生故障或离开网络 , 系统也可以可靠地运行 , DHT可以扩展以容纳数百万个节点 。这些功能共同构成的系统通常比客户端-服务器结构更具弹性 。
大宗交易
流行的文件共享系统Bittorrent能够依靠创新的数据交换协议成功地协调数百万个节点之间的数据传输 , 但仅限于torrent生态系统 。IPFS实现了该协议的通用版本 , 称为BitSwap , 它可作为任何类型的数据的市场 。这个市场是Filecoin的基础:Filecoin:基于IPFS构建的p2p存储市场 。
默克尔DAG
merkle DAG是Merkle树和有向无环图(DAG)的混合 。默克尔树可确保在p2p网络上交换的数据块是正确 , 未损坏和未更改的 。通过使用密码哈希函数组织数据块来完成此验证 。这只是一个接受输入并计算与该输入相对应的唯一字母数字字符串(哈希)的函数 。容易检查输入是否会导致给定的哈希 , 但是很难从哈希中猜测输入 。
各个数据块称为“叶子节点” , 这些数据经过散列形成“非叶子节点” 。然后可以将这些非叶节点进行组合和哈希处理 , 直到所有数据块都可以由单个根哈希表示 。这是一种更简单的概念化方法:
「」全球互联网不能使用怎么办?别慌,有它在IPFS
文章图片

文章图片

DAG是一种对没有周期的信息的拓扑序列进行建模的方法 。DAG的一个简单示例是家谱 。Merkle DAG基本上是一种数据结构 , 其中散列用于引用DAG中的数据块和对象 。这创建了几个有用的功能:IPFS上的所有内容都可以唯一标识 , 因为每个数据块都有唯一的哈希 。再加上数据是防篡改的 , 因为对其进行更改会改变哈希值 , 如下所示:
「」全球互联网不能使用怎么办?别慌,有它在IPFS
文章图片

文章图片

默克尔树的不可篡改性质
IPFS的中心宗旨是在通用的Merkle DAG上对所有数据进行建模 。很难夸大此安全功能的重要性 。一个例子表明 , 这一想法的强大之处在于 , 价值数万亿美元的资产受到这一原则的保护 。
版本控制系统
Merkle DAG结构的另一个强大功能是 , 它允许您构建分布式版本控制系统(VCS) 。最受欢迎的示例是Github , 它使开发人员可以轻松地同时在项目上进行协作 。Github上的文件使用merkle DAG存储和版本控制 。它允许用户独立地复制和编辑文件的多个版本 , 存储这些版本 , 然后将编辑内容与原始文件合并 。


推荐阅读