再看EOS之三:中心化问题

前文简述了EOS所采用的DPoS机制,EOS的DPoS需要21个超级节点来处理网络所有的交易,相对于比特币、以太坊网络全部节点参与交易验证的环节,EOS无疑效率更高。对EOS项目已有的共识是——这是一个低中心化或者说是半中心化的项目,本文我主要分享一些自己对EOS中心化问题的浅见。

Vatalik有一篇关于去中心化的文章The Meaning of Decentralization,在谈到软件的去中心化时,他提出了三个维度:架构层、政治层及逻辑层。

架构层指的是一个系统由多少计算机组成,在系统运行中,可以忍受多少计算机的崩溃而系统依然不受影响;政治层指的是有多少个人或组织对组成系统的计算机拥有最终的控制权;逻辑层指的是系统设计的接口和数据结构是否可以支持网络分割,每一个分割后的子网络是否还能继续独立完整地运行下去。

如果按此标准来看EOS项目,显然在架构层及逻辑层方面EOS并不具备这些特性,所以我相信Dan在软件的去中心化理念上与Vatalik是不同的,亦或他认同这种理念但刻意选择了某种程度的牺牲。

Vatalik的设计思想决定了他在解决规模化问题的思路上(如sharding)依然会满足上述的标准。架构层方面,sharding对所有节点进行分组,但任意节点的崩溃依然不影响网络的正常运行;逻辑层上每一个shard都是一个子网络,可以独立运行。更多关于sharding的内容可参见以太坊sharding以太坊Vatalik发布的sharding PoC

Dan的每一个项目都采用了DPoS,无论是Bitshares的17个节点(现在增加至27个)还是Steem的20个节点。有人为比特币、以太坊及这两个项目画了去中心化的分布图,以此判定DPoS模式优于比特币和以太坊PoW机制下的矿池中心化。我不敢认同。

从饼状图上的确可以明显的看出Bitshares和Steem项目记账节点均匀分布的特性,这与其记账周期并不是比拼算力,而是轮流记账的模式相吻合。但这并不代表它是去中心的。这就好比多个矿池可能隶属于同一家公司一样,多个代表也可能是被同一个利益群体选举出来的。所以,如果只是从这张图来看,我认为它只是中心化的均匀分布而已。

EOS网络有明确的21个超级节点可以作为攻击目标,一旦攻击成功便能影响区块交易的正常记账。当然,成功的攻击一两个节点不会对整个系统的运行造成太大的影响,但如果可以攻击超过1/3的节点数(7个)便可有效降低系统的效率并造成区块无法最终确认的可能。

我们知道,DPoS的选举权与记账权是分开的。所有拥有token的人都可以参与选举,但因为权重的关系,选举出来的代表将更倾向于拥有更多token的人的代言人,换句话说,他可以是某个具备相当实力的财团推举出来的代表,而一众散户对代表的选举结果影响力微乎其微。所以,DPoS也是网络中“权贵”的游戏。

记账的代表只是前台的执行者,真正的控制者是其背后的财团(token holders)。依据DPoS选举的原理,理论上这些财团可以选举出多个代表,同时可以随时在记账权轮次更换时通过投票撤换代表。从网络安全性的角度,PoW通过高昂的攻击网络成本并奖励正直的记账来维持网络的安全性(存在51%攻击的问题,需要攻击者联盟掌控网络超过半数的算力)。DPoS理论上存在34%攻击的可能性,即攻击者联盟在拥有超过1/3的token数量情况下,可以对系统构成严重威胁。

EOS网络对恶意作为的惩罚是代表失去记账权并区块记账收入以及部署节点的成本。失去记账权前文已经说了,系统惩罚的对象是记账代表,而想作恶的财团token数并没有任何损失,可以继续通过选举他们的“代言人”作为代表入围。记账收入的损失为每个区块11美金(这里以当前EOS价格计算),一个记账周期的潜在损失是66美金。部署节点的成本相较前两者要大很多,具体数值目前还不太容易估算。

相互勾结则是超级节点之间可能相互协调,进而有可能形成一个集团垄断体,虽然表象上还是分散的节点,但因为利益诉求趋同而形成实际上的权力集中化。

任何机制都很难完全杜绝恶意行为及相互利益勾结,就是现实社会中有法律约束依然不能。尤其是后者的利益勾结,系统很难界定这是一种恶意行为。EOS如何设计来尽可能的避免此类情况的发生,让我们拭目以待。

 *本文为作者原创,转载请注明出处