Today I’m taking a deep dive in to Cosmos.
Cosmos makes it easy for developers to build Blockchains and allows these Blockchains to interact with one another.
Cosmos’ goal is to create an ‘Internet of Blockchains.’ This is a network of Blockchains able to communicate with each other in a decentralized way. Cosmos aims for Blockchains to maintain sovereignty, process transactions quickly and communicate with other Blockchains in the ecosystem.
Cosmos is fostering an ecosystem of networks that can share data and tokens programmatically, with no central party facilitating the activity.
Cosmos was initially developed by Tendermint creator Jae Kwon.
Jae Kwon is a blockchain software architect and co-founder of Tendermint, and the president of the Interchain Foundation. The Interchain Foundation is (ICF) is a Swiss non-profit foundation that was formed to support the development of Cosmos and the ecosystem that will contribute to the Cosmos Network.
Before Cosmos and Tendermint Kwon worked as a developer at Alexa, and at Yelp where he led the mobile application development team. He also cofounded iDoneThis, a productivity service.
Ethan Buchman is also a co-founder.
Ethan Buchman joined with Jae Kwon to develop Tendermint after they met at the Cryptocurrency Research Group and Crypto-economics Conference in 2015.
Buchman was Vice President of the Interchain Foundation for 4 years.
He is currently CEO of Informal Systems. Informal Systems is a company that specializes in the security of interblockchain protocols.
The Cosmos network is made up of three layers.
- Application Layer – Processes transactions and updates the state of the network.
- Networking Layer – Allows communication between transactions and Blockchains.
- Consensus Layer – Helps nodes agree on the current state of the system.
To tie all the layers together, Cosmos relies on a set of open-source tools.
The main element of this layered design is the Tendermint BFT (Byzantine Fault Tolerance) engine. This allows developers to build Blockchains without having to code them from scratch.
Tendermint BFT is an algorithm used by the network of computers running the Cosmos software to secure the network, validate transactions and commit blocks to the Blockchain. It connects to applications through a protocol called the Application Blockchain Interface.
Central to Tendermint is Tendermint Core, a Proof-of-Stake (PoS) governance mechanism that keeps the distributed network of computers running Cosmos Hub in sync.
For the participants or validator nodes to power the Blockchain and vote on changes, they need to first stake ATOM. ATOM is the native token of Cosmos.
A node needs to be in the top 100 nodes staking ATOM to become a validator. Voting power depends on the total amount of ATOM staked.
Users can also delegate their tokens to other validators, allocating votes to them while still earning a portion of the block reward.
Validators receive incentives to perform honestly, since users can switch between the validators to whom they delegate ATOM (depending on their voting preferences).
The Cosmos Hub was the first Blockchain that launched on the Cosmos network. It effectively acts as a channel between all the independent Blockchains created within the Cosmos network. These independent Blockchains go by the name of ‘zones.’
Each zone is able to carry out its essential functions on its own. This includes authenticating accounts and transactions, creating and distributing new tokens and executing changes to its own Blockchain.
The Cosmos Hub facilitates interoperability between all the zones within the network by keeping track of their states.
Zones connect to the Cosmos Hub via the Inter-Blockchain Communication protocol (IBC). This enables information to travel freely and securely between each connected zone.
Once a zone connects to the Cosmos Hub, it is interoperable with every other zone connected to the hub. This means that Blockchains with different applications, validators and consensus mechanisms can exchange data.
The Cosmos team also built the Cosmos Software Development Kit (SDK). This kit enables developers to build Blockchains using the Tendermint consensus algorithm.
Developers can also create plugins to add any additional features they want to have.
ATOM is the native token on the Cosmos network, and it fuels smart contracts. New ATOM coins generate to serve as rewards for network validators every time a block of transactions receives approval.
By owning and staking ATOM, users can vote on network upgrades, with each vote being proportional to the amount of ATOM they stake.