This article explains the Aelf blockchain project, its use case, how it works and how it is governed. The ELF token is the native token of Aelf blockchain.
Aelf is a blockchain project that claims to solve the problems of the current major blockchains. One big problem with today’s blockchains is that they have to sacrifice scalability for decentralization (Bitcoin, Ethereum). Some other projects sacrifice on decentralization for scalability (EOS, Steem).
For a blockchain, both scalability and decentralization is important. Without decentralization, people are less likely to trust a blockchain. Hence, they won’t invest more money into it. But without scalability, people can’t use a blockchain for daily usage because it will lack the transaction throughput required.
There is a lot of research and resources put on solving both of the problems. Ethereum is expected to solve these with the launch of Ethereum 2.0 – Phase 1. Ethereum is at phase 0 now, which was implemented successfully late last year. That increases the likelihood of a successful phase 1 launch that will utilize sharding technology.
Aelf also claims to use a similar concept which segregates resources by using side chains. Aelf will have one main chain and many side chains. Side chains will be used for smart contract execution. The combination of these will allow Aelf to scale, but its commitment to decentralization is questionable, considering that it is a company favored by China.
[In China, nothing is decentralized, the government controls pretty much, the entire internet.]
How Aelf Works
Aelf describes itself as a cloud-computing platform similar to Amazon Web Services. It wants to provide a highly efficient and customizable operating system that is capable of running blockchain smart contracts for commercial scale. Which means, Aelf will be designed to support a very high transaction throughput.
It will have a single main chain governed by DPoS (Delegated Proof of Stake) consensus algorithm. Every side chain in Aelf is independent of the main chain. Side chains are connected to the main chain via an “Index” system. Aelf has two types of side chains:
1. External side chains connected to other blockchains such as Bitcoin or Ethereum
2. Internal side chains within Aelf
Aelf can interact with Bitcoin, Ethereum, EOS, Stellar or other blockchains if those blockchains are added as indexed side chains on the main chain. The internal side chains on the other hand, are exclusively for Aelf related applications. Large commercial companies could benefit from running their own side chain based on Aelf’s technology.
Internal side chains can have sub chains within a single side chain. When more side chains are added, the capacity of the blockchain increases. Hence, Aelf can scale on demand. This blockchain structure allows it to scale linearly as needed.
Hence, in theory, Aelf won’t have a constant tps (transactions per second) limit because the transaction capacity can be increased by adding more side chains. The whitepaper says that each side chain in Aelf is used for one single specific task. Hence, different tasks are distributed on multiple chains which improves processing efficiency. Aelf claims to utilize parallel processing and database separation for further performance improvements.
Aelf’s full nodes are not bound by server capacity because they can add other servers for extra resources. The full nodes act as cluster nodes with parallel processing features. Parallel processing is when a node is able to process transactions on multiple threads of a CPU.
Traditional blockchains can only use one CPU thread for processing. But modern CPUs can have 8 or more threads in a single CPU. By utilizing other threads, Aelf can increase the transaction capacity by 5-25 times. In their testnet benchmark, Aelf claimed a TPS increase of about three times when using parallel processing.
Aelf claims another unique feature that separates core tasks into different clusters of a node. In other blockchains, the node has to process transactions and write data to the database at the same time. Aelf claims to separate these into two tasks and distributes them to different clusters for increased performance.Aelf team said they reached a constant 15000 TPS when utilizing database separation in their testnet benchmark. Please take it with a grain of salt as results in controlled or optimal environment will most likely not reflect the actual performance of a blockchain software.
They [aelf] have completely separated the database component from the processing component of the blockchain. In an aelf cluster node, there are actually sub-clusters; one sub-cluster prioritises the processing component while another takes care of the database. By separating these two components and organizing designated clusters of computers to each, the team was able improve the speed to a very solid TPS. - Aelf Testnet Results
Also posted on How Aelf Blockchain Works.