建立共识网络抵御攻击减少合谋,V神的“去中心化”结构、政治与(2)
现在,让我们来看看去中心化阻止攻击的能力。在一些纯粹的经济模型之中,有时候你会发现去中心化其实并不那么重要。如果你创建了一个协议,这个协议中只要发生51%的攻击,验证者就肯定会损失5000万美元,那么这个验证者是被一家公司还是一百家公司控制,其实已经不那么重要了。此时,5000万美元其实就是确保这个协议安全稳定运行的边际成本。事实上,根据博弈论的观点,中心化系统甚至可以最大化这种安全边际成本的概念(现有区块链的交易选择模型其实也反映出了这一观点,因为矿工和区块提议者将交易打包到区块链中,实际上也算是一种非常快速运转的独裁)。
但是,一旦你采用了更丰富的经济模型,特别是如果这个经济模型里存在胁迫的可能(或者稍微温和一点的:比如针对节点的DoS攻击),去中心化就会变得更加重要。如果你用生命来威胁一个人,那么5000万美元其实根本无关紧要。但是如果把5000万美元分散到十个人中,坏人如果要威胁勒索的话,就需要勒索威胁十个人,并且还要同时完成勒索这项“工作”。一般来说,现代社会里有一个特点就是攻击防御的不对称性,在这方面攻击者通常更有优势。举个例子,一栋价值1000万美元的高层建筑,摧毁它的成本可能还不到10万美元。不过,这种防御攻击的杠杆常常是次线性的,也就是说,如果花费1000万美元的建筑能够用10万美元的成本被摧毁,而100万美元的建筑可能需要3万美元的成本被摧毁,,最终,建筑成本更低的建筑可能需要更高的成本才能被摧毁。
这个推理能推出什么结论?首先,它强烈支持了权益证明机制,因为计算机硬件容易被监测、调节和攻击,同时数字代币相比于硬件设备更容易隐藏;其次,开发区块链技术的团队分布在世界各地是有道理的,分布的范围越广就越有利,包括地理位置分布;第三,这也意味着在设计共识协议的时候,需要同时考虑经济模型和容错模型。
3、抵制合谋
最后,我们也许可以谈谈可能是三个原因中最复杂的一个:抵制合谋。合谋本身其实很难界定,或许唯一真正有效的是一个简单的解释:合谋就是我们不喜欢的那种“协作”。在现实生活中,很多时候尽管每个人之间的完美协调是理想的状况,但是当某一组人可以协调,而别的组的人无法协调时,就会造成危险。
一个简单的例子就是反托拉斯法——反垄断法的目的,就是要在市场运行中设置监管障碍。为了让市场某一方的参与者难以走到一起,并形成垄断者的形式,以损害市场另一方和整体社会福利的代价来获得超额利润。
另一个例子是反积极协调规定,主要用在美国总统候选人和超级政治行动委员会上,防止在总统候选的时候互相勾结合谋。但是这些规则在实践证明中其实是很难执行的。
还有一些更小的例子,就是在某些国际象棋比赛的时候,会有一个规则用来防止两名特定棋手和对方进行多次比赛来帮助其中一名棋手获得更多积分。
所以你会发现,无论从何种角度去看,已经有很多试图防止复杂系统内出现勾结合谋问题的尝试了。
在区块链协议的案例中,共识安全背后的数学和经济原理通常非常依赖于非协调选择模型,或者基于“游戏是由许多独立作出决策的小型参与者组成的”这种假设。如果任何一个“玩家”在PoW系统中获得超过三分之一的采矿权,他们就可以通过私自采矿获得巨大利润。然而,当90%的比特币网络的挖矿力量已经协调到能够坐在一起开会的地步,我们还能说这种不协调的选择模式有存在的必要吗?
区块链的倡议者还指出,区块链的结构更安全,因为它的规则不能因为某人一时兴起就被更改。但这其实很难说,如果软件和协议的开发者都服务于同一家公司、同属于同一个家族、都在同一个办公大楼上班的话。总而言之,这些制度不应该像自私自利的单一垄断者那样行事。因此,你可以得出这样一个结论:如果区块链整体的协调更少的话,它是更安全的。
但是,这其中还存在着一个根本性矛盾。很多社区(包括以太坊)之所以存在,是因为它们拥有一个强大的社区精神,在执行、发布和激活硬分叉上拥有快速协调的优势,基本上能在六天内快速协调实施、发布和激活硬分叉以修复协议中拒绝服务的问题。但是,我们需要思考的问题是,应该如何去培育和改善这种良好的协调关系,同时,又要防范那些糟糕的协调关系,防止它们不小心演变成“互相勾结合谋”,比如,当矿工们试图通过互相合谋,反复进行51%的攻击,这时候该怎么办?
有三种方法回答上面这个问题:
不要尝试去减少勾结合谋,而是要去构建一个能够抵抗它的协议;
尝试找到一个令人满意的媒介,使协议有足够的协调关系,可以得到更好地发展前景,同时不会被轻易攻击;
尝试区分有益的协调和有害的协调,让前者更容易执行,让后者更难执行。
第一种方法是以太坊Casper设计理念的核心构成部分,仅它本身在很多方面是不够的,因为仅仅依靠经济学的方式是不能解决其他两种类型的去中心化问题的;