Virtual Machines Take Off in the Cosmos

Image for post
Image for post

The Cosmos Ecosystem is a complex adaptive system grounded in the joint philosophy of sovereignty and choice: where any group may build, deploy, and operate, using their preferred languages and tools, a fault-tolerant co-ordination service — “blockchain”, if you will — that can rendezvous with other blockchains.

This philosophy manifests in Cosmos software in the form of the ABCI and IBC protocols, that respectively enable blockchain applications to be built in any programming language, and to securely communicate with one another.

To date, the focus of ABCI development has been in Golang, namely, via the Cosmos-SDK, which is used for Gaia (aka the Cosmos Hub) and is emerging as a leading framework for blockchain application development. As the Cosmos-SDK has matured, attention is turning towards integrating various virtual machines as Cosmos-SDK modules, enabling Cosmos-SDK applications to update their logic at run-time through some of the leading blockchain virtual machines and runtime environments. Smart contracts and their underlying virtual machines are taking off in Cosmos.

In addition to Golang, there has also been significant development in Javascript, namely the LotionJS framework, which is being integrated with Agoric’s work on securing Javascript, and is being used to build Bitcoin pegs. There is also a preliminary ABCI framework in python, and community supported ABCI servers in languages like Rust, Erlang, Java, and Haskell.

To facilitate adaptation and emergence in the Cosmos ecosystem, we must continue to expand and increase support for a diverse set of languages and development environments.

Hence our Request for Proposals for development teams to build ABCI frameworks in other languages, and to integrate them with existing state machines and with IBC.

To this end, the Interchain Foundation is excited about funding a number of projects building virtual machines on top of Tendermint, either as modules for the Cosmos-SDK and/or via run-times in other languages:

Image for post
Image for post
https://gist.github.com/ebuchman/ec4882b7002803b4b33ccd4390baec47

More information about each project can be found below:

  1. Ethermint: The ICF funded ChainSafe to build Ethermint. Ethermint is the high speed implementation of Ethereum built on top of Tendermint. Go Ethereum can be slow and doesn’t offer transaction finality due to Ethereum’s Proof-of-Work security model. Ethermint will give the same ability to deploy smart contracts at a much faster speed. ChainSafe is implementing the EVM as a Cosmos-SDK module, allowing the Ethermint EVM to interact with other Cosmos-SDK modules. Prominent Ethereum applications, including Aragon, are contemplating adopting Ethermint for their own uses.

Of course, there is also the original gangster of putting virtual machines on Tendermint, since before the Cosmos white paper was even written: Burrow by Monax, an implementation of the Ethereum Virtual Machine on Tendermint, which is now also part of the Hyperledger project.

We are looking forward to working with these projects, and many more, on the journey to developing sovereign and decentralized state machines and integrating them into the larger Cosmos ecosystem.

To learn more about our funding program, including a complete list of funded projects, see here: https://github.com/interchainio/funding/

Written by

The ICF (https://interchain.io/) is the Swiss foundation funding and pushing the frontiers of blockchain-related infrastructure.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store