区块链每天三分钟:“去中心化” 到底是什么意思?
前两堂课我们介绍了区块链的起源和三个主要特点,今天接着回答大家最关心的一个问题:“去中心化”到底是什么意思?
这里我想用一个简单的例子来说明。认识崔哥的人都知道,崔哥是个乒乓球迷, 前些年在日本工作的时候,每年我都会在单位组织“富士杯”,中日选手汇聚一堂,切磋球技,相当热闹。现在回到北京,我还是每周带同事们去附近的乒乓球馆打球,偶尔还给小朋友们做做教练。
只要有乒乓球比赛,就涉及到记分问题。假设在第一届“区块链”杯乒乓球赛上,有两组选手捉对厮杀。崔哥对战的是乒坛老将张继科(请允许我给自己贴金一下
在比赛过程中,如何记录这四组的比分呢?按照传统方式,我们需要有个集中的大赛组委会,他们负责记录每场比赛的结果。这,就是“中心化”的记分方式。
但是如果我们没有足够的人手来做大赛主委会,又不希望任何一组选手遗忘或者修改比分(譬如崔哥给张继科打急了想出了篡改比分的歪招),那么怎么办呢?
我们决定采取另外一种办法,就是每组选手负责记录自己的比分,同时还记录所有其他人的比分结果。这也就是说,每个选手都要记录四个人的结果:
崔哥
张继科
张怡宁
福原爱
这样,同样的比分,相当于在每个选手那里有一个备份。这,就是“分布式”的记分方法。这样,如果崔哥想要修改自己的比赛结果,我不仅要修改自己的记录,还有修改另外三个人的记录。两桌还好说,如果有成百上千桌,这个工作量就非常可观了。
再拿这个例子与区块链做对比,可以把其中的一些概念对应起来:
乒乓球赛 | 区块链 |
选手 | 用户 |
积分 | 账本 |
比赛 | 交易 |
组委会 | “中心化” |
选手单独记账 | “去中心化” |
简单来说,外人看起来高大上、深不可测的“去中心化”记账,探究其根本,就是这么回事。当然,这里面涉及到很多很多很多细枝末节的算法和技术,以后我们还会慢慢介绍。
为什么区块链要采取这样的方法?它的设计目标就是防止出现居于中心地位的管理当局。否则一旦大公司大集团控制了管理权,他们就会控制整个平台,其他使用者就都必须听命于他们了。同样以乒乓球赛而言,如果有组委会管理所有结果,那么万一组委会中有刻意偏袒、徇私的人,选手们只能乖乖就范。
最后,再用技术语言概括一下“去中心化”记账的特点:
分布式存储,通过多地备份,制造数据冗余
让所有人都有能力都去维护共同一份数据库
让所有人都有能力彼此监督维护数据库的行为
崔哥最近在Gitchat上开了一门课,叫做“从零开始帮助您用 Python 打造自己的区块链”, 如果你想要更快地掌握区块链的核心算法,欢迎扫描下方二维码,或者点击“阅读全文”,关注这门课,也可以进我的读者聊天室,实时给崔哥发消息。