Blockchain Scaling New Framework: Horizontal and Vertical Scaling

CN
1 year ago

Why is horizontal scaling and vertical scaling a better framework for Ethereum scalability?

Author: Avi Zurlo

Translator: Block unicorn

Since the rise of Rollups, the scalability of blockchain has been focused on the debate between modularity and monolithic architecture. Initially, this binary opposition was a useful thinking model for reasoning about the scalability of blockchain, but now both camps have moved beyond it.

Today, the comparison between modularity and monolithic architecture imposes unnecessary limitations on our scalability thinking model.

So, what are the alternative solutions?

In this article, we will demonstrate how horizontal scaling and vertical scaling have always been the fundamental framework for blockchain scalability and explain how adopting horizontal scaling and vertical scaling brings better scalability solutions.

Understanding Modularity vs. Monolithic Architecture

First, some definitions:

Modular chains separate the core functions of the blockchain into different layers.

Monolithic chains integrate all core functions into a single, interconnected layer.

We can think of "layers" as "machines" - a monolithic chain has a single validator node that performs all tasks, while a modular chain has multiple (2-3) full nodes performing different tasks.

For example, Rollups typically have two running nodes: one Rollup full node for execution and one Ethereum full node for settlement + data availability (DA). Validium may utilize three running nodes: one Rollup full node for execution, one Ethereum full node for settlement, and one backup data availability layer full node for DA.

Modularity distributes the blockchain tasks across at least two full nodes. By doing so, a modular blockchain can leverage the computing power of multiple computers when constructing each block.

This is a form of horizontal scaling.

Modularity is useful in thinking about blockchain scalability because it is a type of horizontal scaling.

On the other hand, most monolithic camps choose to scale through software optimizations, implementing parallel virtual machines, data pipelines, faster network protocols, and (most notably) more powerful hardware. Essentially, monolithic chains attempt to extract as much computing power as possible from a single full node.

This is a form of vertical scaling.

Critics argue that this approach tends towards centralization: relying on increasing the power of a single node for scaling will inevitably encounter physical limitations of underlying hardware and require increasing hardware requirements for further scaling.

However, this criticism is incorrect because not all monolithic chains rely solely on vertical scaling.

For example, Near is a monolithic L1 blockchain built on a sharded network architecture. This means that Near's full nodes are responsible for all tasks (i.e., execution, settlement, and data availability), but they are only responsible for a small portion of Near's global state. Therefore, Near allocates work based on state rather than tasks, leveraging the computing power of multiple computers (similar to a modular chain).

We can see that both monolithic and modular chains are not limited in the scalability techniques they implement. Both can perform horizontal scaling and/or vertical scaling.

Furthermore, the debate between modularity and monolithic architecture has always been rooted in the framework of horizontal and vertical scaling. From a strict technical perspective, modularity tends towards horizontal scaling, which is inherent in its design, while monolithic tends towards vertical scaling.

Now that we have successfully introduced modular chains, the additional scalability advantage no longer lies in being "more modular." The focus now is on how the chain leverages horizontal or vertical scaling technologies.

Adopting Horizontal vs. Vertical Thinking Models allows us to easily reason about the trade-offs each chain makes in this process.

Redefining the Conversation: Horizontal vs. Vertical Scaling

Before delving into the horizontal vs. vertical scaling framework, it is important to acknowledge that its origins can be traced back to the 1970s when distributed computing research laid the foundation for the concept of horizontal scaling. Today, all scaling technologies can be classified as horizontal or vertical scaling.

Vertical Scaling

Vertical scaling increases the hardware utilization or hardware requirements of each node. In blockchain, this is often achieved through software optimizations such as parallel virtual machines (i.e., multi-threaded processes).

A common example is EVM and SVM.

EVM executes transactions sequentially, while SVM executes transactions in parallel. SVM achieves this by utilizing more CPU cores, allowing it to process more transactions per second than EVM. Note: this type of vertical scaling is the foundation behind Eclipse L2.

In terms of trade-offs, vertical scaling is limited by available hardware, tends towards centralization due to increased hardware requirements, and has poorer scalability compared to horizontal scaling.

Horizontal Scaling

On the other hand, horizontal scaling increases the number of machines the system can access by distributing the workload across multiple nodes. As mentioned earlier, modular chains essentially distribute tasks across multiple machines. However, chains can often achieve a greater degree of horizontal scaling through sharding.

=nil; Here's a useful example.

Last November, the =nil; Foundation introduced a verifiable sharding architecture called zkSharding, which is the basis for the new Ethereum L2. The core design of =nil; is to partition its global state into multiple shards. Each shard is operated by a decentralized committee of =nil;, who construct blocks and manage cross-shard transactions. Additionally, each shard generates a validity proof, which is sent to the main shard for aggregation and then published and verified on Ethereum. =nil; leverages the ability of horizontal scaling in two ways:

  • First, =nil; is a modular blockchain that leverages Ethereum's strong consensus and data availability as guarantees, distributing tasks across multiple full nodes.

  • Second, =nil; is a sharded blockchain, distributing parts of the state across many full nodes.

Both of these technologies alleviate the workload on any single machine and improve the overall scalability of the network.

So, what are the trade-offs of horizontal scaling? This can be summarized as network and consensus complexity and asynchronous communication between machines or shards.

The Final Battle for Ethereum Scalability

Both horizontal scaling and vertical scaling are not limited to modular or monolithic architectures. This is why the horizontal vs. vertical scaling framework provides more room to explore new solutions, making modular blockchain more scalable.

For example, one option is to vertically scale a modular stack. A common approach is to implement parallel virtual machines to increase execution throughput. As mentioned above, Eclipse is leveraging SVM and other Rollups, such as Starknet, to achieve parallelization with BlockSTM.

However, vertical scaling is always limited by the constraints of a single machine, and we cannot break the laws of physics.

One solution may be to choose horizontal scaling through sharding.

The current modular design is just beginning to tap into the full potential of horizontal scaling. Through sharding, we can leverage the computing power of any number of machines (not just 2-3 machines sharing tasks).

In other words, many machines can run the same type of tasks in parallel. This is the goal that Ethereum and Celestia hope to achieve through Danksharding and data sharding, respectively. However, sharding is not limited to data availability layers - it can also be combined with execution (as in the case of =nil; L2).

By combining horizontal scaling achieved through a modular stack with the horizontal scaling provided by sharding, we will significantly increase the available computing power.

But we can do better…

The ultimate goal of blockchain scalability will merge horizontal and vertical scaling to create a sharded blockchain with parallel virtual machines.

At the =nil; Foundation, we are systematically moving towards this ultimate design state. =nil; L2 takes a proactive roadmap towards scalability by utilizing a modular, horizontally scalable architecture (zkSharding) and vertically scalable validators (parallelization within shards).

As a result, =nil;'s design can achieve global scale without sacrificing state, liquidity, or user fragmentation.

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

Share To
APP

X

Telegram

Facebook

Reddit

CopyLink