As with all crypto-project 'reviews' the best place to start is with the creators summary of the project and the goals. Therefore, it I started my research with the whitepaper. From the get-go as we start to scratch the surface of their vision from the title page :
A Multi-Chain Parallel Computing Blockchain Framework
Rather than dissect this immediately I'll leave this statement here. As you will see this fundamental macro concept underpins all aspects of the Aelf network design. In the meantime let's dig a little deeper.
In the abstract and later in the document we can see reference to current blockhain limitations. As a result we can infer from this information that the core goals of the Aelf project are:
- To address scalability limitations caused by 'whole system' infrastructure dependencies
- To address smart contract resource congestion and performance limitations
- To address effective and efficient management of implementing technological advancements
From this look back at current blockchain limitations the team go on to discuss how adoption of an IT oriented design structure can begin to close the gaps. Indeed, another telltale sign of what we can expect from the project can be seen when the team likens the project to being:
'Linux eco-system' for Blockchain
From this statement as and in conjunction with the particular use of the term "Framework" on the title page we can start to get a feel for vastness of the scale of this project and the potential implications for it's realization. This project has the intention of being a blank canvas, a foundation on which you might build your own bespoke blockchain solution. In some respects this idea is similar to Ethereum's, where the end result is not to be the painter, but supply all the tools you need to do the job.
Branching out (How):
Given that the goals and scope of vision are ambitious the real questions on most peoples minds are how is it possible to make this a reality? What technical and structural adaptions would need to be made to the existing blockchain model to take from the past into the future?
I'm not going to get too technical here but will try explain the basic concepts without delving too deeply into the intricacies. I'll also quickly pause here to apologize, in advance, for the 'tree' analogy. I wracked my brains to think of a better way to describe the structural architecture of the Aelf project but couldn't thing of one.
At the base of the project we have the operation of a delegated proof-of-stake consensus protocol. The nodes here form a collective structure that will determine which technological developments the system will take up and are ultimately responsible (not completely, we'll come back to this) for the growth/development of the project and management of the main chain.
This represents the main blockchain on which all other sub-chains are built as is responsible for maintaining the aelf token system (which facilitates transactions) and indexing the side chains.
These represent the side-chains which have the purpose of supporting (by bespoke design) the whole Aelf eco-system. Note here that we're starting to get into the territory of the user side of the structure. This is broken down into bigger branches for areas of similarity and then further down into individual project/specialized subjects. Branching further as the area of specificity increases or to maintain efficiency (think of this like common company structure, you have departments, sub-teams, individual project teams, then individuals all with their own individual goals but linked together under a common hierarchy).
The main documentation only goes so far as the branches level because in effect that is where the Aelf architecture stops. However, I believe here there is a final level and that is the day-to-day 'users' of the branch all clustered around and being managed by the branch to which they belong. Note here though when we say users we don't always mean people, this could as easily be smart devices and other services that need to be networked to interact effectively.
I mentioned earlier that the growth and development of the aelf system will be based predominantly on the direction of the main chain. However, I also believe that (as with leaves on a tree) use and adoption will also be critical in moving blockchain going forward. You can build the best thing in the world but if they don't use it then it is useless (looking at you Betamax).
What does this mean?
In their current form bloackchains in general follow a linear structure. That is to say a singular blockchain moves unidirectional irrespective of the individual activities being performed on the chain. As a result this means that transactions on the chain are (mostly) performed sequentially. To anyone with a passing understanding of IT we know that sequential processing is often much slower than parallel processing. This is where the branched structure comes into play. The main Aelf chain maintains it's linear process, however, as side-chains may branch out and implement their own flow that is more suited to their area of special interest. This reduces the load on individual resources, furthermore, non-related transactions can then be peformed in tandem without reducing the efficiency.
This adaptive style of design, can also be seen in the node structure used. Rather than singular servers forming a node, Aelf employs clustering of resources for the nodes, allowing for flexibility of effective use of resources in load balancing transactions (i.e. bringing in more processing power as and when it is needed).
Finally, the branched structure allows a considerable level of autonomy (or self-governance) of side-chains while maintaining a stable framework on which all branches and sub-branches are built. These links allow for cross-chain communication, but overall main chain maintenance give stability in the macro structure and allows side-chains to be more adaptive at their own given level. Going back to the "A Multi-Chain Parallel Computing Blockchain Framework" we can see how a blanket structural concept can offer means by which effective blockchain implementation can take place on a case-by-case basis.
My own thoughts on the project.
If I am honest when I started this review I was a little skeptical, the vision offered up by the Aelf team is far reaching and open-ended. On the surface it can look a bit vanilla in terms of project goals. However, as soon as we see it as (to re-use my earlier analogy) a blank canvas, we can start to better understand the depth and scale of the task.
In terms of traditional blockchain limitations that Aelf is looking to solve, I actually believe they missed mentioning the biggest issues: Adoption. One of the most difficult challenges faced by the blockchain industry is real world application, the current entry level to which is definitely a barrier. The team does mention where they see the systems being useful and the usual suspects raise their heads; finance, insurance, internet of things etc. However, I believe, most likely intentionally, they have started to move in a direction that makes wider adoption a potential reality. The flexibility of the Aelf design linked with adaptive resource management means that the entry level requirements for industries can be tailored to suit the individual use case needs. Furthermore, there is the very real possibility to scale resources with business needs making it much easier to manage dynamic business landscapes. Let's take the COVID-19 situation for example. If a company was in need to quickly scaling back resource requirements during downtime and then ramp things up again afterwards the Aelf process could help to actively manage those resource requirements in real time, which help with business continuity.
All in all I believe the Aelf macro design could have a massive impact on the future use of blockchain technology and we can hope it heralds the beginning a shift in focus away from predominately financial systems into a wider pool of industrial applications.
Apologies if this one was a bit wordy. Hope you enjoyed the review, I enjoyed writing it. Good luck y'all!