为什么互联网需要IPFS?
共 6175字,需浏览 13分钟
·
2023-01-12 22:20
原力区原作
索引:原文由协议实验室成员YIANNIS PSARAS, JORGE M. SOARES, DAVID DIAS 发表于IEEE(电气电子工程师协会,世界上最大的专业技术组织之一,其所定义的标准在工业界有极大的影响。)全文较长(阅读约需15mins),但是对于想更多了解IPFS的同学来说看这篇就够了。
当2020年初新冠疫情爆发时,世界发生了前所未有的工作方式转变——远程办公。作为预防措施,一些互联网提供商暂时降低了服务水准,尽管这对亚洲、欧洲和北美国家来说可能不是必要的,因为这些国家通常能够应对人们远程工作(以及疯狂观看Netflix等在线视频)带来的需求激增。
这是因为他们的大多数网络都是过度规划的,容量超过了他们通常需要的容量。但在网络基础设施投资水平不高的国家,情况就不那么乐观了:例如,南非和委内瑞拉的互联网服务提供商(ISP)报告了严重的压力。但预留空间(设置冗余)是确保网络柔韧性的唯一途径吗?
我们不这么认为。
不过,要理解我们所倡导的替代方法,你首先需要回忆一下互联网是如何工作的。
互联网的核心协议被恰当地命名为互联网协议(Internet Protocol),它定义了一种计算机用来彼此通信的寻址方案。该方案将地址分配给特定设备,即人们的计算机和服务器,并根据需要使用这些地址在它们之间发送数据。
这是一种将独特的信息从一个点发送到另一个点的模式,例如,您的银行对账单或爱人的来信。当互联网主要用于向不同的人提供不同的内容时,这种方法是合理的。但这种设计不太适合静态内容的大规模消费,例如电影或电视节目。
今天的现实是,互联网更经常被用来向许多人发送完全相同的信息,现在它正在做大量的重复性工作,其中大部分是以视频的形式。
随着4K视频的广泛使用和8K视频的出现,我们的屏幕分辨率不断提高,对视频的要求也越来越高。
Netflix等流媒体服务使用的内容传输网络(CDN)通过将内容临时存储在许多ISP附近甚至内部,帮助解决这一问题。但这一策略依赖于ISP和CDN能够达成交易并部署所需的基础设施。而且它仍然会使网络边缘不得不处理比实际需要的流量更多的流量。
真正的问题与其说是传递的内容量,不如说是如何将内容从一个中心源传递给许多不同的远程用户,即使这些用户彼此相邻。
P2P传输系统用于确定文件位置的一种方案是将该信息保存在集中数据库中。Napster,第一个大规模的P2P交付系统,使用了这种方法。
在这种情况下,更有效的分发方案是以P2P的方式将数据从相邻的设备提供给你的设备。但你的设备怎么知道该问谁呢?
那么,欢迎使用星际文件传输系统(IPFS)。
星际文件传输系统之所以得名,是因为从理论上讲,它甚至可以扩展到在太阳系不同行星上的计算机之间共享数据。
不过,目前,我们专注于为地球推出它!
IPFS的关键是所谓的内容寻址。您的机器不会询问特定的提供商“请将此文件发送给我”,而是询问网络,“谁可以将此文件发给我?”它首先询问对等方:用户附近的其他计算机、同一房屋或办公室的其他计算机,同一社区的其他计算机以及同一城市的其他计算机(如果需要),直到系统找到你要找的东西的副本。
这些查询是使用IPFS进行的,IPFS是超文本传输协议(HTTP)的替代方案,它为万维网提供了动力。基于P2P网络和内容寻址的原则,IPFS是一种允许数据存储和传输的去中心化分布式网络。
IPFS的好处包括更快、更高效地分发内容。但他们并没有就此止步。IPFS还可以通过内容完整性检查来提高安全性,以便数据不会被中间参与者篡改。使用IPFS,即使与原始服务器的连接被切断,或者最初提供内容的服务遇到中断,网络也可以继续运行,这在网络间歇性工作的地方尤为重要。IPFS还抗审查。
为了更全面地了解IPFS与其他解决方案的区别,让我们快速了解一下互联网的架构和一些早期的传输方法。
如上所述,在当今的互联网架构中,我们可以根据服务器地址请求内容。这源于互联网的基础协议,可控制数据如何从点到点流动,Vint Cerf和Bob Kahn于1974年在《IEEE通信学报》(IEEE Transactions on Communications)上的一篇论文中首次描述了这一方案,现在被称为互联网协议。
万维网建立在因特网协议之上。
浏览网页包括向特定的设备(由IP地址标识)询问给定的数据。
当用户在浏览器的地址栏中键入URL时,该过程开始:浏览器将获取主机名部分并将其发送到域名系统(DNS)服务器。DNS服务器返回相应的数字IP地址。然后,用户的浏览器将连接到IP地址,并询问位于该URL的网页。
换句话说,即使同一区域中的计算机拥有所需数据的副本,它也不会看到该请求,也无法将其与保存的副本相匹配,因为该内容没有固有标识符,它不是内容寻址的。
互联网的内容寻址模式将使数据发挥主导作用,而不是设备。请求者将使用唯一标识符(类似于期刊文章的DOI编号或书籍的ISBN)明确请求内容,互联网将处理将请求转发给具有副本的可用对等方。
这样做的主要挑战是,这将需要对核心互联网基础设施进行更改,该基础设施由全球数千家ISP拥有和运营,没有中央机构能够控制所有ISP的操作。虽然这种分布式架构是互联网最大的优势之一,但它几乎不可能对系统进行根本性更改,这会破坏许多使用它的人的生活。
即使是实现增量改进,这通常也是非常困难的。引入变化时遇到的困难的一个很好的例子是IPv6,它扩展了可能的IP地址的数量。
如今,在推出近25年后,它仍然没有达到50%的采用率。
绕过这种惯性的一种方法是在现有互联网协议之上的更高抽象层实现更改,不需要修改底层网络软件堆栈或中间设备。
除了IPFS之外的其他传输系统,如BitTorrent和Freenet,都试图通过引入可以与万维网并行运行的系统来实现这一点,尽管这些系统通常具有Web接口。
例如,您可以单击与文件关联的BitTorrent跟踪器的Web链接,但此过程通常需要将跟踪器数据从Web浏览器传递到单独的应用程序来处理传输。
如果你找不到跟踪器链接,你就找不到数据。
Freenet还使用分布式对等系统来存储内容,内容可以通过标识符请求,甚至可以使用Web的HTTP协议访问。
但Freenet和IPFS有不同的目标:Freenet非常注重匿名性,并以服务于该目标但降低性能和用户控制的方式管理数据复制。
IPFS提供了灵活、高性能的共享和检索机制,但将数据控制在用户手中。
在P2P网络中查找文件的另一种方法称为查询洪泛。查找文件的节点向其所连接的所有节点广播对该文件的请求。
如果接收请求的节点没有文件[红色],它会将请求转发给它所连接的所有节点,直到最后具有文件的节点将副本传回请求者[蓝色]。Gnutella对等网络使用了该协议。
协议实验室将IPFS设计为一种升级Web的协议,而不是创建替代版本。
它的设计目的是让网络变得更好,让人们能够离线工作,使链接永久化,更快、更安全,并使其尽可能容易使用。
IPFS始于2013年,是一个开源项目,由协议实验室支持,由数百个组织和数千名开发人员组成的充满活力的社区和生态系统构建。IPFS建立在对等(P2P)网络和基于内容寻址等先前工作的强大基础上。
所有P2P系统的核心原则是用户同时作为客户端(从其他人请求和接收文件)和服务器(存储文件并向其他人发送文件)参与。内容寻址和P2P的结合为从最近的对等端获取数据提供了正确的成分,该对等端持有所需内容的副本或更正确的副本,即网络拓扑方面最接近的对等端,但不一定在物理距离上。
为了实现这一点,IPFS生成了它所保存的内容的指纹(称为哈希),这是其他项无法拥有的。该散列可以被认为是该内容的唯一地址。
更改内容中的一个位数将产生完全不同的地址。想要获取此内容的计算机广播对具有此特定哈希的文件的请求。
因为标识符是唯一的,而且永远不会改变,所以人们通常将IPFS称为“永久性Web”。而且,标识符永远不会改变的情况下,只要网络上的某台计算机存储了特定的文件,网络就能够找到该文件。
名称持久性和不变性本质上提供了另一个重要属性:可验证性。
拥有内容及其标识符后,用户可以验证所接收的内容是所要求的内容,并且没有被篡改,无论是在传输过程中还是由提供商篡改。这不仅提高了安全性,而且有助于保护公共记录,防止历史被改写。
您可能想知道需要更新以包含新信息的内容(如网页)会发生什么。这是一个值得关注的问题,IPFS确实有一套机制,可以将用户指向最新的内容。
2017年4月,土耳其禁止了维基百科的访问,因为该平台上的一篇文章将土耳其描述为支持恐怖主义的国家,世界有机会观察到内容寻址是如何运作的。
一周内,土耳其版维基百科的完整副本被添加到IPFS中,在禁令持续的近三年里,该国人民仍然可以访问维基百科。
半年后,西班牙试图镇压加泰罗尼亚的独立公投,下令互联网服务提供商屏蔽相关网站,也发生了类似的示威活动。信息再次通过IPFS提供。
IPFS是一个开放的、无限制的网络:任何用户都可以加入并获取或提供内容。尽管有许多开源的成功案例,但当前的互联网主要基于封闭平台,其中许多平台采用锁定策略,但也为用户提供了极大的便利。
虽然IPFS可以提高效率、隐私和安全性,但让这个去中心化平台达到人们习惯的可用性水平仍然是一个挑战。
你看,IPFS的点对点、非结构化特性既是优点也是缺点。虽然CDN已经建立了庞大的基础设施和先进的技术来提供高质量的服务,但IPFS节点由最终用户操作。因此,网络依赖于他们的行为,他们的计算机在线多长时间,他们的连接有多好,以及他们决定缓存什么数据。通常这些事情都不是最佳的。
协议实验室工作人员的一个关键研究问题是,尽管组成IPFS网络的节点存在缺陷,甚至当这些节点表现出自私或恶意行为时,如何保持IPFS网络具有弹性。
如果我们要保持IPFS的性能与传统分销渠道的竞争力,我们需要克服这些问题。
您可能已经注意到,目前还没有提供IPFS地址的示例。这是因为基于哈希的寻址导致URL不容易拼写或键入。
例如,您可以通过在合适的浏览器中使用以下地址在IPFS上找到维基百科徽标:ipfs://QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8D/.这个长字符串可以被认为是持有该徽标的文件的数字指纹。
为了跟踪哪些节点保存哪些文件,IPFS使用所谓的分布式哈希表。在这个简化的视图中,三个节点保存有两列的表的不同部分:一列(Keys)包含存储文件的散列;另一列(Records)包含文件本身。
根据其哈希键的不同,文件会存储在适当的位置[左]-此处描述为系统检查了哈希的第一个字母,并将字母表的不同部分存储在不同的位置。
分发文件的实际算法更复杂,但概念类似。检索文件是有效的,因为可以根据文件的哈希值来定位文件[右]-。
还有其他内容寻址方案使用人类可读的命名或分层的URL样式命名,但每个方案都有自己的权衡。找到在IPFS中使用人类可读名称的实用方法将大大提高用户友好性。这是一个目标,但我们还没有达到。
在过去十年的大部分时间里,协议实验室一直在解决这些和其他技术、可用性和社会问题。在这段时间里,我们看到IPFS的采用率迅速增加,其网络规模逐年翻番。
以这样的速度扩大规模带来了许多挑战。但当你的意图正在改变我们所知的互联网时,这是正常的。
内容寻址和IPFS的广泛采用将有助于整个互联网生态系统。通过授权用户请求准确的内容并验证他们是否未经更改就收到了内容,IPFS将提高信任和安全性。
减少通过网络传输的重复数据,并从附近来源获取数据,将使ISP以更低的成本提供更快的服务。即使网络被分割,也能继续提供服务,这将使我们的基础设施更能抵御自然灾害和其他大规模中断。
但权力下放有黑暗面吗?
我们经常听到关于不良行为者如何利用对等网络支持非法活动的担忧。这些担忧很重要,但有时被夸大了。
IPFS改进HTTP的一个方面是允许对存储数据进行全面审计。例如,由于其内容寻址功能,特别是使用了唯一和永久的内容标识符,IPFS可以更容易地确定网络上是否存在某些内容,以及哪些节点正在存储这些内容。
此外,IPFS让用户决定他们分发什么内容和停止分发什么内容变得很简单(只需从他们的设备上删除)。
同时,IPFS没有提供允许审查的机制,因为它是一个没有中央权限的分布式P2P文件系统。因此,没有一个参与者具备技术手段来禁止文件的存储和传播,或者从其他对等方的存储中删除文件。
因此,对不需要的内容的审查无法在技术上强制执行,这为言论自由受到威胁的用户提供了保障。
删除内容的合法请求仍然是可能的,但需要将其发送给实际存储内容的用户,以避免常见的滥用行为(如非法DMCA删除请求),大型平台难以对此进行防御。
最终,IPFS是一个开放的网络,由社区规则管理,对所有人开放。今天你可以成为它的一部分!
Brave浏览器附带内置IPFS支持,Opera for Android也是如此。
Chrome和Firefox都有浏览器扩展,IPFSDesktop使运行本地节点变得容易。
一些组织提供基于IPFS的托管服务,而其他组织运营公共网关,允许您通过浏览器从IPFS获取数据,而无需任何特殊软件。
这些网关充当P2P网络的入口,对引导采用非常重要。通过一些简单的DNS魔术,可以配置域,以便用户的访问请求将导致网关以对用户完全透明的方式检索和提供相应的内容。
到目前为止,IPFS已被用于构建各种应用程序,包括电子商务系统、科学数据集的安全分发、镜像维基百科、创建新的社交网络、共享癌症数据、区块链创建、安全加密的个人文件存储和共享、开发工具和数据分析。
你可能已经使用过这个网络:如果你曾经访问过协议实验室网站(Protocol.ai),你甚至没有意识到它就从IPFS检索到了网站的页面!
*原文发表于IEEE,编译by柏礼
在这里,预见Web3
1
Telegram:
https://t.me/joinchat/0da2ZR6gPi1mY2Vl
2
Medium:
https://medium.com/@forcecommunity-official
3
Twitter:
https://twitter.com/force_ipfs
4
5
B站:
https://space.bilibili.com/444267709
6
抖音:
http://qr61.cn/o8W1Ml/qIf9MgW