了解Web 3.0概念背后的技术方向
原标题 | Web 3.0漫游指南
在本文中,我们将研究Web 3.0,因为它与分散的点对点(p2p)文件共享有关。去中心化架构相对较新,仍在发展中。相同的词对不同的群体可能有不同的含义,因此我将首先概述一些一般的概念和定义,以便我们在语义上达成一致。
Web 2.0是互联网的当前迭代——它是当今绝大多数基于Web的应用程序和服务使用的框架,它是大多数用户所认为的“互联网”或“网络”。
Web 2.0这个术语是Tim O "Reilly在dot com时代创造的,它松散地定义了Web 1.0在移动、社交和云计算方面的创新。这个想法更加微妙,但可以被两个主要概念所概括——“服务,而不是打包软件”和“高于单个设备级别的软件”。
虽然Web 2.0仍然具有很高的价值创造性,特别是在企业中,但仍有一些成功的项目从潜在的下一个互联网范式(今天称为Web 3.0)中涌现出来。它仍处于萌芽阶段,但许多人认为它是互联网的下一个进化,将成为定义下一个软件时代的框架。
就像Web 2.0一样,Web 3.0的定义也很微妙(仍在发展中,而且不同的人通常对其进行不同的定义)。出于本文的目的,我将简单地将Web 3.0定义为向依赖于对等网络的去中心化网络的转变,而不是依赖于中心化基础设施的客户端-服务器网络。我们将进一步讨论p2p网络的细节,但让我们首先讨论去中心化为什么很有价值。
去中心化网络通常性能更高。让我们看一个文件共享的用例,用户A想要向用户B发送一个视频文件,在一个中心化的客户端-服务器网络,用户的视频文件上传下载到服务器,然后用户B下载文件(服务器然后上传)。
性能受到用户A上传速度、用户B下载速度、服务器上传下载速度、双方距离的限制。在纯对等系统中,文件直接从一个对等点传输到另一个对等点。只受用户A上传速度、用户B下载速度、用户与用户之间距离的限制。
因此,如果用户和服务器之间距离较近,且服务器上传/下载容量高于用户A和用户B,则性能可能等同于p2p网络。
然而,随着用户和服务器之间的距离增加和/或服务器的性能下降(例如,由于高需求),客户端-服务器网络的性能将比p2p网络差。
去中心化的网络是反脆弱的——它们随着额外的“压力”的增加而变得更强大。随着更多的用户(对等点)加入到网络中,网络性能和可用性实际上会提高。在Web 2.0社交应用中,这体现在“网络效应”中:网络/产品的价值随着网络规模的增加而增加。
不幸的是,底层基础设施并非如此。随着基于客户端-服务器模型的应用程序越来越流行,应用程序提供者必须增加服务器容量/中央计算,以维护性能和可用性。
去中心化的网络是无需信任的——相关的参与者不需要知道或信任彼此或系统的第三方。由于客户端-服务器关系,Web 2.0应用程序依赖于中心化的服务器/服务,这意味着用户必须内在地信任这个中央权威机构(拥有/操作服务器的个人或实体)。
这个中央权威机构有单方面定义规则的能力。在实践中,这通常表现为围绕数据所有权的冲突。例如,流行的存储和文件共享服务dropbox采用的是一种客户端-服务器模式:用户将数据上传到dropbox拥有和运营的中心化服务器上,然后从这些服务器上下载数据。
因此,所有数据通过dropbox, dropbox有技术能力读取和复制这些数据。因此,唯一能保护dropbox用户数据的就是他们相信dropbox会遵守(不会更改)的用户协议。在去中心化的p2p网络中,没有中央权威机构。用户是其数据的所有者和运营者,信任在于软件本身(而不是运营者)。
去中心化网络更安全。它的名称是:点对点。数据直接从一个对等点上传,由另一个对等点下载,而无需使用中间人(中央服务器)。
这意味着您的数据没有中央管理机构或保管人(除非您选择这样做)。此外,当存在一个中央权威机构时,由于数据/价值被合并(即攻击者从一次成功中获得大量价值),攻击就会有更高的动机。
相反,当数据/值高度分布时,攻击者必须有更多的成功尝试来获得相同大小的值。去中心化减少了攻击者的动机/奖励。
现在我们已经有了一些共享的上下文,让我们具体讨论去中心化的p2p文件共享。此时,您可能会想,“去中心化听起来很棒,但这有什么新鲜的呢?”像p2p文件共享这样的服务不是已经存在了十多年了吗?”
在某种程度上,您是正确的,但是在Web 2.0的p2p服务和我们今天在Web 3.0上构建的p2p服务之间有一些本质的区别。让我们以BitTorrent为例,它最初发布于2001年。BitTorrent有三个主要问题(现在可以解决):它不是完全去中心化的,它缺乏激励模式,代码不可用或不可扩展。
BitTorrent(和其他类似的服务)在两个重要方面没有去中心化:它使用中心化的服务器来跟踪对等点和存储内容元数据。虽然已经建立了点对点连接(以提高性能,即通过增加“播种者”的数量),但是这些连接的实例化需要一个称为跟踪器的特殊服务器,它帮助节点之间的通信。
跟踪服务器还跟踪驻留在对等机器上的文件副本的位置,在客户端请求时哪些副本可用,并帮助协调被复制文件的高效传输和重新组装。使用跟踪器增加了服务提供商的成本,并限制了用户的隐私/安全。
BitTorrent并没有一个合适的激励模式。当用户开始使用该服务下载文件时,他们被称为“下载者”,一旦他们拥有了文件的片段(或者如果他们已经存储了其他用户想要的文件),他们就可以成为“种子用户”,也可以向其他用户上传文件。
BitTorrent会为种子用户提供下载优先级(以更快的上传速度播种的用户会得到进一步的优先级)。然而,除此之外,没有什么真正的动机来播种或存储文件。由于BitTorrent依赖于种子和文件可用性,如果没有激励模式,它是脆弱的。
BitTorrent(和类似的服务)存在典型的软件可用性问题,这使得它很难利用以前的工作。一些例子包括:缺乏良好的文档(或根本没有)、限制性的许可(或没有许可)、不容易到达接触点、封闭的源代码(或源代码不再存在)、实现没有公开友好的API、这些项目与特定的用例紧密结合。
最终,这意味着该服务适应和改变用户需求的能力受到了严重限制。在许多情况下,这使得不可能处理新的用例。具体来说,BitTorrent已经做了一些改进(它对追踪器的依赖比过去少了),但本质上它还是20年前的服务。
现在让我们继续以文件共享为例来研究Web 3.0功能。今天,您可以构建完全去中心化的p2p应用程序。开发了Libp2p(用于去中心化传输)和IPFS(用于去中心化存储)的Protocol Labs,是这一领域的领导者。
具体来说,Libp2p的传输协议(通过电路中继和NAT穿越)解决了连接两个对等点,而不需要一个特殊的跟踪服务器。此外,IPFS(一种使用内容寻址的去中心化存储服务)允许完全去中心化的存储,并且不依赖于内容服务器或非常多的活动/可用的对等点来实现文件可用性。
加密/代币的Web 3.0概念解决了激励问题。具体来说,Filecoin是一个去中心化的存储网络,它将云存储变成了一个算法市场。
该市场运行在带有本地协议代币(FIL)的区块链上,矿工通过向客户端提供存储来赚取。相反,客户花费FIL(雇佣矿工)来存储或分发数据。应用于像BitTorrent这样的服务,这意味着播种者将在Filecoin中存储文件并提供下载,而窃取者将花费Filecoin来访问这些文件。
这种激励结构将增加对播种和存储文件的激励,从而提高对用户的可用性和性能。金钱激励也创造了一个途径来实例化合法的商业模式。假设文件存储器能够赚钱。
在这种情况下,文件的合法所有者(媒体公司)可能愿意参与网络。正如Spotify所证明的那样,用户实际上并不关心种子文件的“免费”方面,他们关心的是发现和传播的便利性。
最重要的是,像Protocol Labs这样的实体正在解决软件可用性问题。他们是Libp2p、IPFS和Filecoin的创建者。这三个项目都是开源的,有最新的文档,并且(由一个可联系的团队)支持。
此外,像Libp2p这样的协议是高度模块化的,专为通用用途而构建的。这意味着用Libp2p构建的产品是高度可扩展的,可以快速变化以满足不断发展的用户需求和新的用例。
总之,去中心化的p2p应用程序具有许多原生优势(特别是在性能和安全性方面),现在已经有了构建强大的p2p应用程序的工具和基础设施。