V神:你所理解的“去中心化”不一定准确

image

“去中心化”被视为区块链存在的核心意义,但它也许是定义最不明确的一个词。

我们花费了数千小时的时间,耗费了上亿美元的哈希算力,就是为了实现网络的去中心化。当我们讨论某个区块链网络好不好时,只需简单说一句“这个不是去中心化的”,似乎就能轻松赢得争论。

但是实际上,很多人对“去中心化”这个词的真正意义并没有那么了解。

经常有人拿下面这组图来解释去中心化,但我想说,这张图完全没用。

image

在软件世界里,可以用三个维度来判断“中心化”和“去中心化”。

1

去中心化的三个维度

架构层:一个系统由多少台计算机组成?在系统运行时,能够承受多少台计算机同时崩溃,而系统不受影响?

政治层:在这个系统中,有多少个人或组织拥有计算机的最终控制权?

逻辑层:这个系统的界面和数据结构所呈现出来的,更像一台完整的单一设备,还是更像一个由无数不固定的单位组成的集群?简单来说:如果把一个系统分成两部分,每部分都包含供应商和用户,那么这两部分能单独作为独立系统运行下去吗?

把这三个维度画在一张表里,可能会更清楚:

image

需要说明的是,这些维度现在的排放位置可能还比较粗糙,也存在很多争议,但我们仍然可以看一些例子,来帮助我们更好的理解这三个维度。

公司:传统公司在政治层、架构层、逻辑层上都是中心化的(只有一个CEO、一个总部、并且不能把它分成两半)。

法律:现代法律体系分为大陆法和普通法,大陆法依赖于一个中心化的立法机构制定,而普通法是由许多法官依靠先例来制定的。由于现在很多法院享有自由立法权,因此大陆法有一小部分是去中心化的,对比大陆法,普通法的去中心化程度更高。但在逻辑上,两者都是中心化的(法律就是法律)。

语言:语言在逻辑上是去中心化的,Alice和Bob所讲的英语,不需要和Amy与Tony讲的英语一致。没有任何一种语言的存在需要中心化的基础设施或机构做支撑,同时英语的语法规则也不是由某个人创造和掌控的。

BitTorrent网络:和英语一样,BitTorrent在逻辑上也是去中心化的,内容分发网络也是这样,但它们都受某家公司的控制。

区块链:区块链在三个维度上都是去中心化的,因为在政治层,没有任何单一个体来掌控它;在架构上,没有一个统一的服务器;在逻辑上,每个网络中都有一个统一的共识协议,系统的整体行为表现又像一台单独的计算机。

看过英文版区块链介绍资料的老铁可能会说,在英语中,每当说到区块链的优势时,很多人都会说它是“one centra database(一个中央数据库)”,区块链不是去中心化的吗?为什么又说它是中央的数据库呢?

其实不然,“中央数据库”的“中心化”是逻辑上的中心化。在多数情况下,逻辑上的中心化其实是比较好的选择。当然也有人主张,逻辑上也要尽可能地去中心化,因为逻辑层去中心化的系统,在网络连接较差的地区,能运行的更好。

2

为什么需要去中心化

接下来的问题是,我们为什么需要去中心化?它有什么作用呢?主要有三个方面的原因

  • 容错性较强:去中心化的系统不太可能因为某个意外故障而停止运行,因为它们依赖于许多分散化的组件运行,容错能力更强。

  • 抗攻击性较好:从经济意义上来说,攻击去中心化系统的成本比中心化系统的成本要高得多,这就好比你摧毁一座房子和摧毁一座城市的差别。

  • 抗合谋性较好:去中心化系统里的参与者们,为了自身利益而相互串通勾结,是非常困难的。而传统企业和政府里的高层管理者,往往会为了自身利益,以损害公众、员工、下属的利益的方式,相互勾结。

这三点是“去中心化”系统非常重要的优势和特性,让我们来逐一详细的了解一下。

容错性

容错性的核心概念其实很简单。一台计算机出现故障的概率和十台中的五台出现故障的概率相比,哪个更大?显然是前者。就好比10个鸡蛋集中装在一个篮子里的风险比分开装在10个篮子里,摔碎的风险更大。所以去中心化也是分散风险的一种方式。这种概念在现实生活中得到广泛应用,如喷气发动机、备用发电机,以及医院、军事的基础设施、金融组合投资、计算机网络等。

去中心化的容错能力虽然很有效、很重要,但远没有数学模型来得有用,原因在于有“共模故障”。四个发动机同时出故障的概率确实比一台发动机出故障的概率低,但如果这四台发动机都是同一个工厂制作的,并且在制作时存在同一个缺陷,又会怎样呢?这就是共模故障。

区块链能够防止共模故障吗?*不一定,我们可以看几个例子*

  • 区块链上所有的节点都在同一个客户端软件中运行,每个软件都不是100%完美的,都可能存在bug。

  • 供区块链节点运行的客户端软件,是人为开发的,开发团队中可能存在相互勾结串联,行贪腐之事。

  • 在以“工作量证明”为共识机制的区块链中,70%的矿工是在同一个城市,可能存在政府为了国家安全而对矿场进行管制的风险。

  • 大多数挖矿设备都是由同一家公司生产的,这家公司可能会为了自身利益,被贿赂或被威胁,在挖矿设备上做个手脚,使得这些挖矿设备可以随意被关停。

  • 在以“权益证明”为共识机制的区块链中,可能70%的币由同一家交易所持有。

很显然,将上面这些问题最小化,才能保证去中心化系统的容错性。

但怎么才能将这些问题最小化呢?*下面有一些建议*

  • 尽可能地保持多方竞争关系,协议升级必须是民主化的,这样才能让更多的人参与研究、讨论和改进协议。

  • 核心开发者和研究人员应该由多个公司和组织的雇员组成(或者,他们中的一些人可以是志愿者)。

  • 挖矿算法应该以将中心化风险降到最低程度的思路来设计。

  • 理想情况下,“权益证明”机制可以摆脱硬件设备中心化的风险。(当然,权益证明也会带来新的风险)

  • 值得注意的是,初级容错能力关注的往往是架构层面的去中心化,但当考虑一个系统长远发展时的容错能力,政治层面的去中心化更为重要。

抗攻击性

在某些纯经济模型中,你会发现去中心化根本不重要。如果你创建一个协议,协议规定“一旦发生51%攻击,验证者就会损失5000万美元”,那么验证者是被一家公司控制还是一百家公司控制,就无关紧要了。5000万美元是保证这个协议安全的边际成本。

但如果在一个“富经济模型”中,尤其是这个模型存在威胁的可能性(或者说针对节点的目标DOS攻击),去中心化就变得非常重要。如果你用一个人的生命安全来威胁他,5000万美元对这个人来说就不再重要了,你可以很容易的勒索走5000万美元。但如果是10个人分散持有5000万美元的话,你要想获得这笔钱,就必须分别同时威胁勒索这10个人,风险也就翻了10倍。

但在现实世界中,有一个特点,就是大部分情况下,攻击和防御并不对等,攻击者往往更有力。比如一栋造价1000万美元的大楼,可能只需要10万美元就能把它摧毁(费率是1%),摧毁100万美元的大楼则需要3万美元(费率是3%),再往下,造价越低的大楼,摧毁的费率会越高。

这说明什么?

首先,权益证明比工作量证明更优越,因为在PoW机制下,挖矿的硬件很容易被监测、掌控和攻击。其次,区块链开发团队分布的越广泛(包括地理位置的分布),系统就越安全。最后,在设计共识协议时,经济模型和容错模型都需要考虑进去。

抗合谋性

最后,我们终于可以讨论三个当中最复杂,听起来也最别扭的的一个了:抗合谋性。合谋这个词本身就很难定义,简单点解释,合谋就是大部分诚实的人“不喜欢的合作方式”。在很多情况下,当一部分人能够完美的协调合作,而另一部分人不能时,情况就变得危险了。

比如,反垄断法就是一个例子,为了防止市场参与者联合起来,实施垄断,损害消费者和社会福利,反垄断法就故意设置障碍以阻止他们。

在区块链中,共识安全背后的数学和经济模型也依赖这种“非协调选择模型”,换句话说,就是避免节点之间相互协调合作,也可以说它是建立在每个节点都能独立做决定的假设之上的。

区块链的拥护者们都认为区块链很安全,因为没有人能够随心所欲地改变协议规则,但如果区块链软件和协议的开发团队都来自同一个公司,在同一个办公大楼上班,那么区块链就没那么安全了。因此,如果一个区块链网络更分散,为之工作的人很难相互串通勾结,那它就更安全。

但这也揭示了一个根本性矛盾,很多社区,包括以太坊,都希望有一个强有力的社区精神,并能够快速协调工作。所以我们要怎样才能在拥有良好的协调关系下,又能够防止开发者们相互合谋,实施欺诈呢?

要解决这个问题,有三种途径

  • 别阻止协调合作,试着用协议规则来阻止勾结合谋。这也是以太坊Casper 机制设计的指导思想。但只有这一点是不够的,因为经济学并不能完全解决去中心化的其它两类问题。

  • 试着找到一个平衡点,使得合作能够有利于协议的发展,而同时又不会演变成合谋关系。这种方法很难明确设计,但它经常会有一些“小意外”产生。举个例子,比特币社区的核心开发者通常说英语,而矿工通常说中文,这可以说是一个“惊喜的意外”了,因为它无意中创造了“两院制”的治理机制。因为中文社区和英文社区沟通困难,减少了他们相互勾结的可能性,也减少了共模故障的风险。

  • 建立一个区分“有益的合作”和“有害的合作”的标准,然后想办法让前者变得更容易,后者更难实现。

这种方法包含一个社会学挑战,它需要做到以下几点:

制定一个干预措施,提高参与者对整个区块链社区忠诚度,减少参与者彼此间的忠诚度;

促进不同市场的参与者在同样的语境下进行沟通,这样就能减少同一阶层的参与者联合起来对抗其它阶层的可能性;

在设计协议时,减少验证者和矿工形成“一对一关系”的可能性,或者避免形成中心化的中继网络和其它类似的超级协议机制;

协议应该明确规定哪些事情不能做,哪些事情只有在非常极端的情况下才能做。

抗合谋的去中心化可能是最难实现的,因此我们要做一些权衡取舍,或许最好的方法是依赖一个能够保证去中心化的群体(即协议上的用户)。

本文来源:万向区块链

本文翻译自Vitalik Buterin的博文《The Meaning of Decentralization》

以下是我们的社区介绍,欢迎各种合作、交流、学习:)

image

猜你喜欢

转载自blog.csdn.net/hiblock/article/details/80024333
今日推荐