[ARCHIVE] Aion — State of the Tech


2018 was a massive year of technical releases for the Aion project. We launched the Aion Network, scaled a global mining community, released comprehensive developer and users tools, and successfully completed our token swap within 12 weeks using our Aion token transfer bridge. Coming into 2019 we have even higher objectives for technical progress and innovation, but before we go into those details, it’s important that we look back and explain what we have achieved together as the Aion community.

Aion Kilimanjaro MainNet

Minutes before the launch of Kilimanjaro MainNet

Throughout the latter portions of 2017 and heading into 2018, the engineering team was focused on realizing the initial AION-0 TestNet. The team focused on working on the core components that brought the initial Aion-0 Java Kernel to life: this consisted of a novel Equihash 210,9 verification scheme, the creation of a customized transaction pool for handling large throughputs in an efficient manner, the FastVM that drives applications on the blockchain, and peer-to-peer and consensus protocol specifications. These first implementations were iterated upon numerous times throughout the lifetime of the TestNet, and reached maturity during our first major protocol upgrade of the TestNet, at this point, the TestNet somewhat resembled the AION-0 Kilimanjaro MainNet. We spent a large portion of the time stress testing the network to ensure a smooth operation under stress (with daily transaction rates upwards of 5 million).

The release of the AION-0 TestNet necessitated the creation of several pieces of accompanying software, the creation of mining pool software, a dedicated Equihash (210,9) miner and dashboard that served as the face and front-page of the network. On April 25th, after months of testing with a dedicated group of participants, the Aion Foundation launched the Aion Kilimanjaro MainNet.

FastVM

One of the core features available in the TestNet and eventually the Main-Net right from the beginning was our Fast VM, a performance-optimized variant of the EVM that performed significantly faster than the counterpart. Our main contribution here is a data-word change that significantly reduces the execution time for the majority of computation based OPCODEs, we were somewhat limited in the changes we could make to the platform without completely compromising the underlying model. The realization that the model described by the language and virtual machine did not allow for the significant optimizations we were hoping for and the significant tooling (or lack of) challenges ahead inspired the design of some portions of AVM, the Aion Virtual Machine.

Aion Virtual Machine

Overview of AVM architecture

The Aion Virtual Machine is a JVM based sandboxed VM that we had initially conceived within the whitepaper, rethinking the limitations imposed on smart contracts by other systems. This lead to three primary requirements that lead AVM design:

  1. Develop an alternative to Solidity that would improve the expressiveness of the language, allowing developers to reason about more complex problems, as mentioned before this was further solidified (no pun intended) with the teams experience with the Solidity language.
  2. Improve, at the transaction execution level, execution parallelism.
  3. Preserve compatibility with tooling that surrounds the JVM, an ecosystem we knew to be mature and well supported by multiple industry vendors.

As indicated by our Virtual Machine team, expect more material delving into these design choices in the future.

Initial brainstorming of possible approaches or AVM

The Aion Virtual Machine research was underway as soon as the Kilimanjaro Mainnet was launched and matured into a Proof-of-Concept by the August timeframe. We released the first AVM Alpha internally within the engineering team, featuring a minimally viable Java-based development kit, and an in-memory net new storage layer that made it feasible to develop test applications for the alpha. This was followed by two beta software releases, the second of which integrated with a pseudo-Aion blockchain, allowing the user access to the networks environmental context and interact with the contract through transactions.

Hello World from the AVM!

At the time of this writing, the Virtual Machine team has launched the first AVM TestNet for public consumption.

Aion — Rust Implementation

The Aion — Rust Implementation was an item discussed internally within the engineering team, as a way to improve network security by removing the complete burden of network liveliness in the hands of a single development team and single point of failure in a java kernel. Additional benefits we wagered was that this bilateral approach to kernel development forced the creation and specification of details and knowledge into a form of specification instead of relying on the code (inherently biased) for documentation.

This was also a great opportunity to expand into the Asian markets, and develop a strong team under the guidance of some of the senior engineering team members. The Aion Rust Kernel was completely developed by members of the Aion China team (Chaion) and satisfies the Aion specifications. As of January 23rd, the Rust kernel is now available on the Aion Foundation GitHub and being rolled out to the network operators. Chaion is now directing efforts to building internally and collaborating with external organizations on building decentralized applications targeted towards the Asian market, along with the maintenance of the Rust kernel.

Proof of Intelligence

One possible design for Proof of Intelligence discussed internally within the Foundation

Proof of Intelligence was one of the items that we initially proposed in the whitepaper. From the offset we explored the topic in two directions:

  1. Building a cryptographic puzzle that requires a solution using neural networks (similar to how Equihash requires creating hashes)
  2. A proposal for a Proof-of-Useful-Work solution that would leverage the size of the network to contribute to work that is useful to a third party.

In developing the cryptographic puzzle idea, several prototypes were proposed. We also implemented a solution that allowed mining blocks using neural networks with random properties defined based on the previous block hash. We internally ran debate sessions and concluded that this approach did not lend itself to be useful at present, but rather was an extended hashing algorithm with untested security properties.

The research on the useful work proposal was done in collaboration with a research group from York University. This surfaced interesting ideas about how to build a marketplace for proposing puzzles to be solved by the blockchain and investigated ways of working with obfuscated data while maintaining its utility to the data provider. This research was however very dependent on the design of the consensus algorithm.

Therefore, the decision was made to revisit this topic later and shift focus instead to more consensus related research. We plan on using the insights learned from looking into PoI prototyping in the consensus design, specifically around committee selection, and return to this topic when useful work could be realized.

Desktop Wallet

Going through features of the Desktop Wallet

The Aion Desktop Wallet is a joint effort between the Aion Foundation and one of our close working partners Centrys. With the initial goal of creating an offline desktop wallet. We started expanding the scope of this project in preparation for the Token Swap. We had several problems to solve: Integrate secure hardware backed wallet solution, integrate a secure trusted third-party hosted node infrastructure, and resolve several issues related to the packaging and UI of the software. Since the initial release, we have conducted two updates focused on security, speed and small tweaks to the user experience. Now AION holders have numerous options on the desktop, mobile and hardware for storing and sending their AION Coins.

Token Bridge

An initial design for the Token Bridge

The Aion Token Bridge was a major component that facilitated the transfer of over 100 million AION from the ERC20 Token to native coin and was a major engineering target in the latter half of the year. The mechanisms behind the token swap served as a first Proof-of-Concept demonstration of cross-chain interaction via intermediates (or notaries). The design of the bridging component itself was subject to many internal discussions throughout the year, and the final solution optimized for simplicity and efficiency of the bridging mechanism.

Beyond producing a Proof-of-Concept demonstration, the team spent a large portion of time refining, testing and ensuring the user experience of the Token Swap was intuitive and simple for the end user to consume. Of particular interest was securing the bridge from any possible outside attack vector, which resulted in working heavily with the DevOps teams to establish security protocols that ensured a minimal attack surface area.

Successful transfer! An alpha version of the bridge interface

We’ve since expanded on the original bridging infrastructure built for the Token Swap into more generic infrastructure, in the coming days expect an article from us that details the lessons we learned designing and building the bridge. As well, expect a more formal look at the state of interoperability, it’s implicit assumptions and the limitations of what is achievable with bridging.

Developer Documentation Suite

A lot of things have changed in the last few months regarding the Aion documentation. We create new portal dubbed “Aion University” where everyone can learn about new ways of designing and blockchain concepts, as well as follow in-depth guides and tutorials to help them build things with Aion. We’ve completely rebuilt the docs.aion.network website to make it easier for community members to contribute to the project. We’ve started to create more of a presence on StackOverflow with the introduction of an Aion tag. Moving forward, we’re going to be contributing more to the Aion Youtube channel with video tutorials, interview, and updates on the Aion project. We’re also going to explore using other media to reach more of the community. Finally, we’re going to be attending more meetups and conferences in the blockchain space to better interact with developers on a face-to-face level.

Developer Tools

A few of the awesome tools on Aion

Following the launch of the network, the ecosystem development teams focused their attention towards building and coordinating the development of critical developer tools to build, test, deploy and interact with applications on Aion. These essential tools included a node hosting service, faucets, IDE & CLI, docker images, light-weight compiler, APIs, SDKs, and user interaction tools. This sprint was extremely successful and lead to a robust ecosystem fund composed of individual, start-ups and corporate contributors. See all the tools and active/historical grants.

Where are we going?

Throughout the past year, the Aion Engineering team has had multiple focuses, most of them related to tangible items that presented themselves as a necessity. We were laying out the groundwork and infrastructure that we could build atop of at a later point in time. In 2019, we’re going to take a step back and re-organize to visit some assumptions made throughout the genesis of Aion. The first major milestone of 2019 will be the production release of the AVM onto the MainNet. This release will enable the entire Java ecosystem of tools, organizations, communities, and developers to build powerful decentralized applications (written in java!) on Aion. We are lining up a suite of amazing plug-in’s into popular tools over the coming weeks and months to make the developer experience seamless. On the research side, one topic debated within the foundation is that of a network solution to problems of scaling the AION network for purposes of decentralized applications. Achieved while maintaining constraints on the security of the network such that minimal sacrifices are made. There have been numerous empirical evidence that the fundamental assumptions of PoW and security assumptions such as the Honest Majority may not hold as well as hypothesized. This is compounded when interoperability between networks is introduced as the issue of causality between networks is less convincing in probabilistic and incentive driven security guarantees.

Challenges resolved, challenges lay ahead

To solve this, we’ve mobilized our engineering team into two divisions. First is the Production Team, that focuses on production deliverables, presently working on the AVM. Second is the introduction of a new research and roadmap team called ARRT, staffed with members whose backgrounds range from production engineering, distributed systems, and cryptography.

The ARRT team is currently researching and evaluating the recent progress in cryptographic primitives like zk-SNARKs, STARKs along with mechanisms for verifiable randomness like VRF function, sampling methods, and cross-shard messaging mechanisms and their relationship to our existing interoperability tech. This research will provide a concrete understanding of what new underlying cryptographic functions must be implemented into the Aion network in order to build a secure and scalable consensus engine.ARRT is here to focus on the future of Aion, to building a network that is capable of delivering on the high throughput load that interoperability and the next generation of decentralized applications required, to re-imagine Aion as a scalable application platform.

Possible Aion frontpage to come— redesigned to fit our goals

In the coming months, ARRT will be releasing a research paper outlining their findings and setting new milestones for the next iteration of Aion. In addition to this, we will be revamping parts of the Aion Network website to reflect the new direction and approach. Expect more updates from us! ?


written by

Aion

The blog for the digital asset of The Open Application Network