Engineering Update (8-MAY-23)
It’s been a few weeks since our last update. Things have gotten really busy internally as we prepare for the platform and chain launch. We’ll be honest, it’s an extremely exciting time for us. The two years of careful study and diligent engineering has brought us to this point.
Since we last posted, many updates have happened and we’d like to share them with you.
The Operating System Kernel + AMP
As you may know, the Andromeda Operating System (aOS for short) will be deployed on many, many CosmWasm based chains. Most of them will be CosmosSDK flavored, but it’s not a requirement. The architecture of Andromeda is based around the aOS set of smart contracts being deployed to multiple chains and then initiated with the sovereign Andromeda chain via IBC. Once the aOS is initiated, it can then pass AMP (Andromeda Messaging Protocol) packets locally (same chain) or via IBC to other chains.
All contracts/objects inside Andromeda communicate with each other via AMP. This allows for more advanced permissioning (similar to how files are in Unix), developer recovery fees via the economics module, more advanced identity systems beyond just pub/priv keys, and the VFS (virtual filesystem). If a user wanted one ADO to communicate with another ADO, an AMP message would be passed to the OS for permissioning, economic enforcement and execution.
This AMP message would be passed to the aOS kernel, the system of contracts responsible for enforcement of security and economics, and then once checked for validity, forwarded to the object or destination instructed. This creates a closed loop for the objects in the system so that more sophisticated environments can be crafted.
The IBC router and VFS allow for easy, human readable, addressing. VFS has been inspired by the Filesystem Hierarchy Standard from the Linux Foundation. A user in Andromeda will have a home directory on each chain that can be addressed with /home/username/. Common systems such as liquidity pools, existing protocols such as Astroport, etc can be found in /lib/astroport/lp/luna-stluna
With IBC, any object with aOS can access these objects on other blockchains using the following syntax:
[transport protocol]://[destination]/path/to/object
ibc://terra/lib/astroport/lp/luna-stluna
ibc://juno/home/superphly/nfts/monkey-picture.jpg
The username/identity information would be supplied in the AMP message as well and validated end to end.
The takeaway here is that we’re moving beyond the brittle and monolithic protocol builds seen throughout the blockchain industry. We can now create higher levels of order and sophistication. This creates new functionality never before seen on any blockchain.
Deployment Plans
In order to establish trust between chains, the aOS must be initialized by the Andromeda DAO. This is done via IBC channels from the sovereign Andromeda chain that acts as the neutral hub for registration. Once the systems are trusted end to end, they can start communicating giving way to network effects of value. The aOS is then in control and management of IBC packets instead of the user/wallet.
With careful study, we are determining the best chains to initially deploy on this summer. More to follow here soon!