The revolution that is called aelf — Parallel processing
Bitcoin is old. It is slow, it is expensive, and it has no real worth. You may have heard this argument against the use of BTC transactions. In fact, this is sometimes used to counter the use of cryptocurrencies as a whole. But is it really true? There is certainly some merit behind these views, all-be-it possibly exaggerated or out of context. This is arguably due to the fact that the blockchain running the bitcoin network is not scalable, and this is the point which needs to be addressed. The lightning network attempts to solve this problem, but is basically the blockchain equivalent of putting a Nissan GTR engine in an old 1960 Holden. There are so many reasons why this won’t fix the problem entirely.
This article is not going to look into those details, but will instead delve into the aelf project, which is resolving this issue in a completely revolutionary way. Parallel processing is a can of worms that can cause havoc with a blockchain network if done incorrectly, but… if done correctly, could drastically remove the limitations of the current blockchain.
Let’s first take a step back. In order to improve the performance of current blockchain technology there are two layers to work on. First, one can look at upgrading the hardware- getting bigger and more powerful nodes, and increasing the power and performance of any hardware component. The second aspect is improving the efficiency or streamlining the processing performance. Aelf is focusing on both of these aspects. I’ll be discussing the improvements that will be done to the processing performance through parallel processing.
Parallel processing — In the raw sense, it means the processing of tasks is done simultaneously, or in parallel with each other. Applying this concept to blockchain is quite a challenge, not only do you have to rewrite the coding for the processing of the blocks, but you also have to restructure the nodes and then tackle transaction dependency.
Let’s break this down.
I won’t discuss the coding here, but it is all available on aelf’s github, if you wish to take a look
The nodes are something which required careful consideration. You may have seen the phrase ‘cloud computing’ in relation to aelf. This is the approach they have taken in relation to nodes. Essentially, this means that instead of one node being one computer and thus having obvious limitations, one node is now made up of a ‘cluster’ of computers. This lays the groundwork for the parallel processing. A node may now receive multiple groups of transactions which require hashing and have them processed by different computers within the cluster at the same time. This is also improving the overall efficiency of the system as there is no longer the bottleneck of the slowest computer holding up the system. A block does not need to be verified by every single computer; but rather, only every node.
This leads into the next point, which is the problem of transaction dependency. If A sends $10 to B (and B only has $5 to start with) and B sends $15 to C, then these transactions must be processed in order. With normal blockchain single nodes this is not a problem, because 1 transaction is processed at a time. But with parallel processing there is a risk that later transactions could be processed before earlier ones, and this could cause rejections or errors!
There are two main aspects to this solution. The first is included in the design of all the sidechains. By running one contract on each sidechain a lot of the necessary organization occurs naturally. We know that Transaction A from Sidechain 1, is unlikely to affect or depend on Transaction B from Sidechain 2. The second part of the solution is the aelf Parallel Execution Scheduler. Aelf separates the computation dependency and data dependency in blockchain from the memory pool. This essentially removes the data hazard issues which arise from parallel processing. The scheduler identifies dependant transactions and orders them so that no tasks run in parallel are dependent on each other.
As a result, the parallel processing functions and context free/immutable computing make full use of the cores and nodes. This will increase efficiency, which in turn increases both speed and scalability to the point that this network can easily process enterprise scale blockchain data.
No other blockchain has attempted to tackle this problem with such a unique and breakthrough technique. Aelf is not pushing the boundaries, it is bolding stepping past them and setting its own boundaries well past anything set currently. Not only will aelf be bringing blockchain to the enterprise world, but it is changing the current technology in a revolutionary wave. There is a revolution coming and it is called aelf.
Mappo has been investing and trading in fiat currencies since 2013. He has recently moved into the crypto world spreading his portfolio over long term coin investments, ICOs and day trading.