通过乒乓球比赛,学习区块链的“去中心化”

前两堂课我们介绍了区块链的起源和三个主要特点,今天接着回答大家最关心的一个问题:“去中心化”到底是什么意思?

这里我想用一个简单的例子来说明。认识崔哥的人都知道,崔哥是个乒乓球迷, 前些年在日本工作的时候,每年我都会在单位组织“富士杯”,中日选手汇聚一堂,切磋球技,相当热闹。现在回到北京,我还是每周带同事们去附近的乒乓球馆打球,偶尔还给小朋友们做做教练。

只要有乒乓球比赛,就涉及到记分问题。假设在第一届“区块链”杯乒乓球赛上,有两组选手捉对厮杀。崔哥对战的是乒坛老将张继科(请允许我给自己贴金一下),隔壁桌则是张怡宁对福原爱。

这里写图片描述

在比赛过程中,如何记录这四组的比分呢?按照传统方式,我们需要有个集中的大赛组委会,他们负责记录每场比赛的结果。这,就是“中心化”的记分方式。

但是如果我们没有足够的人手来做大赛主委会,又不希望任何一组选手遗忘或者修改比分(譬如崔哥给张继科打急了想出了篡改比分的歪招),那么怎么办呢?

我们决定采取另外一种办法,就是每组选手负责记录自己的比分,同时还记录所有其他人的比分结果。这也就是说,每个选手都要记录四个人的结果:

  • 崔哥
  • 张继科
  • 张怡宁
  • 福原爱

这样,同样的比分,相当于在每个选手那里有一个备份。这,就是“分布式”的记分方法。这样,如果崔哥想要修改自己的比赛结果,我不仅要修改自己的记录,还有修改另外三个人的记录。两桌还好说,如果有成百上千桌,这个工作量就非常可观了。

再拿这个例子与区块链做对比,可以把其中的一些概念对应起来:

乒乓球赛—-区块链
选手—-用户
积分—-账本
比赛—-交易
组委会—-“中心化”
选手单独记账—-“去中心化”

为什么区块链要采取这样的方法?它的设计目标就是防止出现居于中心地位的管理当局。否则一旦大公司大集团控制了管理权,他们就会控制整个平台,其他使用者就都必须听命于他们了。同样以乒乓球赛而言,如果有组委会管理所有结果,那么万一组委会中有刻意偏袒、徇私的人,选手们只能乖乖就范。

最后,再用技术语言概括一下“去中心化”记账的特点:

分布式存储,通过多地备份,制造数据冗余

让所有人都有能力都去维护共同一份数据库

让所有人都有能力彼此监督维护数据库的行为

崔哥最近在Gitchat上开了一门课,叫做“从零开始帮助您用 Python 打造自己的区块链”, 如果你想要更快地掌握区块链的核心算法,欢迎扫描下方二维码,或者点击“阅读全文”,关注这门课,也可以进我的读者聊天室,实时给崔哥发消息。
这里写图片描述

或者,也请使用我的Chat快问,随时提问:
这里写图片描述

也欢迎大家关注我的公众号“崔哥看世界”:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41978708/article/details/80265648