The Complete Guide to AION Blockchain. Blockchain adoption is growing at an insane rate. More and more blockchain-centric applications are coming up every single day, and it is a truly incredible time to be alive. However, with this fast-paced adoption comes a major problem. With so many blockchain based companies out there, each becomes a community of its own.
As such, intercommunication between them becomes nearly impossible. Consider this for a second, we have the Bitcoin community and the Ethereum community, however, it’s near impossible for both of them to communicate and interact with each other in an efficient way.
This where AION Blockchain comes in.
Aion Blockchain is the first multi-tier blockchain network designed to interconnect these various blockchain entities. In this guide, we are going to to do an in-depth study of Aion. With their main net releasing in the upcoming month, now is as a good a time as any to get acquainted with this, potentially groundbreaking, company.
The Complete Guide to AION Blockchain
The Three Generations of Blockchain
To date, we have gone through three generations of blockchains.
Generation 1: Bitcoin and Money Transfer
Bitcoin was created because everyone was asking the same questions.
Will it be possible to create a form of money which can be transferred between two people without any middleman?
Will it be possible to create a decentralized money which can function on something like the blockchain?
Satoshi Nakamoto answered these questions when he created bitcoin. We finally had a decentralized monetary system which can transfer money from one person to another.
However, there was a problem with bitcoin which is a problem with all first generation blockchains.
They only allowed for monetary transactions, there was no way to add conditions to those transactions.
Alice can send Bob 5 BTC, but she couldn’t impose conditions on those transactions. Eg. She couldn’t tell Bob that he will get the money only if he performed certain tasks.
These conditions would need extremely complicated scripting. Something was required to make the process more seamless.
Smart contracts help you exchange money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.
Vitalik Buterin’s Ethereum is easily the stalwart of this generation. They showed the world how the blockchain can evolve from a simple payment mechanism to something far more meaningful and powerful.
However, this generation had some problems too.
As more and more interesting use cases of the blockchain were coming out, they were getting more and more acceptance.
The problem was though, these generations of blockchain didn’t really have good provisions for scalability. Along with that, the governance system of these blockchains was not really that well thought out. Case in point, the Ethereum and Ethereum Classic split, according to Hoskinson, is a classic example (no pun intended) of bad governance.
This is where the third generation comes in.
Generation 3: Aion and Interoperability
The Aion Blockchain whitepaper predicts that in the future, blockchains will work in a hub and spoke model similar to the internet.
The hub and spoke distribution network is a system where various networks are distributed like a wire wheel where traffic flows through the spokes connected to the hub in the center.
Aion envisions itself to be “a networked, federated blockchain to integrate these separate spokes.”
Aion aims to be a third generation blockchain that enables public and private organizations to:
Federate: Send data and value between blockchain connected to Aion and Ethereum
Scale: Increase the scalability of all the Aion blockchain.
Spoke: Helps organizations create blockchains which are interoperable but can have its own unique consensus mechanisms, issuance, and participation.
At the core of Aion blockchain is a “purpose-built, public, third-generation” blockchain called Aion-1. Aion-1 has been specifically designed to not only be self-sustaining but connect with other blockchains as well.
The Importance of Interoperability
Let’s look at the current ecosystem. In the cryptosphere, we have different crypto coins such as Bitcoin, Ethereum, Litecoin etc. The problem lies in the fact that it is extremely difficult for these individual entities to communicate with one another. It is tough for bitcoin to know what is going on in Ethereum and vice-versa.
This is why, the crypto exchanges, which provides a portal between different cryptos become so powerful and important. However, there in itself lies a problem. Exchanges are not a decentralized entity and are extremely vulnerable.
They can blackout for long periods for system upgradation. This is basically what happened to Binance back in February 8 2018, which stalled their services completely.
However, another reason why interoperability becomes desirable is that it is necessary for the mainstream adoption of the blockchain. For blockchains to succeed, they must be able to interact with legacy systems like financial institutions etc. As of now, it is extremely hard for the crypto-world and legacy-world to interact with one another.
It is not for nothing that interoperability has been called “The Holy Grail of Blockchain.”
In a decentralized future where there are multiple entities running on blockchains, having an interoperable ecosystem is critical. Imagine a hospital which has its medical records on its blockchain interacting with the social security blockchain to validate the identity of a patient automatically.
Along with Aion blockchain, there are projects like ICON and Wanchain which aims to bolster interoperability. Together they have formed the “Blockchain Interoperability Alliance” which aims to “collaborate on research on interchain transactions and communication.”
Along with solving the interoperability quandary, Aion also wants to create a system which can work with both private and public blockchains and help in solving scalability.
Alright so now we know what Aion blockchain is and what its main goal is. Now let’s look at how it actually works. What do we mean when we say that Aion is the first “multi-tier blockchain network”?
AION Blockchain: The Multi-Tier Blockchain Network
Aion’s multi-tier blockchain network is going to work like a computer network providing dissimilar systems a method to communicate with each other. On top of that, Aion will also allow the participating blockchains to create common chains between them in order to conduct on-chain transactions.
Imagine a network of network of computers connected to a central hub where the computers can freely interact with each other. Now replace “computer” with an individual blockchain in that analogy. Through AION each participating blockchain will be able to transact with all the chains connected to the ecosystem.
The multi-tier network consists of the following components:
Connecting networks are the protocols by which all the private and public blockchains will communicate within the AION blockchain ecosystem. Connecting networks provide the following functionalities:
Routing of the messages between the different blockchain participants through a bridging protocol.
The connecting network ensures the correctness of transactions flowing through it via the utilization of bridges and a blockchain network. By taking charge of the routing of messages from, the connecting network ensures that the participating blockchains do not need to worry about managing difficult or unclear situations.
Ok so let’s look at what we have so far:
We have an interconnecting network that connects all these disparate networks into one interconnected ecosystem. So how do these different networks communicate with each other?
Through interchain transactions.
Before we continue any further, let’s define what they are. Interchain transactions allow all the connected blockchain networks to exchange information amongst each other.
Suppose Chain A wants to communicate with Chain B via interchain transactions, this is how it will work:
Interchain transaction gets created on Chain A i.e. the source blockchain.
The transaction flows through via bridges and connecting networks.
The transaction reaches the target blockchain i.e. Chain B.
The creator of the interchain transactions must pay a transaction fee using AION tokens.
Alright, so now that we know what an interchain transaction means, let’s go a little bit deeper. Now we are going to learn how an interchain transaction looks like, how its routing system works, and how does the state change in the chain itself.
What does an interchain transaction look like?
Visually, the interchain transaction looks like this:
Image Credit: Aion Whitepaper
As you can see from above, an interchain transaction consists of:
Payload: The actual data that the sender intends to send over to the receiver.
Metadata: The metadata of the transaction that includes all the information related to routing and fee.
Merkle proof: This is optional. It can only be used if the user plans on bypassing the bridge (more on this in a bit).
Routing of interchain transactions
Now that we know what the interchain transaction looks like, let’s look at how it actually takes reaches its destination via routing. A basic overview of routing goes like this:
The routing is a multi-phase process wherein during each phase validators verify the validity of the transaction and determine whether it should go ahead or not
If the transaction does get rejected, the state of the ecosystem reverts back to the one it was in before the transaction went through.
Routing has two subpaths:
Forward path: Interchain transaction flows from source chain all the way to the target chain.
Backward path: Confirmation of the validity of the interchain transaction is sent back.
Suppose Alice wants to send a message to Bob through Charlie and during the message delivery Charlie passes through Dave. Charlie carrying the message is using the forward path. If Dave sends a message confirming to Alice that he saw Charlie carrying the piece information and running towards Bob, then Dave’s message is the Backward path.
Alright, so now what happens to the transaction if a bridge of validators refuses to broadcast the transaction?
In cases like these, the sender may still choose to pass the transaction, completely bypassing the bridge by providing a Merkle proof to the connecting network. The connecting network will broadcast the transaction as valid if the merkle proof work comes out to be true.
How does state change via interchain transactions?
The diagram above shows the different possible states that an interchain transaction (ICT) can go through. Keeping the above diagram in mind, let’s run through how each of those states could be achieved.
When the bridge validators observe an interchain transaction in the participating network the state changes to “received.”
If the interchain transaction receives two-thirds of the vote from the validators, then the state of the transaction changes to “On Hold”. This creates an event where a corresponding connecting network token will be locked until the transaction is processed.
If they get less than two-thirds of votes, then the state changes to “Rejected.” And eventually, it changes to “Finalized.”
If the state is the “On Hold”, the transaction is forwarded by the validators to the connecting network.
If the target blockchain of the transaction sends a confirmation, the state changes to “confirmed” otherwise if there is no confirmation then it changes to “Timed Out.”
All confirmed interchain transactions change their state to “Finalized”. All the locked up fees are given to the connecting network and bridge validators.
The System of Aion
Alright, we have talked about bridges quite a bit already, what exactly are they? Bridges are a set of validators whose task is to oversee and validate the interchain transaction through participating and connecting networks. Visually speaking, they provide the link between participating networks and connecting networks.
A bridge has two main responsibilities:
Signing and broadcasting an interchain transaction only if they have been sealed in the source blockchain and an interchain transaction forwarding fee has been paid.
Informing the connecting network of the merkle hash updates of the participating network.
How does a bridge become valid?
Connecting networks are the ones who are responsible for registering the bridges directly connecting to them. Each bridge will have a dedicated table of validators seeing of transactions flowing through it.
Anyone can become part of a publicly available bridge by pledging stake towards it. A bridge can become valid only if its total stake exceeds the minimum total stake required. The top validators of each bridge get to take part in the bridge consensus.
How to incentivize bridge validators?
Multiple groups of validators may register multiple bridges for the same blockchain network It is up to the user to determine which bridge to use by specifying their target network. This sense of competition helps create an open market and incentivizes bridges to compete and better their rivals.
The diagram above does a pretty good job of how the bridge consensus works.
The validators wait for an interchain transaction.
They come to a consensus about its validity. If two-thirds agree then the transaction goes through, otherwise, it is dropped.
If the transaction is valid then they check whether it has sufficient fees or not, if it does then they validate and broadcast it, otherwise, they drop the transaction.
How are fees distributed among bridge validators?
Validators have two sources of incomes:
Rewards from the interchain transaction fees.
A portion of the block reward (if valid).
The validators may either get paid proportional to their stake or the reward may get equally distributed. That is up to the bridge.
The user who sends the interchain transaction may also influence how the validators and connecting networks get rewarded as well. They can do so in one of the following two ways depending upon the distribution model that is being used:
They specify how much money will be given to the connecting model and how much will be given to the bridges.
They simply pay fees which get distributed among validators and connecting networks according to a distribution model that has already been hardcoded into the transaction.
A participating network is any network that has fulfilled certain requirements needed to become part of the Aion ecosystem. They are not just limited to blockchain entities, they could be: oracles, cryptlets, or database clusters as well. Once they fulfill the conditions, they get connected to connecting networks via bridges.
The requirements that they need to fulfill are as follows:
Be decentralized and support atomic broadcast and transactions.
Have the capacity to make the distinction between regular transactions and interchain transactions.
Be aware of the consensus protocol used by the bridge and store a transaction deemed valid.
Implement locktime or a similar feature that will allow them to freeze up whenever the state of the interchain transaction goes to “Oh Hold.”
What is the AION-1 Blockchain?
The Aion-1 blockchain is the first or genesis implementation of the Aion connecting network. It has been designed to be as fair, distributed, and open as possible. It has three primary design goals:
Connect the participating blockchains with external entities.
Providing the robustness to create interchain applications.
Creating a maintainable ecosystem.
The way the Aion-1 blockchain achieves these tasks is because of its two pillars:
The above diagram features a bird’s eye view of the AION-1 architecture, depicted are the critical components of the networks: the connecting network structure, consisting of the consensus protocol and applications built on top of a virtual machine.
What are consensus mechanisms?
This is how Wikipedia defines consensus decision-making:
“Consensus decision-making is a group decision-making process in which group members develop, and agree to support a decision in the best interest of the whole. Consensus may be defined professionally as an acceptable resolution, one that can be supported, even if not the ‘favorite’ of each individual.”
In simpler terms, a consensus is a dynamic way of reaching agreement in a group. While voting just settles for a majority rule without any thought for the feelings and well-being of the minority, a consensus, on the other hand, makes sure that an agreement is reached which could benefit the entire group as a whole.
From a more idealistic point-of-view, Consensus can be used by a group of people scattered around the world to create a more equal and fair society.
A method by which consensus decision-making is achieved is called “consensus mechanism”.
So now what we have defined what a consensus is, let’s look at what the objectives of a consensus mechanism are (data taken from Wikipedia).
Agreement Seeking: A consensus mechanism should bring about as much agreement from the group as possible.
Collaborative: All the participants should aim to work together to achieve a result that puts the best interest of the group first.
Cooperative: All the participants shouldn’t put their own interests first and work as a team more than individuals.
Egalitarian: A group trying to achieve consensus should be as egalitarian as possible. What this basically means that each and every vote has equal weightage. One person’s vote can’t be more important than another’s.
Inclusive: As many people as possible should be involved in the consensus process. It shouldn’t be like normal voting where people don’t really feel like voting because they believe that their vote won’t have any weightage in the long run.
Participatory: The consensus mechanism should be such that everyone should actively participate in the overall process.
Now that we have defined what consensus mechanisms are and what they should aim for, we need to think of the other elephant in the room.
Which consensus mechanisms should be used for an entity like blockchain.
Before bitcoin, there were loads of iterations of peer-to-peer decentralized currency systems which failed because they were unable to answer the biggest problem when it came to reaching a consensus. This problem is called “Byzantine Generals Problem”.
What is the Byzantine Generals Problem?
Image Courtesy: Medium
Ok so imagine that there is a group of Byzantine generals and they want to attack a city. They are facing two very distinct problems:
The generals and their armies are very far apart so centralized authority is impossible, which makes coordinated attack very tough.
The city has a huge army and the only way that they can win is if they all attack at once.
In order to make successful coordination, the armies on the left of the castle send a messenger to the armies on the right of the castle with a message that says “ATTACK WEDNESDAY.” However, suppose the armies on the right are not prepared for the attack and say, “NO. ATTACK FRIDAY” and send back the messenger through the city back to the armies on the left.
This is where we face a problem.
A number of things can happen to the poor messenger. He could get captured, compromised, killed and replaced with another messenger by the city. This would lead to the armies getting tampered information which may result in an uncoordinated attack and defeat.
This has clear references to blockchain as well. The chain is a huge network; how can you possibly trust them? If you were sending someone 4 Ether from your wallet, how would you know for sure that someone in the network isn’t going to tamper with it and change 4 to 40 Ether?
What these generals need, is a consensus mechanism which can make sure that their army can actually attack as a unit despite all these setbacks.
A consensus mechanism which can answer all these questions is termed as being Byzantine Fault tolerant. There are many mechanisms who solve these problems, however, the more famous ones are:
The consensus mechanism used by Aion blockchain is a hybrid staking and proof-of-intelligence system. To give you an overview of how the system works:
Every single node in the network can submit themselves as a candidate and become backers for a candidate. Backers can be stakers or solvers. This will be expanded upon later.
The candidates with the highest set of backers are chosen as validators for that term.
The validators generate blocks and get proportional block rewards.
The process then begins anew for a fresh term. Now that we have a general overview of how the entire consensus process works, let’s get into more details! The Nomination Process
Any node can nominate themselves to become a validator. In order to become one, however, a node needs to be backed by enough of the nodes in the network. In order to stay active, validators must be backed continuously by the network. The candidates with the highest amount of backing become members of the active set.
How does this continuous backing process work?
The live set of validators is updated whenever nodes give or remove their backing of a candidate. There also is a static set that exists only for the duration of the term.
This is where it gets a little complicated, the active set of validators that is needed to run the consensus protocol derives its active set from the static set and at the end of every term, the static set gets overwritten by the live set for the duration of the next term.
Each validator can establish the terms of their backing and if they are agreeable, the nodes become backers of that validator by committing their resources.
The entire validator selection process via backers is represented in this diagram:
How Does Backing Work?
Nodes can extend their support to validators via backing which can be done by:
Solving aka proof-of-intelligence.
Backing by Staking
Backers can show their support for candidates by staking their tokens. This is how it works.
During the time period t, backers can show their support to validator V, by staking their tokens to them during period t+1.
The tokens remained staked till the end of t+1.
When t+1 gets over, the backers can get their staked tokens back.
However, if they wish to keep staking the validators then they can do so by sending a message before t+1 gets over.
Proof of Intelligence
Another way that backers can show their support is via the proof of intelligence (POI) system.
In POI a unique puzzle is generated and the puzzle must be solved through the proof-of-intelligence algorithm to generate a proof of intelligence. The proof is then submitted to the network as proof of an amount of backing for a particular validator.
Now that we have a general idea let’s go into the details!
The solvers aid in anti-denial of service attacks via performing artificial intelligence (AI) computation. The intent is to motivate the creation of AI-specific or specialized hardware that could be used for machine learning and neural network training in the future.
In POI solvers train a predefined neural network to identify certain patterns so that in the future they output results which will be similar to the previous iterations of the correct results (e.g., the hash of current block given the hashes of previous blocks as input).
The validation process is very straightforward and follows the following three steps:
Loading the neural network with the provided parameters.
Feeding the neural network with hashes of the previous N blocks for it to know how the hash of N+1 must look like.
Collect the outputs.
Similar to traditional proof of work, proof of intelligence solvers can pool in their resources as well.
Pillar #2: Aion Virtual Machine (AVM)
So what is a Virtual Machine?
There are two kinds of systems where one can run and execute smart contracts: Virtual Machines (Ethereum, Neo etc. uses this) and Dockers (Fabric uses this). If you compare the two, then you can see why something like Virtual Machines are more desirable:
So, what is the Aion Virtual Machine?
The AVM is a customized lightweight JVM implementation tailored towards executing chain logic (application logic) within distributed networks and hardened against scenarios that arise in such an environment
The AVM implementation consists of the following properties:
Performance: Uses machine-friendly instructions that ensure that the AVM works at the maximum possible performance.
Stability: Having an unstable or new piece of code/computation run in the main VM may cause instability in the system. This is avoided by utilizing a sandbox environment and via careful measurement of computation and resource usage.
Limited Consumption: Most of the languages used in smart contract creation are Turing Complete, meaning given enough resources they can solve any and all problems. This sounds really cool on paper, however, some malicious user may code a spam contract which can take up all the computational resources.
So in order to execute smart contracts, the user needs to specify exactly how much resources they are allocating to their smart contracts. This is a lot like gas and ethereum smart contracts.
Determinism: In terms of mathematics, in a deterministic system, if we have a number A and f(A) = A’, then no matter what happens, f(A) will ALWAYS give A’. For an ecosystem that is running smart contracts, being deterministic ensures consistency.
Backwards Compatibility: This means that as the chain evolves, past chain logic and value will always be valid.
Tooling: Tooling from existing bytecode analysis can also be adapted to AVM bytecode. Leveraging this interoperability allows tooling that would be suitable for mission-critical code such as chain logic.
The scripting language used to code contracts in the AVM i.e. the Aion Language has the following properties:
Blockchain runtime environment.
Blockchain context injection.
5 Types of Users Who Will Use AION
During The North American Bitcoin Conference 2018, Aion founder and CEO, Matthew Spoke gave a speech where he identified the fives kinds of users that could use the Aion blockchain:
The Startup: There has been an explosion of startups who want their businesses to be on the blockchain. While they do have deep domain knowledge, they are not that well versed in the blockchain and more often than not try to resolve blockchain based problems that have already been solved. Having a system like Aion where they can simply connect their business to other blockchain based solutions can do wonders for them and let them focus on areas where they have real expertise.
The Enterprise: A big goal of Aion blockchain’s interoperability is to connect the legacy industries with the blockchain industries in a seamless way. Aion has spent the better part of four years trying to understand what stops these big enterprises from entering the blockchain space.
The Dapp Developer: These are basically developers who have already been building dapps on top of ethereum, ethereum classic, neo etc. However, because of the lack of interoperability, these developers are forced and limited to developing on only one protocol. Aion will help them make transitions across multiple systems.
The Validator: Now we come to the core users. The first group of Aion’s core are the validators aka people who are in charge of consensus within the Aion ecosystem.
The Bridge Builders: The second group of core users is bridge builders. These are the ones who will oversee interchain transactions.
The Aion Team
The company behind Aion is Nuco, an enterprise software company building modular, secure, and scalable blockchain networks for complex, regulated markets.
Aion boasts one of the most incredible teams in the blockchain space:
They are led by CEO and founder Matthew Spoke who also serves in the board of directors for the Ethereum Enterprise Alliance and as a FinTech Advisor for Ontario Securities Commission.
Along with that their list of partners is incredible as well:
If the future is going to be decentralized and blockchains are going to become our zeitgeist, then it goes without saying that interoperability needs to be mastered. This is the core reason why it is critical for projects like Aion blockchainto succeed. They have a brilliant team and solid tech behind them, so there is no reason why they cannot do so. With the upcoming release of their main net, we sincerely hope that they can achieve their goals.
There are other projects as well like ICON and Wanchain who are aiming to achieve the same goals as Aion, and it is nice to see that they are pooling their resources together to achieve the dream of universal blockchain interoperability.