澳门新葡亰app【虾说区块链】搞懂P2P网络,再谈区块链!P2P网络概念扫盲帖

澳门新葡亰app 7

不管是从技术发展的方向,还是从网络发展的需求,随着服务器的瓶颈被发现,下一代互联网都在向着无服务器交互系统的方向发展。我将在这篇文章中介绍无服务器交互系统,包括它的定义,它的特点,它的架构,也将分析无服务器交互系统与区块链的密不可分的关系。作为下一代互联网的无服务器交互系统,它的发展必须要利用到区块链技术,而区块链应用的落地与壮大,也需要无服务器交互系统的支撑。当我们与互联网打交道时,我们的每一次交互都会被分作前端操作和后端操作这两部分来执行,前端操作以完成交互效果为主,比如网页的动态显示,主要体现在页面结构以及交互实现,不需要直接调用后台数据;后端操作是指实现数据平稳的被读取出来的操作,比如在网页查询一个关键词,就要根据关键词从后台找出用户想要的搜索结果。如今互联网的后端操作,或者说后端服务,是依赖中心化服务器来运转的,这样会带来一个问题,就是当很多用户在同一时刻进行相同的操作时,需要排队等候同一个中心化服务器进行处理。比如双十一零点的时候在天猫购物,同一秒会有数十万的操作涌入,但这些操作都是由一个中心化服务器来完成的,就像我们在超市排队付款一样,需要由一个收银员来一个顾客一个顾客的处理。虽然天猫用动态扩容的方法让这个中心化服务器的能力不断增强,但我们依然会发现页面出现“系统正忙,请稍后再试”的情况。无服务器交互系统是指当我们使用互联网时,后端服务不再由中心化的服务器来提供,用户直接面向带有功能组件的网络系统,用户需求由功能组件的交互操作来提供,这个功能组件可以是邮件功能,可以是拍卖功能,可以是音乐功能。也就是说,后端服务不是先找到服务器,然后由服务器维护资源,而是围绕一个用户和功能组件的交互操作展开对资源的维护。从技术角度来看,无服务器交互系统有以下两大特点:1.资源与服务器无关资源是指通过指令在服务器中取回的交互结果,包含文本、图像之类的数据。在中心化服务器架构下,资源直接和服务器相关。一个后端操作需要访问服务器取回交互结果,那么随着访问次数的指数级增长,要求服务器和相关的服务扩展也指数级增长。在无服务器交互系统下,资源和服务器无关。一个后端操作可以将获取资源的通用操作细化为多个具体操作,再将这些具体操作细分成一个个功能组件。此时的每一次资源调配面向的都是可以被细分的交互操作,由系统中无数的功能组件来完成,整个系统可以保障高的可用性。此外,系统可以根据需求来有选择性的优化功能组件,在保证整个系统最优化的同时实现维护成本的最低化。2.交互与服务器无关交互是指系统对用户指令做出反馈,交互的效率与用户体验息息相关。在中心化服务器架构下,交互是通过http来进行回复的,读快写慢,用户的增加会迅速提升交互压力,导致系统统对交互的反应降低,从而产生卡顿。在无服务器交互系统下,交互是通过函数来进行回复的,任何交互都可以被封装成很小的服务,如果一个交互功能组件阻塞,可以去另外一个交互功能组件进行交互,不会因为调用单点而造成阻塞,用户交互的指数型增长不会影响到访问的流畅性。此外,在无服务器交互系统下,好的交互设计可以获得相关的激励,而不好的交互设计将会被剔除出来,这有利于好的交互功能组件的维护和发展。通过对无服务交互系统特点的分析不难发现,当系统从中心化服务框架演变成功能性组件服务框架后,服务器将不再需要承担大的交互压力和查询压力。以无服务器交互系统为基础的下一代互联网将彻底提升并发处理能力,并可以保障系统稳定的可用性。这样一来,当用户在双十一清空购物车的时候,就不会因为同时付款的人太多而购买失败;当用户在上海车牌网络拍卖车牌的时候,也不会因为同时查询报价的人太多而报价无效。对于互联网本身,无服务交互系统更易维护,同时更具扩展性。在未来,工程师通过搭建和维护细小的功能组件,就能容易地构建出一个稳定的高可用的网络服务,并且可以高效率的实现功能的升级和扩展,这不仅会让互联网生态的繁荣程度提升一个数量级,还会大大提高网络的可行性和可扩展性,让更多的点对点经济发展起来。

澳门新葡亰app,区块链是无服务器交互系统中不可或缺的重要角色,它代替传统的中心化的服务器,负责状态记录和记账。状态记录是记录用户的每一个在网络上的状态,比如是否是会员,而记账是记录用户的每一笔支出。这是互联网上最重要的两个功能,现在主要由公司的中心化的服务器承担。在状态记录上,区块链的优势是能保证状态读写的稳定性,在任何情况下,只要相关变更提交进入写节点的内存池,就可以改变状态,需要针对不同属性区块链的状态在不同函数下进行更改。同时,区块链节点的分散特性也保证了系统的可用性,而区块链与生俱来的记账属性和激励属性则保障了互联网上相关结算场景的实现。总体而言,无服务器交互系统的设计就是通过对区块链上的状态更改以及对加密数据的维护来实现交互,并在无服务器交互的基础上,对交互功能进行分解和优化。另一方面,无服务器交互系统也能让用户更容易地使用区块链,从而促进区块链应用的大规模落地和发展。以DApp的使用为例,现有的DApp需要户熟悉一些区块链的基本知识后才能很好的使用,包括密钥部分,这相当于让一个手机App的用户了解Android的架构后再来使用,本身就不现实。但无服务器交互系统是对后端的一个革新,
在这种方式下,用户只需要关注前端,像以前使用App一样来使用DApp。DApp并不需要把账户系统暴露在外,正确的做法是以区块链做支持来完成后台数据的调用。

澳门新葡亰app 1image

欢迎收听「虾说区块链」。现在区块链这个概念在互联网上相当火热,这里简单做一个普及,不涉及项目推广投资,单纯地对区块链相关基础知识概念作一个说明讲解。本人区块链技术爱好者,结合相关区块链资料总结整理了「虾说区块链」,也是自己一个学习笔记,涉及相关内容如理解有误,也请及时指正。

P2P(peer to
peer)
:这个peer中文翻译就是对等、对等者、伙伴、对端的意思。所以P2P网络一般叫做对等网络,其确切定义:网络中每个参与节点共享节点所拥有的一部分计算能力、存储能力、网络连接能力,这些能力或者称为共享资源通过网络提供的服务和内容,可被对等节点直接访问,访问过程中不需要再经过中间实体,所以每个节点既是资源和服务的使用者、又是整个资源和服务的提供者。P2P网络中各个节点都是出于一个对等的地位,没有主、从的区分,联系实际环境,你目前在操作的一台电脑终端既可以作为服务器。又可以作为终端去获取对等节点的资源。整个网络中不存在中心节点,每个节点都可对任意对等节点做出响应,提供资源,包括计算资源、存储资源等。

P2P不是一个新的技术,早在2000年该模型就已出现,他于传统的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点。

澳门新葡亰app 2image

图示P2P网路和传统架构的区别

P2P的理念,“我为人人、人人为我”让所有加入互联网的人,直接通过互联网交互,不需要一个中间商,这样沟通,共享,交互更加自由和方便,最终把互联网的权利交换给用户,而不是一些集中网络中心。

用过BT下载的同学肯定印象很深刻,种子的多少很大程度上决定了你的下载速度,P2P网络的一大特点区别于传统网络架构中,网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。

在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能比较容易地满足用户的需要。理论上其可扩展性几乎可以认为是无限的。例如:在传统的通过FTP的文件下载方式中,当下载用户增加之后,下载速度会变得越来越慢,然而P2P网络正好相反,加入的用户越多,P2P网络中提供的资源就越多,下载的速度反而越快。

P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分节点失效时能够自动调整整体拓扑,保持其它节点的连通性。P2P网络通常都是以自组织的方式建立起来的,并允许节点自由地加入和离开。在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决Internet隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。

在传统的一些匿名通信系统中,实现这一机制依赖于某些中继服务器节点。而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。

(这个网上很多资料,我基本参考转载于:

中心化拓扑(Centralized Topology)

澳门新葡亰app 3image

中心化拓扑中,网络主体由一个处于中心地位的索引目录服务器连接到目录服务器和各网络节点中。这种方式维护简单,资源发现率高,可实现复杂查询,但容易出现单点故障。

分布式P2P网络拓扑包括:

  • 全分布式非结构化拓扑(Decentralized Unstructured Topology);

  • 全分布式结构化拓扑(Decentralized Structured
    Topology,也称作DHT网络);

澳门新葡亰app 4image

全分布式非结构化拓扑的P2P网络是在重叠网络(Overlay
Network)采用了随机图的组织方式,结点度数服从Power-law规律,从而能够较快发现目的结点,面对网络的动态变化体现了较好的容错能力,因此具有较好的可用性。同时可以支持复杂查询。

全分布式结构化拓扑的P2P网络主要是采用分布式散列表(Distributed Hash
Table,
简写成DHT)技术来组织网络中的结点。DHT是一个由广域范围大量结点共同维护的巨大散列表。散列表被分割成不连续的块,每个结点被分配给一个属于自己的散列块,并成为这个散列块的管理者。通过加密散列函数,一个对象的名字或关键词被映射为128位或160位的散列值。

分布式散列表起源于SDDS(Scalable Distribute Data
Structures)研究,Gribble等实现了一个高度可扩展,容错的SDDS集群。DHT类结构能够自适应结点的动态加入/退出,有着良好的可扩展性、鲁棒性、结点ID分配的均匀性和自组织能力。由于重叠网络采用了确定性拓扑结构,DHT可以提供精确的发现。只要目的结点存在于网络中DHT总能发现它,发现的准确性得到了保证。

半分布式拓扑(Partially Decentralized Topology)

澳门新葡亰app 5image

吸取了中心化结构和全分布式非结构化拓扑的优点,选择性能较高(处理、存储、带宽等方面性能)的结点作为超级结点(英文表达为SuperNodes或者Hubs),在各个超级结点上存储了系统中其他部分结点的信息,发现算法仅在超级结点之间转发,超级结点再将查询请求转发给适当的叶子结点。半分布式结构也是一个层次式结构,超级结点之间构成一个高速转发层,超级结点和所负责的普通结点构成若干层次。

实际应用中这4种P2P各有优缺点:

澳门新葡亰app 6image

音频内容作者:“投河自尽的鱼”

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

澳门新葡亰app 7image

点击“阅读原文”进入直播室听专栏音频。