RChain实现了垂直和水平双向扩容

垂直扩容是指通过增加每个节点的硬件计算资源,区块链的处理能力能够相应地增加。
水平扩容是指通过增加节点的数量,区块链的处理能力能够相应地增加。

对于支持智能合约的区块链来说,垂直扩容是件困难的事情,以以太坊为例,EVM只能虚拟出CPU的1核来使用,导致节点硬件资源的很大浪费。EVM只能支持顺序计算,不能支持并发计算,所以以太坊并不具备垂直扩容的能力。

水平扩容是经常讨论的区块链扩容方案,主要技术方案是分片。一般意义上讲同一分片内的节点数量增长只能带来更高的安全性,并不能提高处理能力。不但不能更高,相反,更多节点只能让区块链更慢。但是RChain打破了这个魔咒。

10月15日,Greg在Twitter上宣布RChain验证了在垂直和水平两个方向上都实现了可扩展性。这对于区块链行业来说有着相当大的意义。

RChain实现了垂直和水平双向扩容

Greg贴了一张10个节点并发出块和验证的DAG图。随后他解释说:

RChain实现了垂直和水平双向扩容

Greg说:RChain实现了双向扩容,而其它区块链无法实现,甚至在它们的开发技术路线图中也没有相应的规划。

在本周四的社区Debrief上,Nutzipper 演示了他的验证结果。他在Google cloud的一台96核cpu的服务器上,跑起10个Rnode节点,当这些节点开始工作时,能够把所有96核全部跑满。

RChain实现了垂直和水平双向扩容

Rholang是RChain专有的智能合约语言,专为并发而设计。Rholang是RChain实现垂直方向扩容的关键。而CBC-Casper是RChain实现水平扩容的关键。

我举个例子简化整个过程:一个节点有20个CPU,其中一个CPU是用来出块,这种情况下,

当只有两个节点时,每个节点有一个CPU用于出块、一个CPU用于验证自己的出块、一个CPU用于验证其它节点的出块,所以会有三个CPU在工作,但是会有17个CPU处于闲置状态。
当节点从2个增加到20个时,每个节点用于验证的CPU会增加。整个区块链用于出块的CPU也在增加。所以整体处理能力能够相应地增加。因为验证工作可以并发进行,增加更多节点能够让所有节点充分利用自己的计算资源。
RChain实现了垂直和水平双向扩容

上图中,横坐标表示节点数的增长,纵坐标表示每个节点的CPU的使用数量。
RChain实现了垂直和水平双向扩容

当节点数量从20个增加到30个时,处理能力就不能相应增加了,因为单个节点所有的计算资源都已经用满了。对单个节点来说,没有更多资源能够投入到验证工作中了。这时候为了进一步提高处理能力就需要采用分片的方案了。