长安链P2P网络技术介绍(1):什么是P2P网络?

与我们交流区块链相关技术请关注长安链公众号:长安链ChainMaker,点击加入社区进群交流。

本文作者为长安链核心开发者王瑞波。

本篇内容主要是给大家介绍下P2P网络技术在长安链的应用演化进程以及在演化中我们遇到的问题和解决问题的方法。

P2P相信很多人都听过,对金融稍有了解的人肯定第一反应是“P2P互联网金融点对点借贷平台”,简单概括:网贷。但是我们要讲的P2P和金融并不相关,而是互联网网络技术的P2P。我们大家很熟悉的下载工具软件,比如迅雷等都有使用P2P网络技术,那么什么是P2P网络技术?

P2P全称Peer-to-Peer,即点对点网络通讯技术,又称对等互联网络技术。对等互联网络技术依赖于网络中参与者的计算能力和网络带宽,而不是把依赖束缚在较少的若干台服务器上。P2P网络是去中心化的,简单理解就是两个设备之间通过网络直连对方,无需中间其他设备转发或代理。

P2P不是通讯协议,不能把它和HTTP/UDP/TCP等放在一起比较。笔者在对网络还不是太了解的时候,总会认为P2P是一种通讯协议,把它和其他通讯协议放一起对比,但这是错误的。P2P是基于软件层面管理实现的,属于应用层的技术。P2P软件需要提供基于现有硬件逻辑和底层通讯协议上的端到端定位(寻址)和握手技术来建立稳定的连接。P2P软件还需要定制数据描述和交换协议,保证对等双方都可以互为对方识别。什么意思呢?打比方来说就是两个设备间想用P2P通讯,首先得保证双方的设备互相兼容,如果不兼容,我们就没办法建立连接;其次要保证“双方说的是同一种语言” ,不然双方都听不懂对方在说什么,那么也就无法顺利通讯。

P2P软件需要加密技术支持,以保证通讯的安全性。我们肯定不希望设备间传递的数据能够被别人看见,所以我们需要将传输的数据进行加密处理,只有互相通讯的双方才能解密。

P2P的网络有三种模式:纯P2P模式、杂P2P模式、混合P2P模式。纯P2P模式就是每个节点间互连,没有中心服务器,没有中心路由,简单理解就是节点间都是纯粹的直连通讯。杂P2P模式是由设立的中心服务器来保存节点的信息,节点负责将自己的信息发布到中心服务器,其他节点通过向中心服务器查询符合自己需求的节点信息并与其直接建立连接通讯,这个模式和微服务架构中的注册中心模式思路很像。混合P2P模式就是同时包含纯P2P模式和杂P2P模式。

我们用图的方式来对比下当前主流的网络技术,目前互联网主流的技术模式应该是S/C模式,如图:

图片

S/C模式的中心化服务需要设置拥有强大处理能力和大带宽的高性能服务器,配合相应的服务器软件及多样化的服务组件,在集中处理数据的同时还可为互联网上的其他终端提供服务。这些终端就是客户端,对于其性能要求相对较低。

P2P模式弱化了服务器的作用,甚至取消了服务器,网络内任意两个互通的节点都同时互为服务器和客户端,即对等服务节点。如图: 

图片

现在我们对P2P网络技术已经有了初步的认识,那么为什么要使用P2P来作为区块链的网络呢?其实P2P网络与区块链有一个共同的非常契合的特点——去中心化。正是因为如此,区块链的典型代表中,包括但不限于比特币、以太坊、Fabric、长安链等节点间通讯都是通过P2P网络实现。

至此是我们对P2P网络内容的概述。研发一个P2P网络涉及节点组网、节点动态发现等多个复杂难题需要解决,我们从下一篇开始,将会与大家分享ChainMaker v1.x版本网络的核心组件——LibP2P相关的内容,我们下一篇再见。

图片

图片

“长安链ChainMaker”是国内首个自主可控区块链软硬件技术体系,由微芯研究院、清华、北航、腾讯和百度等机构共同研发,具有自主可控、灵活装配、性能领先、开源开放的突出特点。长安链面向大规模节点组网、高交易处理性能、强数据安全隐私等下一代区块链技术需求,融合区块链专用加速芯片硬件和可装配底层软件平台,为构建高性能、高可信、高安全的数字基础设施提供新的解决方案,为长安链生态联盟提供强有力的区块链技术支撑。取名“长安链”,喻意“长治久安、再创辉煌、链接世界”。

猜你喜欢

转载自blog.csdn.net/weixin_55760491/article/details/118767309