风险提示:防范以虚拟货币/区块链名义进行的非法集资风险。 ——银保监会等五部门

25步教您玩转区块链第1步(中)--区块链背后的伟大愿景

白话区块链 2018-01-04 20:57:38
微信分享

扫码分享

今天我们将会带着大家第一次去了解区块链背后的伟大愿景,以及在这个伟大愿景中区块链处在什么位置。为了讲明白这件事,我们会介绍软件系统的两类基础架构,相信你早有耳闻:中心化与去中心化。最后,我们会用一句话指出区块链存在的意义。

作者:历史文章 / 来源:白话区块链

2017-08-04 张初阳&李晨 白话区块链

白话区块链,从入门到精通,看我就够了!

 

上期【25步教您玩转区块链】课程介绍了如何从分层与解构的角度了解区块链软件系统,这期大白将带您一起了解区块链背后的伟大愿景

 

1.2 区块链背后的伟大愿景

今天我们将会带着大家第一次去了解区块链背后的伟大愿景,以及在这个伟大愿景中区块链处在什么位置。为了讲明白这件事,我们会介绍软件系统的两类基础架构,相信你早有耳闻:中心化与去中心化。最后,我们会用一句话指出区块链存在的意义。

 

1.2.1 一个支付系统

 

我们沿用上一课对软件系统的分层解构方法,来对现代支付系统进行分层与解构:

看到表中的功能性实现层对应的问号了吗?我们故意将此留空,因为接下来我们将会告诉你,不止存在一种填写方法。

 

1.2.2 两种软件系统架构,中心化与去中心化

 

实现软件系统的方法有很多,然而实现一个系统时的基本性决定之一涉及它的体系架构,即软件组成部分的实体组织方式和实体之间的相互关系。

 

对于一个软件系统而言,存在两种截然不同的基础架构:中心化 vs. 去中心化。 

 

 

我们以上图为例,图中的小圆圈我们称为节点。

 

我们先不考虑节点之间都是如何相连以及配合工作的,把目光放到这两种软件系统架构下节点的组织形式上。

 

右图为中心化架构,此时系统具有一个中心节点,所有的其他节点与中心节点相连。可以发现除掉中心节点,此时没有任何两个节点两两直接相连。

 

左图为去中心化架构,此时系统没有任何中心化节点。可以发现,没有任何一个节点与其他所有节点相连,但是每个节点至少和一个其他节点直接相连。

 

1.2.3 去中心化系统的优势

 

  •  更强大的算力

通过扩大去中心化系统的规模,加入更多的计算节点,一个去中心化系统的算力甚至可以超过一台投资巨大的超级电脑。

 

  •  更低的开销

在过去的20年中,内存,cpu,显卡,硬盘的单位价格不断降低,只需要花费之前几分之一的价格,就能拥有一台数十倍于之前性能的电脑。

 

对于一个去中心化系统而言,一旦系统已经组建完毕,之后针对单个节点的维护成本将非常低廉。

 

  •  更高的可靠性

去中心化系统的可靠性建立在“整个去中心化的网络不会因为网络中的任何单个节点的崩溃而崩溃”的基础上。在一个去中心化的系统中,如果任何一个节点发生了故障,其他的节点可以第一时间接管故障节点的工作。

 

  •  自然成长的能力

在一个去中心化的系统中,我们可以通过不断接纳新的自然节点来扩充网络,这甚至可以让网络具有进化能力——使用更好的节点一点一点替换网络中的旧节点。这对于一个中心化的或者单一机器的系统而言,这是无法想象的。

 

1.2.4 去中心化系统的劣势

 

  • 节点间的冗余协作

去中心化系统没有中心节点来协调其他节点的工作,因此系统的协作管理要通过系统本身来完成,这就增加了节点之间的大量同步协作内容。相比中心化的系统而言,这些冗余的工作开销不容小觑。

 

  • 节点间的冗余通信

节点间的协作需要通信,而任何的通信都需要占用带宽和计算资源,不可避免的会出现冗余通信。

 

  • 对可靠网络的严重依赖

任意一对节点间的通信方式都需要依赖网络,而不同协议设计下的网络都有自己的缺点和挑战,不存在一个完美的通信网络。所以如果没有一个可靠的网络,去中心化系统将会无法工作。

 

  • 编程极度复杂

我们日常使用的所有应用都是通过在系统上进行编程来实现的,而去中心化系统本身的结构以及上面提及的三个劣势,意味着在一个去中心化系统上进行编程并不轻松,往往极度复杂。

 

  • 安全问题

安全是一个系统的奠基石。任何一个去中心化的系统由于存在多节点,此时系统面临的安全风险相比中心化系统要大得多。而一个去中心化系统的节点通信限制越小,对整个系统的安全性需求就越大。

 

1.2.5 混合中心化与去中心化

 

中心化与去中心化系统是两种系统架构设计的极端。在工程界,天才的工程师们经常会结合两者优点提出混合方案:

 

上图中提出了两种混合方案:

  • 左图:在去中心化系统中加入中心节点

  • 右图:在中心化系统中使用去中心化系统作为中心节点

 

那么如何区分一个系统是中心化还是去中心化的呢?大白告诉你,就一句话:

如果一个系统中存在一个节点,该节点的损坏会使得整个系统瘫痪,那么这个系统就是中心化的。

 

1.2.6 区块链的意义

 

回到本文一开始大白留空的表格,我们应该采用什么实现方法,来确保用户对一个支付系统的所有需求都能得到完美满足呢?答案是:使用区块链。

 

一个系统采用何种架构来实现,是基于对这个系统提出的要求来进行选择的。对于一个支付系统而言,使用去中心化的系统是最佳的实现方式。那么什么是最佳的去中心化的实现方式呢?答案还是:区块链

 

大白在这里先用一句话描述区块链在去中心化的系统中的作用:

满足并确保去中心化系统完整性的工具。

 

至于其他的,咱们下周五见!

 

作者 | 张初阳  李晨   

编辑 | WangMe

 

 

 

 

下期预告

下周五:大白课程 | 25步教您玩转区块链第1步(下)

——认识区块链的潜力

白话区块链

区块链世界入口第一站,人人都能看懂的区块链;24 小时热点实时追踪。