Aion: ARRT outlines the Unity Consensus POC results, Q2 2019 Transparency Report update
Biweekly update 31st July — 14th August
Dear Aion followers! These weeks, the team worked fingers to the bone as usual!
The Aion Research and Roadmap Team has released a blog post outlining the Unity Proof of Concept. The PoC has four main components with the objective to validate key metrics and simulate different attack scenarios. Full details available in their blog. What’ next after the Aion Unity PoC implementation? The Aion Unity economics design will be published soon. The Engineering team is busy productionizing Aion Unity. Stay tuned!
The team continues to set a new standard of accountability with a focus on long-term impact. To that end, the Aion Foundation has published its 4th Financial Report. This report provides insight into the internal operations, metrics, and strategies of the Foundation.
As for the social side, Aion Founder Matt Spoke shared updates on Unity, AVM token standards and java contract templates, tutorials on AVM, and Aion Foundation’s quarterly financial statement in his video update for the Month. Aion continued its mini-interview series with Yao Sun answering questions about the ARRT team and Unity. Part two of the Game-changing blockchain investment series with Matt Spoke and Alex McDougall was published.
The Aion community continually grows, and the ecosystem is impressive, and it continues to flourish! Aion Connect is live. Developers have been working extremely hard over the period of the last two weeks, so many updates on ecosystem appeared. Pocket Network released tutorial on how to use its Android plugin in a decentralized messaging dApp on Aion. Velocia presented on its live beta mobility rewards platform to the Miami Chamber of Commerce. Brendan Lee of Nodesmith talked about its Infrastructure-as-a-Service (IaaS) business model. Alessandro ML Toschi of Risepic released info on upcoming Non-fungible Art Order project and an article proposing worldwide blockchain regulation. Bicameral Ventures unveiled four additions to its Board of Advisors. The Aion Plaque arrived in Poland before heading to Austria.
Aion fans, get ready for an exciting few months which will be even more interesting with Aion migration to Unity consensus!
Developer activity (from Coinlib.io):
The PoC comprises of four components:
- A stake registry contract which manages the staker registration and handles stake/unstake requests,
- A new block structure, along with a set of validation rules, to account for two block types — PoW blocks and PoS blocks,
- A staking client, analogous to mining software, that eagerly generates PoS blocks when it is eligible to do so,
- An implementation of the difficulty adjustment algorithm and fork choice rule.
The objective of the PoC is to validate the key metrics presented in the Aion Unity paper and to simulate different attack scenarios. The metrics studied include block time, block reward distribution, and orphaned block rate.
The PoC Implementation
Stake Registry Contract
The Stake Registry Contract is the smart contract that manages the staker registration and processes vote/unvote requests (a.k.a. stake/unstake respectively). Any coin-holder with a minimum balance is allowed to register as a staker to participate in Unity consensus. Others can vote or unvote for a registered staker. Liquid coins become locked stake after a vote operation, and return to being liquid after an unvote operation, subject a to lock-up period.
The source code of the stake registry contract is available here. Although the smart contract is written in Solidity, it will later be rewritten in Java, to run on the AVM. Also, the enforcement of minimum registration stake and the unvote lock-up period are not implemented in the PoC.
Extended Block Structure
In Aion Unity, the blockchain structure is a singly linked list of PoW blocks and PoS blocks, with no intervening requirement. To distinguish a PoS block from a PoW block, the team extended the original Aion block structure with additional fields. Specifically,
- A sealType field is added to identify the block type;
- For a PoW block, the seal field consists of a nonce and an EquiHash solution;
- For a PoS block, the seal field consists of a seed and a signature of the block header from the staker.
The team has a new set of validation rules for PoS blocks, as follows:
- Validate the block header using the existing PoW validators, but skip the seal field validation.
- Validate that the seed is a valid ED25519 signature of the seed of the previous PoS block, and recover the signer’s address (let’s call it signer1).
- Validate that the signature is a valid ED25519 signature of the block header, and recover the signer’s address (let call it signer2).
- Validate that signer1 and signer2 are equal.
- Look up the signer’s stake from the state database and compute the PoS block generation delay.
- Validate that the delay is lesser than or equal to the duration between this PoS block and the previous PoS block.
To generate a PoS block, a staker needs to actively look up its stake and compute the block generation delay. When it’s eligible to generate a block, it creates a block template and signs it.
They call the software that performs this lookup, waiting, and block production a staking client. It needs to be able to:
- Manage the staker’s private key,
- Check the PoS block generation delay by communicating with a full synced node,
- Sign block templates created by the node.
The full PoC implementation of a staking client is available here.
Fork Choice Rule
Aion Unity uses a different choice rule to deal with forks on the network. It always selects the chain with the highest product of total mining difficulty and total staking difficulty. The total mining difficulty is simply the sum of the difficulties of all the PoW blocks on the chain; the total staking difficulty is that of the PoS blocks.
The way the fork choice rule is implemented in the PoC is to keep track of the total mining and staking difficulties of each block. When a new block is imported, either the total mining difficulty or staking difficulty is updated, as appropriate.
Difficulty Adjustment Algorithm
To maintain a targeted block time, the difficulty should be adjusted dynamically as miners and stakers join and leave. The mining/staking difficulty increases if the block time is too small, and decreases if the the block time is too large. Check here for the PoC implementation.
The PoC Results
To test how the PoC implementation works, the team sets up the following cluster:
- 8 nodes connected via an intranet;
- 4 of them are mining (1 Nvidia GPU each);
- The other 4 nodes are staking (1000, 2000, 3000, 4000 nAmp respectively).
They let the network run for 2500 blocks, and then calculated the following statistics:
By analyzing the collected data, the team found that the key metrics for the PoC implementation match what has been presented in the Unity paper:
- The average block time is very close to the targeted 10 seconds;
- The difficulty adjusts from 1 to the right level within 200 blocks, with the given network configuration;
- The number of PoS blocks and PoW blocks are roughly the same;
- The block rewards of a miner are proportional to the mining hashrate, while the block rewards of a staker are proportional to the amount of stake.
Network Partition Attack
In this experiment, they assessed the ability of the network to recover from a period of broken connectivity. To test it, the team partitioned a cluster into two groups for a period of time, and then rejoined them.
By observing the weight growths of the chains of the two partitions, they found that both partitions could progress independently. When the connectivity issue was resolved, the network chose the chain with a higher weight. The experiment helped them identify some syncing issues in the kernel implementation, which were fixed.
Aion Founder Matt shares updates on Unity, AVM token standards and java contract templates, tutorials on AVM, and Aion Foundation’s quarterly financial statement.
Game-changing blockchain investment. Part 2: Designing your stack with Matt Spoke and Alex McDougall
See how investors and blockchain projects are envisioning the tech landscape, where they expect the value to accrue, and how they aim to catch it.
In Part 1 of this series the authors explore how the Bicameral Ventures blockchain investment fund articulated blockchain applications in concrete terms and identified use cases. In Part 2, they’ll look at how it’s building those applications out with targeted investments, and what the process looks like from inside the stack.
Aion continues its mini-interview series with Yao Sun answering questions about the ARRT team and Unity:
AVM interviews with Jeff Disher:
- What does the AVM do?
- Why has nobody tried this before?
- What are the next steps for the AVM?
- Why should developers build on Aion with Java?
- Can we run any Java app on blockchain now?
Calvin Sribniak-Jones (u/calvinsj) is the Head of Marketing at the Aion Foundation and is the most recent pod lead to join the team. Upon arrival, he initially helped the team with the first annual REBUILD Conference followed by leading the marketing and PR coverage for the AVM launch:
Most recently Calvin has been managing the day-day marketing activities for Aion and contributing to the strategic planning for the future of the network. Outside of work Calvin keeps a balance between RPG/MOBA games and IRL rec sports.
Token holders and the number of transactions dynamics (from Aion Explorer):
Information from Coinmarketcap.com:
The team continues to set a new standard of accountability with a focus on long-term impact. To that end, the Aion Foundation has published the Aion Foundation Report Q2 2019. These reports will serve the purpose of providing insight into the internal operations, metrics, and strategies of the Aion Foundation.
The Aion Foundation Report was updated on August 2nd, 2019 to add more clarity to the Aion Spending Summary.
Phase 2: Denali
- Aion Virtual Machine (AVM) Version 1
This AVM is a custom-built, lightweight, performant, and stable VM that leverages key characteristics of the Java Virtual Machine (JVM), providing concurrency and robustness within a blockchain-specific context. The AVM is responsible for running applications on top of Aion. The AVM will include its own scripting language.
- Aion Scripting Language
The Aion scripting language is used for writing chain logic that runs on Aion-Everest and potentially any connecting/participating network. The Aion language is compiled into AVM bytecode and executed by the AVM. The Aion language provides the following features: Defensive programming, Blockchain runtime environment, Blockchain context injection, Security.
- Proof-of-Intelligence Consensus Algorithm
An economic measure to deter denial of service attacks by requiring participants, solvers in Aion-Everest, to perform 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.
Phase 3: Everest 2019
- Participating Network Bridging
The generic bridge protocol is designed to enable the atomic movement of value and data between heterogeneous networks. This will enable the development of cross-blockchain contract logic and free-floating token supplies.
- Complete Validator Nomination
The Hybrid DPoS / PoI consensus mechanism aims to achieve high performance while providing a fair and decentralized validator set. This is achieved through a token staking system and partly through a novel verification algorithm based on concepts used in modern neural networks called Proof-of- Intelligence.
- Aion Virtual Machine (AVM) Version 2
• Q4: Unity Consensus (PoW/PoS hybrid)
Partnerships and team members
Velocia presents on its live beta mobility rewards platform to the Miami Chamber of Commerce:
Poket Network releases tutorial on how to use its Android plugin inside a decentralized messaging app to communicate on Aion:
The Aion Plaque arrives in 🇵🇱Poland before heading to Austria:
Alessandro ML Toschi of Risepic releases info on the upcoming Non-fungible Art Order (NAO) project and article proposing worldwide blockchain regulation.
Projects Building on Aion:
• Digital Liquidity Factory
• THÉO (theoproject.io) (with Syná wallets)
• Agora (beta.agora.theoproject.io)
• Spiro (centrys.io/enterprise)
See also Aion Connect.
Check out Unity Consensus Feedback Form.
AION network brings forth a fantastic platform for building dApps by Aditya Chatterjee.
Getting started with Java Smart Contract on AVM (Aion Virtual Machine) with Aion4j
Social media metrics
Aion Community Commitment: a few initiatives that will involve participation from everyone and enable two-way communication.
Social media activity:
Social media dynamics:
There is a slight fluctuation in the number of subscribers of Aion social media channels.
Twitter — Average number of retweets is 15–30 for one post.
Facebook — 10–15 likes per publication.
Reddit — Threads with 2–10 comments. The community is quite active discussing latest news, development, mining, token price and possible partnerships.
The graph above shows the dynamics of changes in the number of Aion Reddit subscribers, Twitter followers and Facebook likes. The information is taken from Coingecko.com.
Aion Community — unofficial community-run Telegram channel for humor, memes, and trading discussion.
Developer Subreddit — r/AIONgineering.
Discord — Active discussions on the latest updates and mining.
Aion forum — Discussions on mining, news, network statistics etc. Popular topics:
Global Telegram Channels:
Korea — Kakao chat
Russia — @AionNetworkRU
Poland — @Aion_Poland
Spanish — @AionNetworkES
Kenya — @AionKenya
Netherlands/Belgium — @AionBenelux