区块链软件体系结构及其与区块链的关系

论坛 期权论坛 期权     
巧讲堂   2020-1-5 12:04   1289   0



1 一个比喻

如今很多人都有自己的个人电脑,不管是笔记本还是台式的亦或者一体机,不同的电脑有不同的配置亦或者不同的操作系统,如何选择一台适合自己的电脑,就得看您的电脑拿来做什么——游戏,办公,亦或者只是看看电视剧。您要记住你选择什么样的CPU与您的电脑的关系,就是区块链之于整个系统的关系。
2 .着眼大局
模区块化,这是将分层的思想应用到电脑上的结果。在购买电脑时,在不同的品牌中进行选择,可能会导致电脑的惊人差异。从外观上看一模一样的两台电脑,其CPU的性率可能会有很大的不同,因此用户体验也会大不相同。此外,你对电脑cpu的选择还会对电脑的其他特性产生影响,比如价格、运算速度、寄存速度和指令控制。考虑到这一点,理解区块链在全局中的作用将会容易得多。




3 支付系统
让我们将分层的概念应用到支付系统中。表4-1显示了用户的一些需求,以及应用程序和实现层的一些非功能方面。


                       

表 1 支付系统的各个方面和层次






您是否注意到表中那部分的问号?您是否经常看到有关用于使系统工作的技术的信息?这个空格是故意留白的。它是您决定应该使用哪个“CPU”来运行系统的地方。下一节将更多地介绍软件系统中的CPU。




4 两种类型的软件架构
实现软件系统的方法有很多。然而,在实现一个系统时,一个基本的决定涉及到它的体系结构,它的组件的组织方式以及彼此之间的关系。


软件系统的两种主要体系结构方法是集中式和分布式的


在集中的软件系统中,组件位于一个中心组件周围并与之连接。相反,分布式系统的组件组成一个由连接的组件组成的网络,而没有任何协调或控制的中心元素。通俗一点讲就是集中的软件系统就是我们所在的太阳系,八大行星都围着太阳转,八大行星公转周期则由太阳引力控制,而分布式系统则是整个宇宙空间,没有中心也没有边际,各星系由万有引力互相连接。


图1描述了这两个相反的体系结构。图中的圆圈表示系统组件,也称为节点,这些线表示它们之间的连接。此时,了解这些组件的功能以及节点之间交换的信息的细节并不重要。重要的一点是存在这两种不同的组织软件系统的方法。在图1的左侧,展示了一个分布式体系结构,其中组件彼此连接,而没有一个中心元素。重要的是要看到没有一个组件与所有其他组件直接连接。但是,所有组件之间至少是间接连接的。图1的右侧展示了一个集中式架构,其中每个组件都连接到一个中心组件。这些组件之间没有直接连接。它们只与中心组件有一个直接连接。





            

图1 分布式(左)与集中式(右)系统架构


5 分布式系统的优点
分布式系统相对于单台计算机的主要优势有:
更高的计算能力
降低成本
更高的可靠性
自然成长的能力


6 更高的计算能力
分布式系统的计算能力是将所有连接计算机的计算能力结合起来的结果。因此,分布式系统通常比单个计算机具有更强大的计算能力。即使将由计算能力相对较低的计算机组成的分布式系统与独立的超级计算机进行比较,也证明了这一点。有句谚语叫做三个臭皮匠顶个诸葛亮,就是这个意思了。




7 降低成本
主流计算机的内存、磁盘空间和网络设备的价格在过去20年里急剧下降。由于分布式系统由许多计算机组成,所以分布式系统的初始成本要高于单个计算机的初始成本。然而,创建、维护和操作超级计算机的成本仍然远远高于创建、维护和操作分布式系统的成本。这一点尤其正确,因为替换分布式系统的单个计算机并不会对整个系统造成重大影响。其实这个就跟某大公司和他的代工厂是一样的关系。大公司就是整个分布式系统,而单个计算机就是代工厂,一个代工厂的生死并不会影响到大公司发展。




8 更高的可靠性
分布式系统可靠性的提高是基于这样一个事实,既即使在单个机器崩溃时,整个计算机网络也可以继续运行。分布式系统没有单一的故障点。如果一个元素失败,其余的元素可以接管。因此,一台超级计算机的可靠性通常低于分布式系统。




9 自然成长的能力
分布式系统的计算能力是其组成部分的聚合计算能力的结果。通过将附加的计算机与系统连接,可以提高整个系统的计算能力。因此,整个系统的计算能力可以在细粒度的范围内递增。这支持了许多组织对计算能力的需求增加的方式。分布式系统的增量增长与个人计算机计算能力的增长形成了对比。个人电脑提供相同的能量,直到它们被更强大的电脑取代。这会使计算能力的不连续增长,而这种增长很少被计算服务的消费者所看到。




10 分布式系统的缺点
与单台计算机相比,分布式系统的缺点是:
协调开销
通信开销
对网络的依赖
更高的程序复杂度
安全问题


11 协调开销
分布式系统没有协调其成员的中心实体。因此,协调工作必须由本系统各节点自己进行。在分布式系统中协调节点之间的工作是具有挑战性的(这种挑战源自人类的劣根性渴望自由却又散漫,遇到强权又甘心臣服),并且会消耗额外的精力并且无法用于真正计算任务,影响计算能力,因此叫做术语协调开销。




12 通信开销
分布式系统中的节点协调需要沟通。因此,组成分布式系统的计算机必须彼此通信。这需要存在通信协议和发送、接收和消息的处理,这将会消耗额外的精力并且无法用于真正计算任务,影响计算能力,因此叫做术语通信开销。






13 依赖于网络
任何一种交流都需要媒介。媒体负责在相互通信的实体之间传输信息。分布式系统中的计算机通过网络传递的消息进行通信。网络有其自身的挑战和逆境,这些挑战和逆境反过来又影响构成分布式系统的计算机之间的通信和协调。但是,没有网络,就没有分布式系统,就没有通信,就没有节点之间的协调,就没有对网络的依赖。




14 更高的程序复杂性
解决计算问题需要编写程序和软件。由于前面提到的缺点,分布式系统中的任何软件都必须解决诸如网络的协调、通信和利用等额外的问题。这增加了软件编辑的复杂性。




16 安全问题
所有计算都需要在网络上进行通信意味着发送和共享对真正的计算任务至关重要的数据。然而,通过网络发送信息意味着安全问题,因为不可信的实体可能会滥用网络来访问和利用信息。因此,任何分布式系统都必须解决安全问题。对分布式节点所通信的网络访问限制越少,分布式系统的安全问题就越严重。




17 分布式对等网络系统
点对点网络是一种特殊的分布式系统。它们由单独的计算机(也称为节点)组成,这些计算机利用它们的计算资源(例如处理能力、存储容量、数据或网络带宽)可以直接提供给网络的所有其他成员,而不需要任何中心点的协调。网络中的计算机节点在系统中的权利和作用是平等的。此外,它们同时都是资源的供应者和消费者。
点对点系统有一些有趣的应用程序,比如文件共享、内容分发和隐私保护。这些应用程序大多利用一个简单但功能强大的想法:将用户的计算机转换为组成整个分布式系统的节点。因此,用户或客户使用软件越多,系统就会变得越强越大,资源也就会更丰富。




16 混合集中式和分布式系统
集中式和分布式系统是体系结构的对立面。在实际应用过程中,技术对映体总是能激发工程师们创造出一种混合系统,这种系统继承了他们“父辈”的力量。集中式和分布式系统也不例外。有两种组合这些对映体的典型方法,它们需要被理解,因为在学习实际世界中的区块链应用程序时,它们将变得非常重要。它们是分布式系统中的中心和中心内的分布式系统。
图2左侧的图形说明了在分布式系统中建立中心组件的体系结构。乍一看,这些组件似乎形成了一个分布式系统。然而,所有的圆都与位于中间的更大的圆相连。因此,这样一个系统只是表面上看起来是分布式的,但实际上它是一个集中的系统。



            


图2 混合分布式和集中式架构


图2右侧的图表说明了相反的方法。这样的系统乍一看似乎是一个集中式的系统,因为外围的所有圆只有一个与大型中心组件的直接连接。但是,中心组件包含一个分布式系统。外围组件甚至可能不知道位于中心组件中的分布式系统。
这两种混合系统的共同点是,很难确定它们的真正性质。它们是分布式的还是集中式的?可能没有必要给这些架构起唯一的名字。但是,必须指出它们的双重性质。这一点特别重要,因为可能不容易发现其中的中心性或分布式性质。稍后,当我讨论区块链商业化的方式时,我将回到这一点。




17 识别分布式系统
混合体系结构的出现使得清晰地识别分布式系统变得困难。制定一个普遍接受的分布式系统定义超出了本书的范围。然而,对于本书来说,了解分布式系统是什么以及它与其他软件系统有何不同是非常重要的。如果您对系统是否分布式存在疑问,请寻找能够终止整个系统的单个组件(例如,数据库、名称或用户注册表、登录或注销组件或紧急关闭按钮)。如果找到这样的组件,则考虑的系统不是分布式的。






■注意,如果存在一个单独的组件,例如一个可以关闭整个系统的开关按钮,则系统不是分布式的。






18 区块链的目的
在设计软件系统时,可以选择使用哪种架构风格,类似于为电脑选择CPU。体系结构决策可以独立于应用层的功能方面来完成。因此,可以在应用程序层上创建具有相同功能的分布式和集中式系统。当涉及到实现系统时,体系结构只是达到目的的一种手段。因此,如表4-1所示,支付系统可以实现为分布式系统或集中式系统。
这两种体系结构概念都有各自的优缺点和各自的具体做事方式。选择特定的体系结构对您将如何实现功能性和系统的非功能方面。特别是,这两个体系结构概念都有非常不同的方法来确保完整性。这是区块链进入图像的点。区块链是在分布式软件系统中实现完整性的工具。因此,它可以被看作是实现实现层非功能性方面的工具。




■注意,区块链的目的是实现和维护分布式系统的完整性。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:160
帖子:3
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP