互联网的技术日新月异,互联网不断渗透人们的生活;
Web3.0将是彻底改变人们生活的互联网形态;
Web3.0让所有在线公民不再受现有资源积累的限制;
有更多平等的机会获得财富和声誉。
web3.0将从哪里开始?
本集文章经授权转载,侵权必究。
Web 3.0世界系列文章
来源:《代码与野兽》
Web3系列文章:
NO.1 Meet Web3:在Web3的世界里写HelloWorld的第一行。
NO.2全面系统的Web3学习路线,助你成为Web3开发专家。
3号Web3世界:区块链、比特币、以太坊、智能合约
NO.4 Remix IDE使用VSCode构建Solidity开发环境。
在Web2.0的世界里,协议通常是HTTP,资源加速通常是CDN,对象存储通常是OSS。在Web3.0的世界里,有很多技术可以替代这三种技术,把事情做得更好。最好的项目之一是一项集成了协议、资源加速和存储的技术:IPFS。本文将介绍什么是IPFS以及它是如何工作的。IPFS的白皮书于2014年7月发布,其中提到了许多技术解决方案的想象力。其概念与传统Web2.0中的HTTP、CDN、OSS完全不同,在介绍IPFS之前,我们先来回顾一下HTTP、CDN、OSS的优缺点。
为什么HTTP,CDN,OSS不能在Web3的世界里玩?HTTP的优缺点这里指的是HTTP 1.1和HTTP2.0,它的优点是处理小文件的传输。然而,现代互联网的数据传输面临五大挑战:
管理和分发的数据量已经达到PB级。跨组织的大数据计算。分发海量高清视频。海量数据的链接和版本管理。防止重要文件丢失。把以上总结为:海量数据无处不在。而这些都是HTTP很难处理的。所以,随着互联网的不断发展,HTTP迟早会退出历史舞台。
CDN的优缺点CDN的主要目的是加快静态资源的访问速度,这也是它的主要优势。其次,可以抵御DDOS攻击,维护更方便。然而,缺点是显而易见的。搭建CDN服务器的流程复杂,成本高,所以一般在服务器端买CDN,但价格不低。
OSS的优缺点这里所指的OSS是云服务提供商的OSS服务。OSS的优点是可靠性高、易扩展、速度快、边缘计算。在此之上,可能还有镜像、备份、安全、脱敏等一系列高级功能。总结起来,只有两个字:担心。缺点也很明显,价格很贵。但是所有的OSS服务提供商都把低成本视为其优势之一。其实数据量少的时候我感觉不到,但是一旦数据量急剧增加,高昂的价格真的让人无法接受,这点我深有体会。当然,OSS贵的真正原因不是存储成本高,而是带宽成本高。
现代互联网的问题以上问题都属于技术范畴,除此之外,还有一个根本问题。现代互联网模式的问题。
技术问题,成本问题,效率问题因为现代互联网是一个中心化的模式。这种模式极其昂贵,并且需要建立一个集中式的大规模服务器集群。而且在高峰期容易出现服务拥塞和延迟,在低谷期浪费大量资源等问题,效率很低。这种模式严重依赖于集中式服务提供商的存储和带宽。虽然弹性计算等技术可以缓解这种情况,但是解决不了基模问题。IPFS可以共享存储和带宽,这可以更有效地利用资源和降低成本。IPFS可以有效地复制文件和消除冗余。
数据所有权的问题现代互联网很容易丢失数据。因为数据都在集中的服务器群集中,所以服务提供商有权管理数据。虽然大型服务提供商有数据备份和灾难恢复方案。但意外还是偶尔发生。最重要的是,服务商可以以任何理由删除我们的数据,比如你的数据不合法,你违反了平台规定。作为普通人,很难和服务商竞争,一些重要的数据不知不觉就消失了。IPFS可以永久保存数据。
现代互联网非常依赖主干网络。一旦骨干网出现故障,就会出现大规模的服务中断和延迟。IPFS不依赖主干网,即使在不发达地区,IPFS也有不错的表现。
审查机制的问题因为现代互联网应用都是中心化的网络,统治者可以让全国人民都无法访问一个网站或app,这在中国也叫墙。IPFS是IP,是分布式的,几乎无法屏蔽。
生态问题虽然服务商出了大价钱帮我们搭建服务器集群,给我们提供产品。但是羊毛出在羊身上。他们会通过会员费、广告费等方式拿我们的钱。甚至为了盈利,失去底线,滥用用户隐私,不断越界,做虚假广告,恶意弹窗,限制网速挤牙膏,甚至出卖我们的数据,收取公关费删帖封号。除了以上问题,互联网安全也是一个让人头疼的问题。比如各种反人类的验证码。在过去,我们别无选择。虽然忍无可忍,但也只能忍气吞声,用网络骂网络。但现在不同了。我们有更好的选择。在IPFS世界,所有这些问题都不复存在。爱奇艺之前推出过一个小品,笑到停不下来,用来讽刺现代互联网。有人把它搬到了知乎。如果你有兴趣,你可以看看:www.zhihu.com/zvideo/1433.这是一些不良后果:
什么是IPFS?IPFS有许多定义。根据其定义,IPFS是一个版本化的、按内容索引的对等文件系统。从技术的角度来看,IPFS是一片长满毛白杨的森林。从商业角度来看,IPFS是一个点对点超文本协议。它将使互联网更快、更安全、更开放。
IPFS简介IPFS是一个缩写,全称星际文件系统,星际文件系统。它是一个点对点的星际文件系统。从这个角度来说,它针对的是整个互联网,而不是某个协议或者某个文件存储系统。它更像是一个单独的BitTorrent群。
《IPFS》的作者介绍了胡安贝内,按照中国人的习惯音译为胡安。美国人,1988年出生,斯坦福大学毕业,不折不扣的技术天才。胡安也是协议实验室、IPFS和Filecoin的创始人。2014年,他创建了协议实验室,并于同年启动了IPFS项目。Protocol Labs是IPFS和Filecoin的官方组织,其目标是如何构建下一代互联网。4年后的2018年,入选《财富》杂志40 under 40榜单。
IPFS基于什么技术?IPFS的核心原则是将所有数据建模为同一个默克尔有向无环图的一部分。它采用但不限于以下技术:
基于DHT的内容寻址。基于Git模型的对象管理。基于默克尔对象关联。基于点对点技术。基于全局命名空间的IPNS。通过以上技术,解决了海量数据、高并发、大吞吐量、文件丢失等一系列问题。它所做的,总结起来只有三点:规定了如何上传文件,如何检索文件,如何下载文件。你可能会问,这些技术过去不都是P2P领域的吗?没错,IPFS是P2P高手。不是凭空创造出很多技术或者概念,而是站在巨人的肩膀上。
为什么要点对点?现代的互联网资源需要一个http地址来获取,所以大量的网站都存储在我们浏览器的收藏夹里。这种模式是基于位置的寻址模式。但是仔细想想,其实我们只关心资源的内容是不是我们想要的,而不是资源在哪里。我们需要的资源肯定会被别人需要。如果我们附近有人从他的电脑上下载了这个资源,我们只需要直接从这个人的电脑上下载就可以了,不需要去这个文档的源头去获取。这种模式是基于内容的寻址模式。点对点传输模式是以上的基础。
IPFS的操作原理我们在IPFS上传文件需要经过以下步骤。
IPFS会先把文件分成几个以256 kb为单位的小数据块,然后在上面放一个哈希指纹。哈希指纹是一个唯一的字符串,可以和数据块一一对应。然后,IPFS对每两个小数据块的哈希值进行哈希运算,得到一个新的哈希值。它将重复这个过程,直到所有数据块的所有散列值都被计算成一个散列值。最后的哈希值是根哈希值,也称为CID(内容标识符)。这个过程就是构建默克尔达格的过程,默克尔达格是IPFS的核心原则。IPFS将删除重复的文件。因为每个文件对应一个哈希值,所以一致的哈希值意味着文件重复。IPFS将删除重复的文件,但每个节点可以保留本节点的备份。每个IPFS存储它需要的数据,DHT用来记录每个节点存储什么数据。DHT是内容ID(CID)和用户ID(PeerID)的映射。IPFS将把我们的文件信息发送到所有其他在线节点,但它不是一个真正的文件,而是一个结构。包含CID和PeerID。每个节点更新自己的哈希表。所以这个过程非常快。这就像在程序中复制变量地址,而不是复制实际的变量内存空间。当我们需要获取一个文件的时候,我们会通过文件的哈希值找出这个文件在谁的电脑上,然后从这些电脑上下载。如果我们需要的文件存储在100个人的电脑上,而现在这100个人同时在线,那么我们就可以同时和这100个人进行文件传输,最后合并成一个完整的文件。这个下载速度理论上比从一个人那里下载快100倍。这是IPFS的主要工作逻辑。一个数据块的数据结构大致如下:data:包含不超过256 kb的数据。链接:连接到其他数据块。如果一个文件非常大,它将首先从其内容生成n个数据块,然后从它们的上层创建一个数据块。链接指向所有其他数据块。
为什么IPFS需要Git?一旦文件的内容发生更改,原始哈希值将失效。因此,IPFS的文件内容是不可改变的。但是如果我们需要更新文件的内容呢?为了跟踪文件的更新,IPFS引入了版本控制模型,这与Git基本一致。当我们第一次上传文件到IPFS的时候。IPFS创建了一个提交对象。其结构大致如下:
Parent:指向上一次提交,第一次提交指向none。对象:文件内容。如果我们需要更新文件内容,首先上传新文件到IPFS。IPFS将为我们创建一个新的提交对象,它的提交将指向前一个提交对象。以便我们可以跟踪文件内容的变化。
IPFS不能保证总有资源。如果拥有某个资源的所有节点都处于脱机状态,那么该资源将永远不会被下载。就像BT下载没有种子一样。为了解决这个问题,我们需要有相应的解决方案。IPFS有两个方案。
通过激励机制鼓励节点存储更多文件并长期在线共享。主动分发文件,确保始终有在线备份。而这个激励机制就是Filecoin,我们后面会讲到Filecoin。
IPFS和区块链是什么关系?严格来说,这两者之间没有关系,IPFS也没有使用任何区块链技术。然而,区块链行业的人仍然知道IPFS,因为IPFS团队的另一个产品Filecoin与区块链有关。
IPFS和Filecoin的关系Filecoin是区块链应用,可以简单理解为一种数字货币。两者没有直接关系,只是一个团队的两个产品。然而,IPFS将为Filecoin提供底层支持,Filecoin将为IPFS注入更多活力。我们在《IPFS的运行原理》中提到,我们最终是从其他用户的电脑上下载文件,而从其他用户的电脑上下载文件是需要一定的网络成本的。为了鼓励每个人与他人分享资源,IPFS有一个名为BitSwap的激励模型。如果我们的电脑有很多空闲存储空间,我们可以通过Filecoin存储资源分享给别人。而如果我们与他人分享,我们将获得Filecoin的奖励。
为什么IPFS被称为IPFS?IPFS被称为星际文件系统。这个名字不仅仅是因为它很酷,很未来或者很科幻。但是真的很适合在星球之间传输数据。胡安的野心不仅仅是取代互联网。埃隆马斯克(Elon Musk)正在努力让人们移居火星,但他肯定不会让地球上的所有人一下子都移居火星。将来很可能地球上有人,火星上有人。如果你在火星上得到一个地球的网页,延迟是很长的,发送一个信号需要4-24分钟。往返需要8-48分钟。这种延迟是非常难以忍受的。但是一旦火星上的任何人得到这个网页,其他火星人就可以通过得到这个个人电脑的网页来避免这种延迟。所以IPFS是名副其实的宇宙传输协议。
如何使用IPFS?ipfs.tech/. IPFS官网是有安装方法的。安装IPFS有两种方式,桌面客户端和CLI。
我们选择下载桌面客户端。我们主要通过这个客户参与IPFS网络。
左边有五个菜单。我来分别介绍一下它们的功能。
状态页是一些常规数据,包括被管数据大小、在线节点、节点ID、代理版本、UI版本、实时带宽等信息。
文件可以在这里上传和删除文件。
单击导入按钮选择上传的文件或文件夹。它的上传速度很快,但实际上并不上传文件。它只是对文件进行哈希处理,并将CID和PID分配给目前所有在线的节点。上传完成后,我们将获得一个CID。点击文件右边的三个点,选择复制CID,然后你就可以和其他IPFS用户分享这个CID了。
其他用户获得CID后,他们可以在IPFS客户端顶部的搜索框中进行搜索。
如果可以搜索,就可以预览或下载。此外,IPFS协议也可以在浏览器中使用。直接在浏览器中输入ipfs://{cid},就可以直接打开文件资源。但是,这需要在本地启动IPFS客户端。如果IPFS未来发展非常顺利,这个功能可能会内置到浏览器中,而不需要单独启动客户端。
Explore可以搜索CID,并获得IPLD节点、文件对象、CID信息等。
对等点可以在这里看到其他节点的信息。包括物理地址、延迟、节点ID、传输协议、连接协议等。节点越多,我们的体验就越好。
在这里设置可以修改网关、固定服务、语言、IPFS JSON配置等分享链接的内容。
IPFS的缺点和Pin服务的优点已经讨论了这么多,IPFS似乎是一种无限完美的技术。但是真的完美无瑕吗?不完全是。IPFS还有一个所有P2P应用都有的缺点,那就是,如果持有文件的所有节点都离线,我们将永远无法下载该文件。这个问题也很好解决。如果我们想要一个文件永远被下载,那么我们可以将它存储在我们本地的IPFS系统中,我们本地的IPFS将永远在线。
但显然,如果电脑24小时开机,和服务器没什么区别。这种事情不就是Web2.0里租用云服务做的吗?在Web3中也有人这样做。这个服务叫Pin服务,意思是固定。
Pin服务的功能是修复IPFS系统中的文件。
Pinata是一个致力于为NFT提供IPFS Pin服务的平台,也是目前IPFS生态系统中最大的Pin服务平台之一。
但是Pinata不是免费的,类似的平台也是这样,通过一定的规则收费,有点像Web2.0时代的网盘。
有人认为这个方案不是一个长期可行的方案,因为当固定文件量非常大的时候,Pinata的价格会非常昂贵,目前最高的价格是每月1000美元。
其实不难总结,在现在的互联网世界里,不存在百分百免费、绝对去中心化、绝对有保障的永久存储。
如果真的要实现这个想法,那么每个人都需要有一个可以7*24小时在线开机的网络存储设备。有点像一些科幻小说,人类出生时会在体内植入一个装置。甚至人类也可以改写自己的基因,让婴儿从母亲身上发育出这个装置,就像我们的一个器官一样,只不过它可以存储数据,连接他人。
我可以断言,这个时代终将到来。步入这个时代的速度将取决于能源、网络、磁盘、计算等一系列科技领域的发展程度。
如果你对Web3感兴趣,可以关注我和我的专栏。我会继续更新更多与Web3相关的高质量文章。
#头条创作挑战# #web3.0#