• 2020年10月19日 10:39

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

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

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

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

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

    26c4f21b58eb350afaa04e5da07c3dec.png

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

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

    36f4f9c51244938dd0141e25d2666528.png

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

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

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

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

    729758f3ecc55fe7b6559e40f1d7a0b8.png

    PNG, 68.8 KB, 被 Dimworm上传于2020年10月19日

    0568c0b1d09fbd91257c3e3b346c73ab.png

    PNG, 26.6 KB, 被 Dimworm上传于2020年10月19日

    36f4f9c51244938dd0141e25d2666528.png

    PNG, 369.1 KB, 被 Dimworm上传于2020年10月19日

    26c4f21b58eb350afaa04e5da07c3dec.png

    PNG, 141.7 KB, 被 Dimworm上传于2020年10月19日

    3ee670d4a80984f2e1db23768d613f54.png

    PNG, 655.0 KB, 被 Dimworm上传于2020年10月19日