Cosmos is a proof-of-stake blockchain protocol that aims to be interoperable with any blockchain, communicate with any programming language, and support any token asset. Cosmos aims to enable data and value transfers between different blockchains, meaning a user could exchange Bitcoin for Ethereum via the Cosmos protocol. Cosmos is built on an open-source codebase called Tendermint, which specifies the consensus process and has been in development since 2014.
Cosmos provide a Software Development Kit to streamline the process of building out an application specific blockchain. Significant features of Cosmos include a variation of proof-of-stake capable of defending against Byzantine failures, cross-blockchain bridges capable of validating inter-chain transactions between incompatible blockchains, a decentralized exchange (meaning there is no requirement for a third party to manage the exchanged assets), scalable transaction capacity, and a democratic governance structure. The core protocol can also be a resource for future chains as an alternative to PoW or other PoS mechanisms whilst facilitating greater interoperability, should the industry continue to move towards a multi-chain world. For example, Cosmos launched 'Ethermint' in 2018, which replicates Ethereum's virtual machine functionality but uses the Tendermint consensus process.
Cosmos was invented and first developed by Jae Kwon, who still leads the project. Cosmos raised $17 million in an April 2017 token sale for Atom and was put under the control of the Interchain Foundation, with Jae Kwon as president. Tendermint, Inc., a for-profit Delaware company headed by Jae Kwon and contracted by the Interchain Foundation to deliver the Cosmos Network, also raised $9 million in a Series A in March 2019.
Cosmos works by connecting (figurative) “zones” to a main “hub” that ensures global in-variance by tracking the total amount of a token and approving transactions between senders and receivers— since there are many blockchains running concurrently there is a need to keep track of the total amount of tokens moving between users and zones. “Zones” are blockchains, built using the Tendermint consensus protocol, that are written in any coding language and which have unique governance and consensus structures. A “hub”, in turn, is a blockchain that acts as an intermediary between otherwise incommunicable blockchain zones.
The Tendermint consensus mechanism builds on research around Practical Byzantine Fault Tolerance (PBFT). Through decoupling the consensus engine and actual blockchain application (via a simple API), Tendermint Core is designed such that applications can be built on the blockchain in any language regardless of the language used to write the underlying consensus mechanism. This is in contrast to, for example, Ethereum’s reliance on a relatively small number of languages for writing applications which are compatible with the blockchain. Tendermint requires finality (total commitment to the new chain implied by a block’s creation) at the time of block creation meaning that the time taken to process blocks ought be short. In order to achieve this, Tendermint uses a small number of validators.
The protocol is secured through a mechanism Cosmos describes as "Bonded Proof of Stake," in which Atom holders can effectively delegate their tokens to a Validator. This is distinguished from a delegated proof of stake model because those who bond Atom can lose them if the Validator they are bonding to is caught cheating, whether through trying to submit invalid transactions or being accused of participating in a fork. Validators themselves can lose their Atoms if enough other Validators can submit a proof that s/he was trying to bond Atom on a fork of Cosmos: this is designed to mitigate the 'nothing at stake' attack to which proof-of-stakemodels are vulnerable.
Asset Details: Atom and Photon
Cosmos’ token, Atom, is used for staking to serve as a Validator in the main Cosmos hub. Although Atom was initially intended to be used for transaction fees as well, as is the case with most Proof-of-stake implementations, the team decided to introduce a separate fee token called Photons with a separate distribution and inflation mechanism. Such an architecture is similar to NEO's two-token model. Validator nodes vote on new blocks with influence proportional to their staked atoms. Atom holders can delegate their Atoms to Validators and earn a commission on the Validator's reward, which is denominated in both newly minted Atoms and collected transaction fees in Photons. Delegators can also lose their delegated Atoms if the Validator produces an invalid block.
Atoms also entitle holders to participate in Cosmos Hub’s governance, which is distinct from that of the zones to which it is connected. Validators and delegators can vote on various system parameters such as the block gas limit and generally coordinate system upgrades. There is also a written constitution which will hopefully align stakeholders, with an emphasis on action to be taken in the event of bugs or other similarly unforeseen issues.
The inflation mechanism for Atoms is as follows:
- The yearly inflation rate is dynamic, based on the total supply of bonded Atoms, with incentives to encourage bonding of 2/3 of the total supply.
- If the total bonded Atoms is less than 2/3 the total supply, inflation increases until it reaches 20%.
- If the total bonded Atoms are more than 2/3 of the supply, inflation decreases until it reaches 7%.
- At 'equilibrium' (2/3 of the supply bonded), annual inflation should be approximately 44%.