在本文中,我们将研究Web3.0,因为它与分布式对等(P2P)文件共享相关。去中心化体系结构相对较新,仍处于开发阶段。同一个词对于不同的群体可能有不同的含义,因此我将首先概述一些一般的概念和定义,以便我们在语义上达成一致。
Web2.0是互联网的**版本——它是大多数基于Web的应用程序和服务所使用的框架,也是大多数用户所认为的“互联网”或“网络”。
web2.0这个术语是由Tim O’Reil在网络时代创造的。它粗略地定义了web1.0在移动、社交和云计算领域的创新。这个想法更为微妙,但可以概括为两个主要概念——“服务,而不是打包软件”和“高于单个设备级别的软件”。
尽管web2.0仍然具有很高的创新价值,特别是在企业中,但是仍然有一些成功的项目从潜在的下一个Internet范例(今天称为web3.0)中涌现出来。它仍处于初级阶段,但许多人认为它是互联网的下一次演进,将成为定义下一个软件时代的框架。
与Web2.0一样,Web3.0的定义也很微妙(仍在开发中,不同的人通常会有不同的定义)。在本文中,我将简单地将web3.0定义为向依赖于对等网络的去中心化网络的过渡,而不是依赖于中心化式基础设施的客户机-服务器网络。我们将更深入地讨论P2P网络的细节,但是让我们首先讨论一下为什么去中心化是有价值的。
去中心化网络通常具有更好的性能。让我们看一个文件共享的案例。用户a想向用户B发送一个视频文件。在中心化式客户机-服务器网络中,用户的视频文件被上传并下载到服务器,然后用户B下载该文件(然后服务器将其上传)。
性能受用户a的上传速度、用户B的****、服务器的上传****以及双方距离的限制。在纯点对点系统中,文件直接从一个点传输到另一个点。它只受用户a的上传速度、用户B的****和用户之间的距离限制。
因此,如果用户和服务器之间的距离很近,并且服务器的上传/下载容量高于用户a和用户B,则性能可能相当于P2P网络。
然而,随着用户和服务器之间的距离增加和/或服务器的性能降低(例如,由于高需求),客户端-服务器网络的性能将比P2P网络的性能差。
去中心化网络具有抗脆弱性——随着额外“压力”的增加,它们变得更加强大。随着越来越多的用户(对等方)加入网络,网络性能和可用性实际上将得到提高。在web2.0社交应用中,这体现在“网络效应”上:网络/产品的价值随着网络规模的增加而增加。
不幸的是,底层基础设施并非如此。随着基于客户机-服务器模式的应用程序越来越流行,应用程序提供商必须增加服务器容量/中心计算以保持性能和可用性。
去中心化的网络不需要被信任——相关参与者不需要相互了解或信任,也不需要信任系统的第三方。由于客户机与服务器的关系,web2.0应用程序依赖于中心化式服务器/服务,这意味着用户必须在内部信任这个中央机构(拥有/操作服务器的个人或实体)。
这个中央权力机构有能力单方面确定规则。实际上,这通常表现为围绕数据所有权的冲突。例如,流行的存储和文件共享服务Dropbox使用客户机-服务器模式:用户将数据上传到Dropbox拥有和操作的中心化式服务器,然后从这些服务器下载数据。
因此,所有数据都通过Dropbox传输,Dropbox具有读取和**数据的技术能力。因此,唯一能保护Dropbox用户数据的就是他们相信Dropbox会遵守(而不是更改)用户协议。在去中心化的P2P网络中,没有中心权限。用户是其数据的所有者和操作员,信任在于软件本身(而不是操作员)。
去中心化的网络更安全。它的名字是:点对点。数据直接从一个对等点上传,从另一个对等点下载,而不需要中间人(中央服务器)。
这意味着您的数据没有中央机构或保管机构(除非您选择这样做)。此外,当有一个中心权限时,攻击会有更高的动机,因为数据/值被合并了(也就是说,攻击者从一次成功中获得了很多价值)。
相反,当数据/值高度分布时,攻击者必须更成功地尝试获取相同大小的值。去中心化降低了攻击者的动机/回报。
现在我们有了一些共享上下文,让我们来谈谈去中心化的P2P文件共享。在这一点上,你可能会想,“去中心化听起来不错,但它有什么新的?”像P2P文件共享这样的服务已经存在了十多年了
在某种程度上,你是对的,但是web2.0中的P2P服务和我们今天构建在web3.0上的P2P服务有一些本质的区别。以2001年**发布的BitTorrent为例,BitTorrent有三个主要问题(现在可以解决):没有完全去中心化,缺乏激励模式,代码不可用或不可扩展。
BitTorrent(和其他类似的服务)在两个重要方面没有去中心化:它使用中心化式服务器来跟踪对等点和存储内容元数据。尽管已经建立了点到点连接(为了提高性能,即通过增加“播种机”的数量),但是这些连接的实例化需要一个称为跟踪器的特殊服务器,这有助于节点之间的通信。
跟踪服务器还跟踪文件副本在对等机上的位置,当客户端请求时,哪些副本可用,并帮助协调**文件的有效传输和重新组装。使用跟踪器会增加服务提供商的成本,并限制用户的隐私/安全。
BitTorrent没有合适的激励模式。当用户开始使用该服务下载文件时,他们被称为“下载者”。一旦他们拥有了文件的片段(或者如果他们存储了其他用户想要的文件),他们就可以成为“种子用户”,也可以将文件上传给其他用户。
BitTorrent将为种子用户提供下载优先级(上传速度更快的种子用户将获得更高的优先级)。然而,除此之外,没有真正的动机来播种或存储文件。由于BitTorrent依赖于种子和文件可用性,因此在没有激励模式的情况下易受攻击。
BitTorrent(和类似的服务)有典的软件可用性问题,这使得很难利用以前的工作。一些例子包括:缺乏良好的文档(或根本没有)、限制性许可(或没有许可)、难以接触点、封闭源代码(或源代码不再存在)、没有开放友好API的实现,以及这些项目与特定用例的紧密集成。
最终,这意味着服务适应和改变用户需求的能力受到严重限制。在许多情况下,这使得不可能处理新的用例。具体来说,BitTorrent已经做了一些改进(与过去相比,它对跟踪器的依赖更少),但它基本上与20年前的服务相同。
现在让我们继续以文件共享为例来研究Web3.0的特性。今天,您可以构建完全去中心化的P2P应用程序。协议实验室开发了libp2p(用于去中心化传输)和IPFs(用于去中心化存储),是这一领域的***。
具体来说,libp2p的传输协议(通过电路中继和NAT遍历)解决了在没有特殊跟踪服务器的情况下连接两个对等点的问题。此外,IPFs(一种使用内容寻址的去中心化存储服务)允许完全去中心化存储,并且不依赖内容服务器或大量活动/可用对等方来实现文件可用性。
Web3.0的加密/代币概念解决了激励问题。具体来说,filecoin是一个去中心化的存储网络,它将云存储转变为一个算法市场。
市场运行在带有本地协议代币(FIL)的区块链上,矿工通过向客户提供存储来赚钱。相反,客户花费fil来存储或分发数据。对于像BitTorrent这样的服务,这意味着种子程序将在filecoin中存储文件并提供下载,而窃听程序将花费filecoin来访问这些文件。
这种激励结构将增加对播种和存储文件的激励,从而提高用户的可用性和性能。金钱激励也创造了一种实例化合法商业模式的方法。假设文件存储赚钱。
在这种情况下,文件的合法所有者(媒体公司)可能愿意参与网络。正如spotify所证明的,用户并不真正关心种子文件的“免费”方面,他们关心的是发现和传播的便利性。
最重要的是,协议实验室等实体正在解决软件可用性问题。他们是libp2p、IPFs和filecoin的创始人。所有这三个项目都是开源的,都有**的文档,并且都有支持(可以联系的团队)。
此外,像libp2p这样的协议是高度模块化的,并且是为通用目的而构建的。这意味着使用libp2p构建的产品具有高度的可伸缩性,并且可以快速更改以满足不断变化的用户需求和新的用例。
简而言之,去中心化的P2P应用程序具有许多固有的优势(特别是在性能和安全性方面)。现在我们有了构建强大P2P应用程序的工具和基础设施。
文章标题:Web 3.0漫游指南
文章链接:https://www.btchangqing.cn/275020.html
更新时间:2021年06月07日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。