【每日一问】V神:去中心化的意义是什么?
摘要: “去中心化”作为加密领域里最重要的一个环节,看V神如何定义去中心化的概念,以及去中心化的意义究竟是什么?
链得得注:以太坊创始人Vitalik Buterin-V神,2017年初曾在Medium上发布了一篇关于去中心化的分析长文。在以太坊创始人眼中,去中心化对于区块链领域到底意味着什么?
V神从最基础的概念开始讨论分析,详述了什么是去中心化,以及去中心化的意义是什么。他认为从架构、逻辑、和政治这三个独立的维度进行分析,可以更好的理解去中心化的概念。在谈及去中心化的意义时,V神表示去中心化的意义也是区块链存在的优势,去中心化有较高的容错性,可以较高程度的阻止勾结和攻击......
以下是V神在Medium上公开发布的英文长文,经链得得App编译和整理:
在加密经济领域里,“去中心化”可能是使用最频繁的一个词汇。不仅如此,“去中心化”也被看做是区块链存在的原因。但同时,它又是定义最模糊的一个词。数千小时的研究、数十亿美元的哈希算力投入,目的都只有一个——实现“去中心化”,然后再不断保护它、优化它。每次当人们的争论遇到瓶颈,或是反对某个协议(以及协议扩展的时候,只需要称对方是“中心化”,就可以直接KO对方。
但是当我们想要了解“去中心化”这个词的真实意义时,往往又会带来很多混淆。比如,看看下面这三张图:
Quora论坛上有一个问题,分布式和去中心化有什么区别?这个问题有两个答案,第一个回答基本上撇开了上面的图,而第二个回答则提出了完全不同的主张,其中提到分布式的意思是指并不是所有交易处理都在同一个地方完成,而去中心化的意思是指没有一个独立实体可以控制所有的交易处理。同时,在以太坊社区给出的最佳答案中也出现了一个非常相似的图,只不过把两个注释“分布式”和“去中心化”交换了一下位子,所以,现在有必要做一下澄清说明。
去中心化的三种类型
当人们谈论软件去中心化的时候,他们实际上可能谈论的是三种不同维度的中心化/去中心化。在某些情况下,如果没有其他两个维度做参照,你可能很难发现其中一个就是去中心化的,而且这三种维度其实也是彼此独立的,他们分别是:
1、架构去中心化/中心化——一个系统由多少计算机组成?当这个系统运行的任意一个时间点里,能够忍受多少台计算机崩溃,同时确保系统不受影响?
2、政治去中心化/中心化——有多少个体或组织,对于组成系统的计算机拥有最终控制权?
3、逻辑去中心化/中心化——从系统设计的接口和数据结构角度来看,它更像是一个单一的整体对象,还是一个由无数个体单位组成的集群?一个简单的判断方法就是:如果你把这个系统切分成两部分,而且每个部分里都包含了生产者和消费者,那么这两部分能够作为独立单元完整地运转下去吗?
我们可以试着把这三个维度用图表的形式表现:
需要注意的是,上述图表中的展示位置比较粗糙且具有很大争议。但是,如果我们可以尝试逐个分析一下,或许对于理解用这三个维度来判断(去)中心化会有所帮助。
- 传统企业在政治上是中心化的(一个首席执行官),在企业架构上是中心化的(一个总部办公室),在逻辑上还是中心化的(无法把一个公司一分为二)。
- 大陆法依赖于一个中心化的立法机构,而普通法则是由许多个体法官根据先例制定做出的。大陆法仍然有一些架构去中心化,因为很多许多法院拥有很大自主立法权,而普通法的去中心化程度更高。但是,这两类法律在逻辑上都是中心化的(法律就是法律)。
- 语言在逻辑上是去中心化的。比如爱丽丝和鲍勃之间说的英语,以及查尔斯和大卫之间说的英语不需要完全一致。对于存在的语言而言,不需要任何中心化的基础设施作为支撑,而且英语的语法规则也不是由任何单一个人创造的,更不会受到哪个组织控制(世界语可能最初是由路德维希·柴门霍夫(Ludwig Zamenhof)发明的,但是现在它的功能更像是一个不断进化的生活化语言,而且不受任何权威机构控制)。
- 和英语一样,BitTorrent在逻辑上也是去中心化的。内容分发网络也是如此,但是他们都是由一家独立公司控制。
- 区块链在政治上是去中心的(没有人或组织可以控制区块链),在架构上也是去中心化的(没有一个非结构中央节点失败),但是在逻辑上确是中心化的(每个区块链网络都有一个共识,系统行为也像是一台独立计算机)。
许多时候,当人们谈论区块链优点时,他们都会描述拥有“一个中央数据库”的便利优势,中心化是合乎逻辑的中心化,而且这种中心化在很多情况下其实都挺好的(虽然IPFS的Juan Benet会尽可能地推动去中心化,但逻辑上去中心化系统往往在网络分区上有更强的生存能力。)
架构中心化通常会导致政治中心化,尽管不一定——因为即便是在民主化环境里,政治家也需要在一些实体管理机构内会晤并持有选票,但是这种管理体系并不会获得任何大规模的决策权力。在计算机系统里,如果一个网上社区为了方便而使用中心化论坛,都是基于广泛统一的社会契约之下的,如果论坛所有者恶意形式,那么论坛上的用户就会转移到其他论坛上。
逻辑中心化使得架构去中心化变得更加困难,但也并非不可能——看看去中心化共识如何被证明可行就知道了,但是相比于维护BitTorrent,难度可能会更大一些。逻辑中心化使得政治去中心化变得更加困难——在逻辑中心化的系统中,解决争端也更困难。
去中心化的意义
接下来的一个问题是,为什么去中心化这么重要?对于这个问题的答案,通常会有以下几个观点:
- 容错——去中心化系统很少会因为某个局部故障而导致整个系统崩溃,因为它依赖于很多独立工作的组件。
- 阻止攻击——想要攻击或操纵去中心系统的成本更高,因为他们基本上没有敏感薄弱的“中心弱点”,而中心化系统的攻击成本则要低得多。
- 抵制合谋——去中心化系统参与者们很难合谋勾结在一起,而对于传统企业和政府领导者而言,他们通常会为了自己的利益互相勾结,最终损害的是公民、客户、员工和广大人民。
上述这三点原因都是非常重要且有效的,如果你仔细思考的话,所有三个论点都会导致一些有趣但不同的结论。下面,就让我们逐一展开,仔细研究一下这三点。
1、容错
首先是容错,核心问题其实很简单。你觉得哪一种故障更容易出现:十台计算机中一台计算机出现故障,还是五台同时出现故障?这个问题的答案是没有意义的,在许多情况下其实也适用于现实生活,包括喷气发动机,备用发电机,特别是在医院,军事基础设施,金融投资组合多样化以及计算机网络等领域。
然而去中心化系统所具备的这种容错能力不仅有效而且非常重要,但在某些情况下,它甚至不如一个简单的数学模型显得有用。这里的问题在于一个所谓“共模故障”的原因。相比于一个喷气发动机,四个喷气发动机确实更不容易出现故障,但问题是,加入这四台喷气发动机都由同一家制造厂生产的,或者是由同一个不负责任的员工加工的,那么结果又会是什么样呢?
区块链是否能够设法防止共模故障出现呢?或许可以,但也或许不行。下面再让我们考虑以下几种情况:
- 区块链中所有节点都运行相同的客户端软件,并且该客户端软件已经被证明存在bug;
- 区块链中所有节点都运行相同的客户端软件,并且这个客户端软件的开发团队互相勾结合谋;
- 提议升级协议的研发团队互相勾结合谋,出现腐败;
- 在一个工作量证明区块链中,70%的矿工都来自于同一个国家,而这个国家政府以维护国家安全为理由把所有矿场都接管了;
- 大多数采矿硬件设备都是由同一家公司,而这家公司已经收到贿赂,而且还被强制部署了后门软件,会导致所有挖矿硬件设备可以被随意关闭;
- 在一个权益证明区块链中,70%的加密代币都是由同一个交易所持有。
如果从容错去中心化的整体观点来考量的话,会需要考虑所有这些方面,这些问题需要尽可能地被减到最小。一些自然的结论也非常明显:
- 拥有多个竞争关系是至关重要的;
- 对于协议升级背后的技术考量和认识必须要民主化,以便让更多人能够共同参与研究、讨论和批评一些有明显问题的协议变化;
- 核心开发人员和研究人员必须要来自多个不同公司或组织(或者,其中大多数都是志愿者);
- 挖矿算法必须要按照最低程度的中心化思路去设计;
- 理想情况下,我们使用POS摆脱硬件中心化风险(尽管我们也应该谨慎对待由于股权证明而出现的新风险)。
值得注意的是,当我们处理初级阶段的容错要求时,往往会侧重于架构去中心化。不过,一旦你开始考虑更长远的系统升级和发展时的容错性,那么政治去中心化也是非常重要的。
2、阻止攻击
现在,让我们来看看去中心化阻止攻击的能力。在一些纯粹的经济模型之中,去中心化其实并不那么重要。如果你创建了一个协议,只要发生51%的攻击,验证者就肯定会损失5000万美元,那么这个验证者是被一家公司,还是被一百家公司控制都已经不那么重要了。此时,5000万美元其实就是确保这个协议安全稳定运行的边际成本。事实上,根据博弈论的观点,中心化系统甚至可以最大化这种安全边际成本的概念(现有区块链的交易选择模型其实也反映出了这一观点,因为矿工和区块提议者将交易打包到区块链中,实际上也算是一种非常快速运转的独裁过程)。
但是,一旦你采用了更丰富的经济模型,特别是如果这个经济模型里存在胁迫的可能(或者出现稍微温和一点的事情:比如针对节点的DoS攻击),去中心化就会变得更加重要。如果你威胁到一个人的生命安全,那么5000万美元对他们来说就不像之前那么重要了。但是如果把5000万美元分散到十个人中,那么坏人如果要威胁勒索的话,就需要勒索威胁十个人,并且还要同时完成勒索这项“工作”。一般来说,现代社会里有一个特点就是攻击防御的不对称性,在这方面攻击者通常更有优势。举个例子,一栋价值1000万美元的高层建筑,摧毁它的成本可能还不到10万美元。不过,这种防御攻击的杠杆常常是次线性的,也就是说,如果花费1000万美元的建筑能够用10万美元的成本被摧毁,而100万美元的建筑可能需要3万美元的成本被摧毁,最终,建筑成本更低的建筑可能需要更高的成本才能被摧毁。
这个推理导致了什么问题?首先,尽管支持工作量证明,但权益证明机制更加安全,因为计算机硬件容易被监测、调节和攻击,而数字代币相比于硬件设备更容易隐藏;其次,开发区块链技术的团队可以分布在世界各地,分布的范围越广就越有利,包括地理位置分布;第三,这也意味着在设计共识协议的时候,需要同时考虑经济模型和容错模型。
3、抵制合谋
最后,我们也许可以谈谈可能是三个原因中最复杂的一个:抵制合谋。合谋本身其实很难界定,或许唯一真正有效的方法就是给出一个简单的共识:合谋就是一种每个人都不喜欢的协调方式。在现实生活中的很多情况,尽管每个人之间的完美协调都是理想的,但是当某一组人可以协调,而其他人无法协调,此时就会非常危险了。
一个简单的例子就是反托拉斯法——为了让市场一方的参与者更加难以走到一起,并且像垄断者一样形式,并损害另一方市场和一般社会福利来获得超额利润。反垄断法的目的,就是要在市场运行中设置监管障碍。
另一个例子是反积极协调规定,主要用在美国总统候选人和超级政治行动委员会上,防止在总统候选的时候互相勾结合谋。但是这些规则在实践证明中其实是很难被执行的。
还有一些更小一些得例子,就是在某些国际相继比赛的时候,会有一个规则,用来防止两名棋手互相和对方进行比赛来试图帮助其中一名棋手获得更多积分。
所以你会发现,无论从何种角度去看,试图防止复杂系统内出现勾结合谋问题的尝试已经很多了。
在区块链协议的情况下,共识安全背后的数学和经济推理通常非常依赖于非协调选择模型,或者假设“游戏”是由许多独立作出决策的小型参与者组成的。如果任何一个“玩家”在工作证明系统中获得超过三分之一的采矿权,他们就可以通过私自采矿获得巨大利润。然而,我们真的可以说,当90%的比特币网络的挖矿能力足够协调,这种不协调的选择模式还有存在的必要吗?
区块链的倡议者还指出,区块链的结构更安全,因为它们不能随意更改规则。但如果软件和协议的开发者都服务于同一家公司、同属于同一个家族、都在同一个办公大楼上班,这种情况下其实是很难防范的。总而言之,这些制度不应该像自私自利的单一垄断者那样行事。因此,如果区块链更加不协调的话,每个人都可以提出让区块链更安全的要求。
但是,这其中还存在着一个根本性矛盾。很多社区(包括以太坊)之所以存在,是因为它们拥有一个强大的社区精神,在执行、发布和激活硬分叉上拥有快速协调的优势,基本上能在6天内快速协调实施、发布和激活硬分叉以修复协议中拒绝服务的问题。但是,我们需要思考的问题是,应该如何去培育和改善这种良好的协调关系,同时,又要防范那些糟糕的协调关系,防止它们不小心演变成“互相勾结合谋” ,比如,当矿工们试图通过互相合谋,反复进行51%的攻击,这时候该怎么办?
实际上,有三种方法可以回答上面这个问题:
- 不要尝试去减少勾结合谋,而是要去构建一个能够抵抗它的协议;
- 尝试找到一个令人满意的媒介,是协议有足够的协调关系,继而让协议更好地发展前景,而且也不会被轻易攻击;
- 尝试区分有益的协调和有害的协调,然后让前者更容易执行,让后者更难实现。
第一种方法,其实就是构成了以太坊Casper设计理念,但它本身在很多方面是不够的,因为仅仅依靠经济学的方式是不能解决去中心化的其他两种类型的问题;第二个是很难以明确设计的,特别是从长远来看,确实也会经常发生意外。比如,比特币的核心开发人员一般说英语,而矿工一般说中文,这样导致在无意中创造出了一种类似“两院制”的治理机制,一方面它让彼此之间的勾结变得很困难,另一方面则减少了共模故障的风险,因为英语和华人社区由于距离和交流困难而至少会有所分开,因此不太可能犯同样的错误。
第三个是一个社会挑战,解决方案可能包括:
- 社会干预措施,提升参与者对整个区块链社区的忠诚度,以取代或遏制市场其他参与者对彼此产生直接忠诚度影响的可能性;
- 在同一背景下,促进不同市场参与者进行沟通,以减少验证者、开发人员获矿工开始审视自己是某一“阶层”。这样的话,他们也就不会为了保护自己对其他“阶层”的利益,而对抗其他“阶层”;
- 在设计协议的时候,可以减少验证者和矿工参与“一对一特殊关系”的激烈,同样也要避免出现中心化中继网络和其他类似的超级协议机制;
- 明确规范协议应具备的基本属性,以及不应该做什么类型的事情,或者,哪些事情只有应该在非常极端的情况下才能做。
权力去中心化可能是最难实现的,因此出现一些权衡也是不可避免的。也许最好的解决方案,可能就是要依赖于去中心化程度最高的一个群体:协议用户。
(译稿首发链得得APP,综合自Medium。编辑/柴利君,翻译/Chaindder)
大都会升级快了吧
V神是一边唱衰一边唱好。
牛啊这文章