比特币和以太坊,相对于它们的替代品而言,两者的最大的优势被广泛理解为去中心化。然而,尽管这一特性的重要性得到了广泛承认,但大多数关于这一话题的讨论都缺乏量化。如果我们能够达成一种测定协议,我们就可以:
测量出给定区块链系统的去中心化程度;
确定给定系统的修改,会对去中心化程度造成多少改进或者减损;
设计优化算法和体系结构来最大化去中心化程度;
在这篇文章中,我们提出了最小值中本聪系数( minimum Nakamoto coefficient),以此作为一个简单的系统去中心化数量测度,测量方法受到了著名的基尼系数以及洛伦兹曲线的启发。
其基本思想是(a)列举去中心化系统的基本子系统,(b)确定需要多少实体来控制每个子系统,(c)然后使用这些当中的最小值,作为系统去中心化的衡量方式。这个最小值中本聪系数的值越高,说明系统的去中心化程度越高。
为了让大家更好地理解这个定义,我们首先给出基尼系数以及洛伦兹曲线相关概念的一些背景,然后给出一些图形以及计算,根据这些度量来查看加密货币生态系统当中的去中心化情况。然后我们讨论这种去中心化测量概念,作为衡量比特币和以太坊的基本子系统的综合测量。我们最终会将这个最小值中本聪系数作为衡量广泛区块链系统的去中心化程度的方法,并讨论改进这个系数的方法。
洛伦兹曲线 和基尼系数
尽管两者通常关注的是不同的政治派别,但在“过于不平等”以及“过于中心化”的概念之间有着惊人的相似之处。具体来说,我们可以认为财富分配的不均匀性是高度不平等的,权力的非均匀分配则是高度集中的。
经济学家们早就在使用这两种工具来测量人口的分布不均匀:劳伦兹曲线 和基尼系数。洛伦兹曲线的基本概念如下图所示:
上图中的洛伦兹曲线为红线部分。基尼系数则是从0增加到1.图来自Matthew John 。
基尼系数的方程如下所示:
直观地说,资源分布越均匀,基尼系数越接近于零。反之,资源分配越倾向于一方,基尼系统就越接近于1 。
对此,我们提出:在一个高度集中的 G=1的中心化系统当中,只有一个决策者或实体能够决定系统的走向,相反,在一个高度去中心化的G=0的系统当中,就会有很多的参与者能共同决定系统的发展。因此,低基尼系数意味着高的去中心化程度。
加密货币:基尼系数以及洛伦兹曲线
为了让大家直观地了解这两种概念,让我们先查看洛伦兹曲线以及基尼系数的一个简单例子:加密货币市值的财富分布。为此,我们采用了2017年7月15日市场top 100的数字货币市值快照,计算每个币种的市场占有率,并用它作为一个与基尼系数相关的洛伦兹曲线:
(来源:https://coinmarketcap.com)
如果我们衡量市值top 100的加密货币市场资本总值中心化程度,那么它的基尼系数为0.91。这符合我们的看法,2017年7月份当中,加密货币市场的总市值当中有70%是被两大加密货币所占据的,它们就是比特币和以太坊。
去中心化系统是由子系统组成的
为了让这个概念应用到公链领域,我们需要区分出一个去中心化系统和一个去中心化子系统之间的区别。具体而言,去中心化系统(例如比特币)是由一组去中心化子系统(如挖矿、交易所、节点、开发人员、客户端等等)组成的。
下面是构成比特币的六个子系统:
我们将利用这六个子系统来说明如何衡量比特币或以太坊的去中心化程度。请注意:你可以决定使用不同的子系统,这取决于你所认为的,对于整个系统的去中心化程度至关重要的子系统。
现在,有些人可能会争辩说,去中心化子系统的选择是一个问题;例如,挖矿对比特币而言是绝对必要的,而交易所实际上并不是比特币协议的一部分,但它们也是非常重要的。
让我们假设,一个给定的个体能够确定一个去中心化系统的基本去中心化子系统。然后,我们可以规定,如果一个人可以危及任何一个基本的去中心化子系统,那么他就可以危及这个去中心化系统。
量化比特币和以太坊的去中心化程度
根据这些定义,现在让我们计算出比特币以及以太坊的挖矿、客户端、开发者、交易所、节点以及所有者子系统的洛伦兹曲线以及基尼系数。然后根据基尼系数以及洛伦兹曲线的测度,我们就可以看出各自的中心化程度。
下面是比特币的洛伦兹曲线:
下面是以太坊的洛伦兹曲线:
让我们依次参照上述图形中的6个面板来讨论这些子系统。
矿业去中心化
如图片左上角的面板所示,通过测量过去24小时的区块奖励,我们看到比特币挖矿的去中心化程度是惊人的。以太坊挖矿则相对较为集中。这些值会有相当高的变动,所以我们可以通过取过去7天或30天的平均值来跟踪它。
客户端去中心化
正如图片的中上角面板所示,大多数比特币用户使用的是Bitcoin Core客户端,Bitcoin Unlimited则是第二流行的客户端。这意味着比特币的客户端代码中心化程度相当高,基尼系数达到了0.92。相比之下,有76%的用户运行了geth客户端,另有16%的用户使用的Parity客户端,以太坊的客户端基尼系数也达到了0.92,这两大代码库占到了生态系统的大部分。
开发者去中心化
在右上角面板中,我们可以看到Bitcoin Core客户端有很多的工程师在提交代码共享。虽然提交参数对于贡献衡量标准来说肯定是不精确的,定向来看,少部分的工程师对Bitcoin Core的代码工作做出了绝大部分的贡献。对于以太坊的 geth客户端,其开发则显得更为集中,只有两名开发者在做客户端的代码工作。
交易所去中心化
比特币和以太坊在各大交易所的交易量有很大的差异,正如相应的基尼系数。但我们通过过去24小时的快照计算了基尼系数,以便在左下面板中说明。
节点去中心化
比特币和以太坊的去中心化程度的另一度量(底部中间面板)是确定各自节点的分布情况。
所有权去中心化
面板的右下角,我们将对比比特币及以太币的所有权去中心化程度,方法是通过地址。
取基尼系数最大值:一种简陋的区块链去中心化数量测度
我们能否把这些子系统的去中心化数量测度合并成系统去中心化程度的数量测度?一种简单的方式,就是取所有子系统基尼系数的最大值,正如下图所示:
因此,通过这一措施,比特币和以太坊的基尼系数最大值都约等于0.92,因为两者的代码库都是非常集中的(比特币的Bitcoin Core,以太坊的geth)。
关键的是,不同的基本子系统选择将改变这些值。例如,某人可认为,单一的代码库并不会影响系统的去中心化。如果是这样的话,比特币的最大基尼系数将改进到0.84,而新的去中心化瓶颈在于节点分布情况。
我们并没有想当然地认为,这六个子系统的选择就是最佳的去中心化程度测量子系统,我们只是想收集一些数据来显示这种计算是什么样子的。我们认为,基尼系数最大值数量测度能够指出可能的去中心化瓶颈的正确方向。
最小值中本聪系数:改进版的区块链去中心化数量测度方案
然而,基尼系数最大值存在明显的问题,事实上,每一个基尼系数只能限制于0-1的范围,这意味着它无法直接反应出系统妥协所要求的个人或实体数量。
具体来说,假设有一个区块链子系统,其有1000个 参与者,它的基尼系数为0.8,另一个子系统有10位矿工,其基尼系数只有0.7,结果可能是仅有3位矿工的作恶,其对系统的危害程度,却要比57家交易所作恶的危害更大,这意味着基尼系数最大值会指出交易所是去中心化的瓶颈,而不是矿工。
克服这一问题有很多种方法。例如,我们可以在合并不同的子系统之前,对不同对子系统提出原则性强的权重。
另一种方法是基于洛伦兹曲线定义一个相似的数量测度,我们称之为“中本聪系数”。下面这个图表当中,给定的子系统的中本聪系数为8,因为它需要8个实体来实现51%的控制条件。
也就是说,我们定义中本聪系数是一个给定子系统满足51%总容量所需的实体最小值数量。根据采用最小值,我们将其命名为“最小值中本聪系数”,即能让系统妥协,参与实体所需的最小值数量。
中本聪系数代表了能让一个子系统妥协的最小数目实体对象。而最小值中本聪系数则是取所有子系统当中的最小的中本聪系数。
我们还可以定义一个“修正过的中本聪系数”,如果51%并不是每个子系统能够被妥协的阈值。例如,可能需要75%的交易所才能对系统带来严重的破坏,而矿工只需要满足51%的阈值 。
现在,我们可以使用前面部分所得的洛伦兹曲线,来计算以太坊和比特币的中本聪系数。下面是以太坊 geth客户端的一个计算实例。我们可以看到,我们只要掌握这2名开发者,就可以满足 geth 51%的控制调节,因此其中本聪系数为2 。
为了说明这个概念,以下的图片再次把比特币和以太坊的所有子系统都计算了一遍,而这一次是用中本聪系数来表示:
下面这个表,我们组合了每个子系统的中本聪系数:
我们可以看到,基于这些基本的子系统,我们可以说,比特币和以太坊的中本聪系数均为1。具体而言,假设Bitcoin Core或者 geth代码库遭遇麻烦,就会连累网络超过51%的客户端,这就导致其各自网络会陷入危险之中。
想要改善以太坊,就意味着需要让其他客户端(例如Parity)得到更多的市场份额,而接下来的瓶颈则是开发者或矿业中心化问题。想要改善比特币,同样需要让其他客户端(例如btcd、 bcoin等)得到更广泛的采用。
最小值中本聪系数取决于子系统的定义
我们认识到,有些人可能会争辩说,比特币单一客户端的高占有率不会影响比特币的去中心化,或者说这种集中度是必要的。我们在这个问题上没有立场,因为采取不同的基本子系统,我们可以得出不同的去中心化数量测度。
例如,如果某人认为“创始人和发言人”是一项重要的子系统,那么以太坊的最小值中本聪系数就是1,因为Vitalik Buterin的错误选择将会连累以太坊。
相反,如果某人认为“有实力参与矿业的国家数量”是一个重要的子系统,那么比特币多最小值中本聪系数就是1,假设中国政府镇压比特币挖矿,那么就会导致51%以上的比特币挖矿算力被破坏。
选择哪一个子系统作为评定一个特定去中心化系统的必要成分,这将是本文范围之外的主题。然而,值得注意的是,“创始人和发言人”以及“中国矿工”是以太坊和比特币这两种链的不同威胁因素。因此,我们认为,一定程度的生态系统多样性可以提高系统的去中心化程度。
结论
很多人说,去中心化是比特币和以太坊这类系统最为重要的性质。如果这是真的,那么能够量化去中心化将是至关重要的。最小值中本聪系数就是这样的一种尝试,当这种系数增加时,系统妥协所需的最小实体数量就会增加。我们认为这符合去中心化的直觉概念。
测量。第一点,像这样的度量可以明确计算出来,随时间记录下来,并且显示在仪表板上。这使得我们能够跟踪子系统和整体系统的去中心化历史趋势。
改进。其次,就像我们衡量绩效一样,衡量中本聪系数可允许我们进行改善或降低系统的中心化程度。然后,我们可以将去中心化的变化,归因于个人代码的部署或其他类型的网络活动。例如,当我们遇到稀缺资源问题时,我们可以衡量出部署1000个节点或雇佣两个新的客户端开发者对去中心化方面是否会有更多的改进。
优化。最后,也是最为重要的一个因素,一个可量化的目标函数(在数学意义上)决定了任何优化过程的结果。表面上类似的目标函数可以产生非常不同的解决方案。如果我们的目标是优化去中心化系统的去中心化水平,我们需要的是像洛伦兹曲线、基尼系数、中本聪系数这样的量化指标。
我们认识到,关于去中心化系统的哪些子系统是必不可少的,这里还有很大的争论空间。然而,提出必要的子系统,我们现在可以生成一个洛伦兹曲线以及一个中本聪系数,看看这些子系统是否是作为整体系统去中心化的瓶颈。
因此,我们认为最小值中本聪系数是对量化去中心化的有用一步。
本文转载自巴比特 作者:Balaji S. Srinivasan 编译:洒脱喜