aelf: Parallel processing to handle commercial-scale transactions and possibilities for scaling

ælf
aelf
Published in
3 min readOct 31, 2017

--

One of the biggest obstacles for Blockchains serving the real business world is its low transaction speed. This situation has been seen in centralised computing systems in the past where certain transactions may take minutes or hours to solve with powerful microprocessors. This limits the possibility of what computing services can serve. Fortunately, computer scientists have been using an efficient approach to improve computing performance: parallel processing.

aelf uses parallel processing for independent transactions

1. aelf analyzes the static state of transactions and assesses the impacted data range of each transaction. As illustrated in the Figure, transactions without read/ write conflicts can then be categorised in different groups, each not affecting the output of each transaction.

2. During the process of Block formation, nodes assign transactions to different groups based on mutex of the transactions. Transactions within a group will adopt sequential processing, while all groups will be processed simultaneously.

3. For special transactions whose impacted data range changes while other transactions are being processed, nodes will prioritize transactions that can be processed in parallel. With sufficient transaction fees, these special transactions in a non-parallel group will be processed in sequence. Otherwise nodes can reject to process these transactions.

Parallel processing can be fairly explained by Amdahl’s law.

The law shows that the execution of the whole task increases with the improvement of the resources in the system and that regardless of the magnitude of the improvement, the theoretical speedup is always limited by the part of the task that cannot benefit from the improvement.

Most of the transactions between accounts are mutex, thus can be processed in parallel. However, existing Blockchain technologies process data in sequence, leaving a large amount of computing resources wasted. Take EVM as one example, it adopts sequential processing for all the data and demand gas fees, resulting in low processing efficiency.

aelf enables scalable performance as computational power increases

Optimizing data processing speed itself is not the ultimate goal. The significance of parallel processing is the potential for scalability.

We have all seen the heated debate on the scalability of Ethereum. The difficulty lies in the fact that one node on Ethereum can only process transactions in sequence. Thus the whole processing speed of Ethereum is limited by the slowest node.

Cosmos provides a straightforward solution — — “if your transaction speed slows in one zone because too many people are using it, you simply add another zone to the hub and direct half the users over that zone, thereby doubling your transaction speed”. However, the efficiency of processing transactions per unit is still limited even when more computing power was added.

aelf introduces cloud computing in processing transactions. The aelf Kernel enables each node to operate on a cluster of computers. This means when more computational power joins the aelf eco-system, it not only enhances system security but also grows transaction speed proportionally. As illustrated in the figure, aelf groups transactions without read/write conflict into different categories, and then process different groups of transactions simultaneously.

Scaling, however, is a multidimensional subject. It is worth thinking about how scaling can be best achieved through an incentive mechanism and consensus mechanism. aelf’s token design and consensus is likely to provide an interesting exploration in the field. And this will be the next topic for this series articles.

Stay tuned with our latest news on medium.

For more information, please visit our official website: http://aelf.io/

Or join our lively discussions on Telegram:

https://t.me/aelfblockchain

More channels to participate:

Facebook: https://www.facebook.com/aelf.blockchain.1

Twitter: https://twitter.com/AelfBlockchain

Reddit: https://github.com/AelfProject

--

--

ælf
aelf
Editor for

ælf, the next breakthrough in Blockchain.