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