什么是P2P?

这个词很多人应该知道吧,特别是在前些年互联网金融比较火的时候,大家应该都耳熟能详了吧,P2P字面意思就是个人对个人,是互联网金融借贷平台的一个简称。但,它有更重要的一个意思就是对等网络,这是计算机网络里的一个重要概念,更是大家都比较关注的区块链的组网方式。

今天我们再来回顾一下区块链的协议分层吧:

什么是P2P?_第1张图片
区块链协议栈

在之前的课程里,除了网络这一部分,基本上每一个都进行了相关的介绍,为了让更多的人能够看懂,看明白,我依然会采用最简单朴实的语言开展今天的内容。在完成今天的课程后,涉及区块链技术部分基础内容将告一段落,后期将着重对每一个细节及应用进行深入学习。

1、P2P是一种分布式网络

P2P在计算机术语里表示对等网络,所谓对等,就是说网络里每一个节点(一台机器)的地位都是对等的。让我们想一想互联网的宗旨,它目的是让所有人都能连接起来,但是很早以前的方式都是我们每个人通过一台中心服务器进行连接的,比如逛论坛:论坛是中心,每个游客通过论坛进行交流。而对于P2P来讲,可以实现“面对面”交流。

我们来看看百度百科上的解释:

对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”,学术界则统一称为对等网络(Peer-to-peer networking)或对等计算(Peer-to-peer computing),其可以定义为:网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等),这些共享资源通过网络提供服务和内容,能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源、服务和内容的提供者(Server),又是资源、服务和内容的获取者(Client)。

在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。

比如我们经常使用的文件内容共享和下载工具,如Napster、Gnutella、eDonkey、eMule、Maze、BT等,用户可以直接从任意一台安装同类软件的PC上下载或上传文件,并检索、复制共享的文件。

这里面你可以认为不用通过中央服务器就能下载文件,而且速度还超级快。这些都是P2P的范畴。

2、P2P代表的是共享精神

如果采用中央服务器的方式,经常会碰到用户访问并发量大,下载速度越来越慢的限制,而通过P2P这种方式很好解决了这个问题,且有效平衡利用各种闲置的计算机等资源,降低成本。

大家使用过或听说过的阿里云服务,实际上就是将计算分配到很多小型PC上进行运行,那个PC可能已经闲置,可能已经跟不上时代发展速度被淘汰,但是在分布式大行其道的今天它依然有很大利用价值。

传统银行业虽然有些守旧,但是也采用架设分布式PC服务器的方式,逐步替代IBM大型主机,在基本保持运行性能的情况下,有效降低了成本,是技术创造效益的典型案例。

其实,不论现实世界,还是计算机世界,P2P代表的是一种共享精神,在计算机世界里共享计算、存储资源,在现实世界里共享信息、交通等资源。比如现在流行的共享单车就是将单车资源进行全国范围的共享,既方便了人们的出行,又大幅压缩了出行成本,还能给企业创造利润,更是低碳环保的良好措施。

对于区块链网络来讲,每个节点基本都是对等的,它们都需要维护一个相同的全网账本,并实时通信保证每个节点都能及时处理收到的交易,以及挖掘的区块都能及时让所有其他节点知晓。正是这种“同步”、“共享”的简单策略,让所有节点都尽量统一并保留一份相同的数据,区块也是通过这种P2P网络进行全网发送的。

3、一个好玩的比特币+P2P小DEMO

最好告诉大家一个好玩的小例子,不过可能很多人看不懂,没关系,看不懂就继续看,好好揣摩下这里的神奇。

这个项目在李笑来老师里《这个项目让你脑高潮到核爆炸!》这篇公众号文章里有提到过,这个项目具体是做什么的呢:

不用任何服务器,不需要域名。将内容存放于一个webtorrent网络中(也是今天我们学到的这个P2P网络),通过解析一笔最新的比特币特殊交易,获取这个文件的最新链接,并用脚本下载它到本地进行展示。

这样一来,只要互联网不消失,只要比特币还存在(当然比特币即使不存在,还有其他区块链网络存在),你就可以任意分享一个文件,不需要架设服务器,不需要域名,你就有办法让别人下载到你这个文件,神奇吧!

用李笑来的原话说“昨天一觉醒来,被这个项目惊艳到高潮 —— 幸福得差一点晕过去。

也许你对这个项目感兴趣,可以在下方留言联系我。


今天就介绍到这里,新的课程马上开启,你们做好准备了吗?

你可能感兴趣的:(什么是P2P?)