Chelsea Jiang, Foresight Research
In 2014, Tendermint, the prototype of Cosmos was established, only 5 years after the release of the Bitcoin white paper.
In 2018, Cosmos won the best white paper at the Wanxiang Blockchain Week in Shanghai, the bear market was in a a 4-year bear cycle.
In 2022, Cosmos is live with betanet to bring the universe of blockchain interconnection.
Just small reminder that this article involves technical details and is relatively long thus a table of contents is provided for reference.
Cosmos is not an independent blockchain, but a network, a network of blockchains.
The goal of Cosmos is not to build its own blockchain, but to build an interoperable network. In order to achieve this, Cosmos provides developer tools to significantly cut the time and labor, including the Tendermint consensus engine, the modular development framework of the Cosmos SDK, and the IBC communication protocol to realize the transfer of information and assets between blockchains and open up different blocks.
Before understanding the development ideas of Cosmos, let’s take a brief review of the history of blockchain.
Bitcoin is a decentralized monetary system. Bitcoin introduced a consensus mechanism for the first time into a distributed database: Proof of work, which motivates participants of the network to maintain the ledger to receive bitcoin.
Bitcoin is a ledger that anyone can participate but no one can own. So no one can change the record,first time a decentralized currency system achieved through technical means. You can make transactions with anyone in the world and all you need to know is the bitcoin address of the other party, without worrying about the bank code or providing a residential address.
POW takes trust out of the equation. Anyone can participate in the Bitcoin network and become a node to solve the mathematical problem of the encryption to produce a block, during which computational power is consumed.If a malicious actor wants to attack the network, for example, transfer 1,000 bitcoins to their own address, 51% of the network need to reach consensus for this to happen.Since Bitcoin mining is almost an arm race, the cost of joining the network is getting higher and higher, and thus almost impossible to master 51% of the nodes to carry this attack.As a result, Bitcoin has achieved global consensus as the store of value.
However, Bitcoin is limited in terms of programmability. If you want to develop applications on the Bitcoin network, there are only 2 choice:
This is because on the Bitcoin network, the network layer, consensus layer, and the application layer are all mixed together, and the simple scripting supported by Bitcoin is basically only suitable for transactions.Thus it’s hard to create new things on top of Bitcoin.
The smart contracts brought by Ethereum have opened up spaces for new use cases,pushing for mainstream adoption.The Ethereum Virtual Machine simulates the processing system to run smar contract, which is utilized by many developers to invent applications. Developers only need to tell the smart contract what to do and how to do it through code, and ethereum will take care of it from there. Smart contracts liberate the developers from building blockchains and instead focus on building applications.As a result, we see new use cases emerging on top of Ethereum,thus entering the era of blockchain 2.0.
But Ethereum still faces issues.The existing DAPPs deployed on the EVM are essentially competing for the limited block space on the chain. However,EVMs is optimizatized for general purpose in order to adapt to more applications while different applications may ask for different features. For example, Defi needs to be confirmed quickly, but NFTs require storage space. But Ethereum cannot adapt to every scenarios.
DAPPs on EVM do not have sovereignty.If DAPP needs to be modified, it has to consider whether it is compatible with the underlying Ethereum network. Once a smart contract is deployed, developers basically can only rely on the contract to run autonomously.
Just like Apple’s IOS gives developers the space to create and thus able to turn a mobile phone from a single-purpose communication tool into a smart phone that you can play, work,and socialize. As the bottom layer of smart contracts, Ethereum also gives developers space and thus spring out of decentralized financial system, NFT markets, and a decentralized game economy.
However, as these applications attracts more and more traffic and users, for example, the play-to-earn game Axie Infinity in which there is 2 million daily active users, Ethereum found itself hard to accommodate to these large-scale applications. At the same time, other public chains have also begun to form their own ecosystems and users now hold multiple assets cross chains.
Cosmos goes a step further on the basis of Ethereum, allows developer to scaffold with tools including Tendermint, CosmosSDK, and IBC.
1.3a) Building a chain
First of all, applications are built on top of a blockchain. Specifically, the application layer in the blockchain is where developers create business logic,the underlying layers,the network layer and consensus layer at the bottom of the chain are responsible for the performance of the application running.
However, to achieve mainstream adoption of applications, the entire chain may need to serve a single application. Axie,for example,chose to develop its own side chain Ronin to handle its transactions. Ethereum, as the host of numerous Defi, NFT, and other applications cannot spare extra space to handle the business of Axie games. When it did in the beginning ,there is huge congestion resulted on the Ethereum network. After all, the TPS of Ethereum is only 15–30.
At the same time, the explosion of applications on Ethereum has also made developers realize that different application scenarios ask for different things from a blockchain.It is impossible for a single blockchain to optimise for every scenario.An application aiming for mainstream adoption thus should choose to build their own blockchains to support their business.
Ideally,each application should have an independent blockchain.However, it is neither necessary nor efficient to build a blockchain from scratch, given the huge workload of development.Cosmos provides a modular blockchain for developer to quickly build a chain and customize to their applications.
1.3b) Composition of the public chain
Let’s take a a look at the makeup of a blockchain:
1. Data layer: Data storage technology, mainly using cryptography including Merkle tree, digital signature, hash function, asymmetric encryption technology etc, is to store data in a block and then connected in a chain-structure, combined with the technology of timestamps to form the sequence.
2. Network layer: The mechanism of communication in the peer-to-peer network that affects the speed scalability of the blockchain
3. Consensus layer: The method to reach consensus of the record that should be put on the distributed ledger affects the security of the blockchain.
4. Incentive layer: Economic incentives for nodes to participate and maintain the blockchain.
5. Contract layer: Smart contracts development and Execution
6. Application layer: User-facing Interface
1.3c) Tendermint consensus mechanism
Tendermint is actually the name of the company founded by Jae Kwon before he created Cosmos, and Tendermint Core is the actual software, mainly madeup two components: Tendermint Core, which provides a consensus mechanism as a consensus engine, and an API interface ABCI that can adapt to the majority of programming languages.
In the design of Cosmos, the data layer and the network layer are classified as the network layer, the contract layer, and the incentive layer as the consensus layer, and the contract and application layers as the application layer. For developers, the bottom network layer and consensus layer are not the keys to what they want to develop. The application layer is where they create use cases.
Tendemint provides a network layer and consensus layer in Tendermint core, allowing developers to build their own application layer on top of this common engine.As a general engine, Tendermint Core can record transactions on the chain securely and consistently.
The network layer uses Gossip protocol, which imitates the epidemics in spreading information in P2P network(the same as Bitcoin network); the consensus layer uses BFT+POS, which we will discuss in details.
1.3c1) Tendermint Core consensus engine: BFT-based POS consensus algorithm
In fact, everyone has encountered a consensus problem. Just to name an example, discuss with friends about the choice of dinner.In the context of blockchain, the parties are nodes discussing what to write on the next block. The blockchain allows nodes to join or leave at any time, and even if there is a failure, the network can still function normally. This is based on rules formulated in advance, which is called the consensus mechanism.
Satoshi Nakamoto introduced Byzantine Fault Tolerance (BFT), which studies how to reach valid result in an unreliable environment. Jae Kwon was the first personto actually propose apply BFT research to Proof of Stake consensus, which resulted in Tendermint.
BFT Byzantine Fault Tolerance Mechanism
In 1982, Lamport, Shostak and Pease first proposed the” Byzantine generals problem”, describing how a group of Byzantine generals besieging a city from different positions need to decide to attack or retreat. Generals in different positions can only communicate with each other through messengers. If there are traitors among these generals, then the traitors can send different messages to different generals, such as sending fake news to generals who tend to retreat, thus corrupting the decision.
The ability of reaching consensus in the circumstance of traitors is thus called BFT, Byzantine Fault Tolerance. BFT guarantees that:
when the total number of nodes is N, the number of faulty or malicious nodes is F, as long as N >= 3F + 1, the network can still reach a consensus and make a decision.
Thus , BFT is used to describe a system in which participants come to consensus even the participants of the network cannot be sure whether someone is lying or a message has been corrupted.
POS Proof of Stake
BFT sets out rules for running the network and POS describes the way to participate in the network.Proof of staking requires each participant to hold and pledge the native tokens of the blockchain, $Atom in the case of Cosmos, to become a verifier and reach a consensus on the record of a block. Essentailly converting computational power in POW to holding tokens. The pledged tokens are used as security deposits to obtain voting rights, which shows that the node is not a fake account to launch a Sybil attack. To prevent Nothing-at-a-stake problem in which a verifier vote on every single transaction to maximize its returns, the deposit can be confiscated in the process.
To reach consensus, 2/3 of the votes from verifirers are needed in the multi-round proposal, pre-voting, and pre-submission process. If succeed, the data is submitted to a new block, and thus adding on the block height (actually the number of blocks) .Otherwise, the whole process will resume until 2/3 votes is satisfied.
Participants only in the process of proposal, pre-voting, and pre-submission is called non-validator node, or light client, to ensure that all the nodes, whether light of full, in the network can monitor the messages across the network; Validators who participate in the whole process,from voting to block production, are called full nodes: the verifier who starts the voting process are called the proposer in order to identigy the responsibility is fulfilled. The more pledged tokens, the greater the probability of being selected, and thus more rewards can be received.In other words, the more you put in, the better your chances of getting a higher return.Of course, not every round will succeed in generating blocks, and the whole process can be shut dowd if the network is disconnected or delayed.
Nonetheless,to protect the soundness of the data,light clients can verify every transaction with the block header (which can be understood as the title of the article) they stored. Instead of synchronizing with the network by downloading the full dataset, light client only needs block headers to track the final result and verify whether two-thirds of the validators from the block have pre-committed.
POW vs POS
POW method allow everyone to join as a miner to become a bookkeeper on this distributed ledger and produce a block to receive bitcoin. However, to increase efficiency, Tendermint has set a limit of 100 nodes in the network, and this enabled fast finality in the result of the blokcchain, which means that under the same input conditions, the output result is always deterministic.Theoretically you can have at least 2/3 of the nodes vote to add more nodes.On the contrary,Bitcoin may be at risk of forking.Tendermint has a fixed number of nodes.
The validator of Tendermint with a cap of 100 may be consibed to be centralized, but decentralization should be a means to an end rather than an end itself.As long as the cost of disrupting the system is high enough, and punishment in place, Tendermint can secure its not deterministic consensus through BFT-based POS.
Even if 1/3 of the nodes fail, including hacker attacks and malicious attacks, Tendermint’s network can still achieve consensus and work normally. This means that the network using the Tendermint consensus engine can guarantee the safe operation of the network in most cases, which is a prerequisite for any application to start large-scale use; at the same time, it is fast, with a block time of about 1 second, guaranteeing the same transaction. Recorded on the chain in the same order
1.3c2) ABCI interface: an interface that liberates developers
In the Cosmos blockchain network, each blockchain can use Tendermint as the underlying network layer and consensus layer, and application layer can customize to business logic through ABCI, the application blockchain interface that allows developers to use any languages they prefer.
ABCI: Flexible calling method
Before talking about this tool. Let’s circle back to the design of Blockchain structure.Bitcoin and Ethereum we have adopted integrated design in which,the different layers of blockchain, network, consensus, and application layers are all interconnected, which means applications built on top of it are also affected by the underlying strucutre.
This overall architecture is prone to two problems:
1) The code is hard to use. For example, the pending transaction pool ,also called mempool, account balance,and user permissions are all mixed together.If you want to take out the mempool alone, it will become very difficult.Even if it is forked, it is difficult to maintain and possibly become spagetthi codes, which, as the name suggests, is entwined and confusing.
2) Limited in terms of development. In the Ethereum network, EVM needs to compile the smart contract code into bytecode through a compiler and upload it to the blockchain before it can perform operations, so developers can only use the languages supported by the EVM compiler, namely Serpent and Solidity.
There are mainly 3 ABCI connecting the application layer and the Tenderint consensus layer, including:
1) CheckTx: Verify the transaction and submit it to the mempool transaction pool to broadcast the transaction
2) DeliverTx: Submit to the consensus engine to process and update the state
3) BeginBlock/EndBlock: Query the status of the application layer
In computer science, monolithic architectures are generally not considered a good practice. Cosmos transforms the original need to build a layer-by-layer blockchain architecture from the bottom into a modular structure that can be break apart or put together. Just like assembling a computer, you can assemble a memory stick, monitor, keyboard, and mouse into a computer and even customize configuration according to you own need.
Cosmos also provides tools to configure the application layer as well ,which is called SDK.
Blockchain is, in essence, a state machine that can be replicated, which is a logical model that simplifies the causal relationship and updates the state given a certain condition. For example, Bitcoin is a ledger that can be downloaded by everyone. After a new transaction, it will be updated to this ledger that everyone can see. In practice, a large number of transactions can be packaged and uploaded on-chain to modify the state of the ledger.
1.3d1) SDK module design
SDK provides common application functions, of which each function can be run independently or combined with other modules. Basically, each module can also be regarded as a separate small state machine. Developers can customize the state and the mechanism, which can be saved in KVStore in the form of Multistory for future use. At the same time, as an open-source software, developers can quickly fork and update the code, thus allow developers can create more applications with ease.
The state of the application layer is defined and maintained through the mechanism of Multistore, and the state of the application layer is divided into different modules, which can be regarded as an independent state machine. The Tendermint consensus mechanism is verified by CheckTX and submitted to the mempool transaction pool. After the nodes reach a consensus and successfully produces a block, the transaction is packaged and put on the chain, and the status is successfully modified through DeliverTx to finally carry out the transactions.
After receiving the transaction in the form of bytes through the function of DeliverTx, the information will be decoded and message extracted.After verifying the information,such as whether there is a signature, corresponding module will process the information and updates the status.The updated state is saved by the function of Multistore in the SDK, and the information can also be cut to correspond to different modules.
1.3d2) SDK module function
Features provided by existing modules
Basically, the necessary functions of the application layer are all provided in the SDK modules and developers can directly use these tools rather than inventing the wheels again.
The SDK supports developers to use third-party modules, but some security checks are required to ensure that each module can be adapted to each other.
The IBC protocol and the SDK run independently. The use of the Cosmos SDK module does not require Tendermint. Developers can choose the underlying consensus protocol according to their own demands, and the IBC module described can link different chains given certain conditions.
Cosmos SDK supports the object-capability model, which allows the operation logic of each module to be stored in the Keeper function. By calling the Keeper, the module storage device can be read and written in the corresponding application. This means that even if there is an unknown or malicious attack, the referenced objects and links can be analyzed to ensure the security of the system without knowing the specific code, as long as links are generated between the referenced objects.
This logical control, called a keeper, can be hidden behind the scenes, isolating different codes and ultimately improving the security of the system. For application architecture developers, they can sort out the functions, logic, and linkage of the codebase clearly, so they can more easily locate problems, adapt to other languages, and even make optimizations.
Applications built with Cosmos have an independent application layer, consensus layer, and the network layer. Developers can choose the verifier of the network layer to establish their own community and economic system. If using the default consensus layer Tendermint Core, developers can choose their own validators across multiple cosmos blockchains. And the public chain built based on the Cosmos SDK already has Binance Chain, Terra, and Kava and other large public chains to provide services.
Josh, who developed the Kepler wallet, once concluded that using smart contracts is renting a house, and using CosmosSDK to develop a blockchain is building your own house.
The IBC cross-chain protocol is one of the modules in the Cosmos SDK. Applications built using the Cosmos SDK can be upgraded to be compatible with the IBC protocol, just like we usually upgrade mobile phone software.
IBC, Inter Blockchain Communication, standardize cross-chain communication between different blockchains. Or, in the words of Sunny Aggarwal, the former chief researcher of Tendermint, IBC is to standardize the containers for transporting goods and realize global economic trade.
1.3e1) Cross-chain protocol design
The functions and scenarios provided by a single public chain are limited, so it is necessary to cross-chain to meet more needs.
Looking at the history of the Internet, which was born out of the ARPANET, Advanced Research Projects Agency Network, Advanced Research Projects Agency Network, the first network to realize remote communication bwttern limited number of specified nodes. Until the TCP/IP protocol, the network transmission protocol of the Internet Protocol Suite/IPS, different computers can communicate and receive information and form the Internet we use today.use today form.On top of TCP/IP protocols, other protocols are required to ensure different types of data transmission, such as HTTP for web pages and SMTP for e-mail.
As a cross-chain standard, the IBC protocol provides:
The IBC protocol serves as the foundation of cross-chain, on which real cross-chain interoperability can be realized, including:
1.) Asset cross-chain: transfer assets on different chains to the target chain, such as transferring ETH to the ATOM chain
2.) Information cross-chain: obtain information from one chains and use it on another chain, such as using collateral on Ethereum to borrow on Cosmos.
The value of cross-chain is not only reflected in the value of the token but also brings the Internet composed of real blockchains, just like the Internet we use now
The fewer features, the less likely there will be vulnerability that can be exploited. IBC assumes that different chains do not trust each other. The security of the IBC protocol comes from the finality of the Tendermint consensus, and the security of the BFT and the verification function of the light node discussed above can give sufficient security, and no more assumptions are introduced in the process.
There can be no stop to find the best technology, but technology as a tool to sever needs will be judged by users. Therefore, when a technology is adopted, it may not be the best technology, but the technology with the most user base. Similar to the development process of Internet technology, after the TCP/IP network technology was proposed, there have been other solutions,but none of them have been adopted by the network. The same is true of blockchain.
From a general point of view, the IBC protocol only puts forward minimal requirements on the application layer, which is conducive to the wide deployment of the IBC protocol. When more blockchains join the IBC standard, the greater the possibility that IBC will become a true cross-chain standard.
As a common standard, IBC needs to adapt to various types of blockchains that do not trust each other. Blockchain must have a consensus mechanism that provides finality to be compatible with IBC protocol. At present, Bitcoin and Ethereum of POW do not support it, but cross-chain can also be achieved through the Gravity Bridge described later.
1.3e2) Cross-chain protocol content
Similar to the TCP/IP protocol, it defines how different computers use IP address (computer ID), port number (application ID), and protocol number (transport layer standard) to transmit information.
In the IBC protocol, the IP address that can localize computer is the channel ID, the port of the positioning application is the port ID, and the client synchronization information constitutes a standardized way of communicating information. The concise protocol reduces the burden of cross-chain communication on the chain itself, making it more flexible.
Let’s break it down in details.
Port ID:Each modular application has a specific port, called Port ID
Channel channel:First of all, each module needs to recommend a channel using the IBC communication protocol, and multiple channels can be established to avoid overloading the information of each channel. When initializing a channel, it is also possible to reject a channel with an erroneous return.
At the same time, the channel can ensure the orderliness of transactions, and in theory, it can also support disordered channels to facilitate verification of validity.
Port:Each module can be bound to any number of ports, and different port IDs can be used when establishing channels with other modules, which can adapt to information in different application scenarios.
light client:The light client needs to synchronize the other party’s block header information, track the other party’s verifier set in real-time to verify the validity and legality of the transaction and support the homogeneous blockchain built with CosmosSDK.
Handshake Connection:After the communication is established, the operation mode needs to be confirmed, and the exchange of information can only be carried out when an agreement is reached.
1) A chain initiates a cross-chain to B chain OpenInit request and waits for the Relayer to receive the request.
2) After Realyer receives the OpenInit request, it constructs the OpenTry request and sends it to the B chain.
3) After receiving the OpenTry request, the B chain generates an OpenACK packet after agreeing and confirming it and sends it to the A chain by the Relayer in the same way.
4) The A chain judges whether the handshake is successful through the OpenACK data packet. If successful, it sends OpenConfirm and returns the data packet containing the information to the B chain to successfully transmit the information; otherwise, the handshake fails.
Packet:defines the necessary information needed for cross-chain communication, including the channelID, portID, sequence of the sender and receiver, as well as the TimeoutHeight and TimeoutTimestamp that guaranteed to complete the transaction before a certain time, otherwise, it can be returned, preventing funds from being frozen for a long time.
If a user needs to transfer 100 ATOMs from chain A to chain B, the transaction process is
1) Verify that the light client verifies whether the asset is legal and valid
2) A chain sends proof that ATOM has been locked
3) B chain verifies the proof of A chain
4) Chain B creates 100 AMT Voucher vouchers, which can be circulated and used until they return to chain A to unlock the original 100 ATOMs
In reality, a cross-chain transaction is just an exchange of ownership of assets on the two chains, BTC is still on the Bitcoin blockchain and ETH is on the Ethereum blockchain. BTC loses its value when it leaves the Bitcoin blockchain, and the transaction actually transfers the value of BTC as an asset. In the Cosmos model, the asset itself can be transferred on-chain.
1.3e3) Cross-chain protocol comparison Vs. Polkadot XCMP
XCMP, short for Cross-Chain Message Passing, is a cross-chain communication protocol in Polkadot that connects the parachain to other parachains of the same relay chain through this protocol.
XCMP operating mechanism
The node that collects transactions on the parachain and submits it to the candidate block is called the collector, and the node that verifies the candidate block provided by the collector on the relay chain to complete the transaction, also known as the block, is called the validator. The XCMP protocol collector can send and receive messages from other parachains.
If a parachain, chain A, needs to send a message to another chain B, then:
1. Pledge $DOT to uses the XCMP protocol to open a one-way channel to send messages from chain A to chain B. Another channel is required to receive messages. The deposit can be returned when the channel is closed after the message is passed.
2. The collector on the A chain will put the message, recipient, and timestamp together in the output queue of the A chain.
2. When the collector of the B chain transmits the message through the network of the Gossip mechanism, the message will be found and placed in the input queue, and the message will be saved in the validator of the A chain and the B chain to ensure that it is legal and valid
3. The collector of the B chain submits the message to the verifier of the relay chain. After the verifier confirms, the information is put into the relay chain to record the message and generate a block to complete the message transmission.
Messages sent using XCMP can include any data and messages, which means that it supports cross-chain interoperability of assets across chains and information across chains, such as cross-chain call contracts across chains.
However,each time using Polkadot’s XCMP cross-chain, it is necessary to pledge DOT to use this one-time channel, which has a certain cost and sacrifices efficiency.At present, the XCMP protocol is still under development, and we still need to wait and see after it goes online.
Polkadot’s XCMP protocol maintains global security through the relay chain, while the concise Cosmos IBC protocol reduces cross-chain costs by design. The IBC protocol is more like the WTO’s global trade agreement, and any country can freely establish multilateral Trade agreements, opening up global trade.
The Cosmos team likes to compare the IBC protocol to a container standard and tandardized containers can be traded at any port in the world. The Cosmos IBC protocol standardizes cross-chain information, allowing the blockchains in the Cosmos network to communicate and trade. In this economic integration network, the Cosmos Hub is the hub of this network.
The Cosmos network adopts a hub-and-zone model, with the Hub as the central hub in the network, connecting other blockchains called Zones. Zone can connect to the Hub and record the status of each public chain as a Zone. When exchanging information, the Hub and the three independent blockchains of the interacting parties will maintain records.
Cosmos Hub is the first blockchain in the network, and the Cosmos Hub developed based on CosmosSDK is also the first hub in the Cosmos multi-chain network.
1.3f1) Hub: transportation hub
The IBC protocol can connect each blockchain, but this approach is not scalable. If there are 10 chains in the network, and each chain communicates with other chains, 45 links will be generated; if there are 100 chains, 4950 links will be generated. Obviously, this approach is not sustainable.
Another way of thinking is to connect all the chains in parallel, then 10 chains only need 9 links, and 100 chains only need 99 links. While the level of complexity has decreased significantly, the demand for trust has increased. When A is linked to B, and B is linked to C, then if you go from chain A to chain C, you must trust both chain A and chain B to ensure the security of assets received by chain C. The verification is very complicated and is prone to security risks.
The same problem we can also find solutions to in the real world, such as flight planning. In theory, you can reach your destination by taking off from any airport, but considering the cost and benefit, you will eventually see the main hub airport as a transit point. The Cosmos Hub is the hub in the network.
Each blockchain directly communicates with the Hub and The Hub will synchronize block headers of all Zones for verification. Thus different Zones can communicate with each other through the Hub. That is to say, the Hub records the balance and transaction records of each blockchain as a ledger, avoiding the double spending problem. When Zone 1 wants to transfer money across the chain to Zone 2, after Zone 1 sends the transfer message to the Hub, the Hub will prove to Zone2 that the transfer message is correct.
Easy to Upgrade
When a new version of the network appears or the configuration needs to be updated, all validators need to be transferred to the upgraded blockchain at the same time, which may lead to a hard fork in other blockchain networks. In the blockchain of the Cosmos network, it only needs to transfer the users of to Hub to upgrade.
The Hub + Zone model allows Cosmos to securely scale the network. Even if there are 100 or more blockchains in the network, there is still interoperability between the chains.
1.3f2) Hub: Value Proposition
The data verified by the blockchain through the consensus mechanism is difficult to tamper with, thus ensuring the security of data and transactions. Networks using the POW mechanism, such as Bitcoin, have security provided by miners’ hashing power. Only by mastering 51% of the computing power of the entire network can an attack be launched to change the ledge, also known as a 51% attack.
At present, the scale of the Bitcoin network is so large that itvery difficult to gather 51% of the computing power, and even if it can be done, the cost is quite high, so the security of the POW consensus network is pretty high.
However, if a small chain has less computing power, the possibility of being attacked will be very high, and the network will be very insecure. Similarly, the network using PoS consensus also faces the same problem, but the security guarantee has changed from computing power to pledged tokens. In a PoS network, the validator obtains the right to verify the output block by staking the token,while providing security. The more assets staked, the stronger the security. If the scale of a chain is small and the funds pledged by the nodes are little, then the cost of being evil is low and nd the security of the network can be sacrificed.
The necessity of cross-chain security
As mentioned above, as a BFT-based POS consensus mechanism, Tendermint requires 2/3 of the total pledged assets on the chain to reach a consensus. In other words, if an attack is to be launched, the attacker’s cost is 2/3 of the total pledged assets.
For example, verifiers on a chain have pledged a total of 10 million US dollars. If 50 million funds are put on this chain, then rationally thinking verifiers will choose to steal 50 million funds, with a cost of only 7 million US dollars, thus rake in of 50 million — 7 million confiscated by punishment = 43 million.
The way to provide security is to increase the cost of doing evil, there are two ways:
1) Ensure that the ratio of the pledged assets on the chain to the TVL (total locked value) on the chain is within a relatively safe range.
2) Allow chains with more pledged assets, such as Hub, to allocate assets to other chains with less pledged assets to provide security.
The applications provided by each chain are different, and the TVL that can vary. But for the interconnected Cosmos ecosystem, ensuring the security of each zone can be the key of the security of the entire network, so it makes sense for the entire network to increase the cost of being evil by allocating capital to chains with less pledged funds.
The zone can add $Atom on top of the native tokens of its own chain, and the cost of doing evil by the node will change from the assets of the original chain to the sum of the assets of the original chain and the assets of the Hub.
The value of cross-chain security
The main value of cross-chain security that will be launched in February 2022 to Cosmos is:
1) Keep the minimalism design of Hub: Fewer features means fewer security vulnerabilities.Concise functions can accurately serve the target users and avoid serving users with different needs at the same time. It’s likely that features enjoyed by Defi users won’t necessarily make Gamefi users happy. At the same time, the modular design can be disassembled and a certain application can be independently runnned. Even if attacked, the Hub can operate normally and avoid a shutdown.
2) Lower the threshold for developing and running public chains: The first thing that public chains must ensure is security. When the security of assets and data can be guaranteed, users can join.Thee cost of maintaining the public chain, as described above, requires a lot of capital. If developers can provide good application scenarios but lack sufficient funds to start, they can obtain it through cross-chain security.
3) Guarantee the security of the Cosmos network: By sharing validators, the Hub ties the interest of the Hub with zone and thus holds the interest of the ecosystem in one.The barrel principle also applies to the Cosmos network. The network security of Cosmos depends on the weakest zone,and cross-chain security ensures that the weakest zone can lease the security of the Hub to complements the weak point. No matter how much economic value the partitioned application scenario can provide, being a participant in the Cosmos network will actually be the beneficiary of the security of the entire network.
It is worth mentioning that the function of the central ledger in the Cosmos Hub network may be considered centralized, but everyone can run their own hub, and different zoned can also form a local area network and run an independent hub, which does not necessarily require official approval.
The network does not need permissions, anyone can create a hub blockchain or a zone, and have the right to refuse the connection of other blockchains to form their own local area network. Local networks can also communicate with each other to ensure that the internal communication is not affected by the external network. The Cosmos network can be a testing ground where developers and users can experiment with different social and economic forms.
The native token of Cosmos Hub is Atom. To become a validator, you need to pledge Atom as a deposit on the Hub to obtain the right to mine to obtain fees and transaction income. Validators on the Hub can not only generate revenue for the Hub but also apply to be a validator of other zones.If the node is found to be evil, the Hub will confiscate the Atom through the Slashing penalty mechanism
Providing cross-chain security
Zones can request verification from the Hub at any time; each validator on the Hub can apply to verify the zone and pledged Atom to start working on the Hub. A validator can run multiple nodes at the same time, one is responsible for validating transactions for the Hub, and the remaining nodes can generate blocks for other partitions.
$ATOM is the governance token of the Cosmos Hub. By staking Atom, you can simultaneously become a node of the Hub and other partitions to get rewards and transaction fees, including Atom and other native tokens of zones. Starting from the genesis block, 1/3 of the total amount of Atoms will be rewarded for the work of network validators.
Atoms adopts an inflation model. The initial supply is 200 million.In the first year, 7% of the Atoms will be issued as the rewards for nodes. After that, the inflation rate will be determined by the amount of $Atom staked.If the total pledged Atoms are less than 2/3 of the total supply, the inflation rate rises to 20%; if the total stake is greater than 2/3 of the total supply, the inflation rate will decrease to a minimum of 7%.
At present, the total circulation of $ATOM is 286 million, with a total market value of $8.4 billion, and the highest market value was recorded at $11.9 billion on January 21. The value of Atom is a large part of the cost of doing evil by a node (the number of pledges * token value), and the appreciation of Atom provides a certain guarantee for the network security of Cosmos by increasing the cost of doing evil.
As more and more blockchains join the Cosmos network, different information, assets, and transactions are traded through the Cosmos Hub. Atom is the currency of the Hub. As a transportation hub and a hub that transfer values, $Atom is posied to capture of the growing transaction scale on the Hub.
How to make changes and applications requires governance mechanisms. The Cosmos team explained the independent governance mechanism in “The Hub Governance Mechanism Process in Cosmos”:
The real world is mixed with various economic systems, companies, governments, countries, and each participant may have different purposes.The same can be said of blockchain. Disagreements stemming from philosophical or political ideas have caused Bitcoin to fork, and the Ethereum community has sometimes struggled to reach consensus, and in some cases even affected Ethereum’s upgrade.
Cosmos believes that there is no set of universal rules that can perfectly adapt to the application scenarios of every blockchain in this network, so each blockchain should independently run its own governance mechanism. Anyone who holds Atom can initiate a governance proposal for the Hub or Zone, which can be software updates, fees, or even changes in mechanisms such as security policies. Zone or Hub verifiers and introductions vote on the proposal for provides users and developers with the freedom to experiment without constraints.
In addition to the homogeneous public chain using CosmosSDK, other heterogeneous public chains can also connect to the Cosmos ecosystem. Among the existing blockchains, Cosmos first implements communication with Ethereum
Obviously, as the ecosystem with the most developers, the compatibility of Ethereum can allow more developers to join the Cosmos ecosystem and attract more users.
Classification of blockchain:
1. A chain that provides finality (Deterministic): The state on the blockchain is deterministic, that is, the transaction is irreversible, such as the blockchain-based on Tendermint consensus. At any time, every block starting from the genesis block can be reproduced and deduced.
2. Probabilistic chain (Probabilistic chain): The network participants in the blockchain can only use a certain amount according to the proportion of different chains.For example, Bitcoin using POW can only confirm the transaction by confirming that the block is on the longest chain. Usually, it needs to wait for 6 blocks to confirm, which is the longest chain rule.For example, Bitcoin using POW can only confirm the transaction by confirming that the block is on the longest chain. Usually, it needs to wait for 6 blocks to confirm, which is the longest chain rule.
As mentioned above, the premise of the IBC cross-chain protocol is a confirmed transaction. After all, you can only trade with others after you have confirmed the transaction on your own chain. Therefore, when connecting to other non-deterministic blockchains, such as Ethereum, Cosmos provides Gravity Bridge to bridge Ethereum’s native tokens, and EVMOS supports the operation of Ethereum’s smart contracts.
1.3g1) Gravity Bridge: Cross-chain bridge between Cosmos and Ethereum
A cross-chain bridge is a way to allow the transfer of assets and data between blockchains with different consensus mechanisms, token standards, and governance models.
The Gravity Bridge, which was successfully deployed on January 19, 2022, bridges Ethereum and Cosmos and supports the transfer of assets between Cosmos SDK-based chains and Ethereum through the IBC protocol.
As a member of the Cosmos developer ecosystem, the Althea team developed a permissionless cross-chain bridge, Gravity Bridge, based on the Peg Zone in the Cosmos white paper, a proxy bridge that can connect Cosmos and other non-final blockchains. As a cross chain bridge is dedicated to Cosmos and Ethereum, gravity bridge is not one of the modules of Cosmos SKD, but a blockchain independent of Cosmos ecology, which has native tokens to motivate users and developers to join.Gravity Bridge will have its own independent validator responsible for the maintenance and security of the network. Through the shared security of Cosmos, validators holding Atoms can also provide services for Gravity Bridge to produce blocks.
In the design of the cross-chain bridge, it can be divided into:
1) Trust-based bridge:introducing trusted checkers to execute: For example, Avalanche Bride’s cross-chain bridge requires trusted witnesses to use MPC technology, and Secure Multiple-Party Computation is the multi-party secure computing in privacy computing to ensure the validity of transaction, turning a cross-chain transactions into an ordinary on-chain transaction process.
2) Trustless bridge: Gravity Bridge first locks the assets to be transferred on the original chain, and then maps the assets to the target chain as assets after verifying the validity of the assets.
As a permissionless bridge, the governance of Gravity Bridge will be carried out in the form of a DAO, a decentralized organization, and the DAO will hold half of the tokens for future airdrops, ecological development, and liquidity mining
1.3g2) EVMOS: EVM Center for Cosmos
Evmos, or EVM on Cosmos, originated from Ethermint, which was the earliest concept compatible with Ethereum EVM in Cosmos. It is a blockchain that includes Cosmos SDK, Tendermint consensus, and EVM-compatible modules, which will be launched in late January 2022.
EVMO: Ethereum Hub
As a compatible EVM blockchain, Evmos can be used as a Hub in the Cosmos ecosystem to connect to the Ethereum chain and applications on top of it,such as the chain supporting Defi decentralized finance, or the chain supporting NFT.
Both EVMO and IBC will support Ethereum’s token standard, ERC20, which also means that other non-EVM-compatible chains that communicate through IBC within the Cosmos ecosystem can also interoperate with the Ethereum ecosystem. In other words, the Cosmos ecosystem and the Ethereum ecosystem can achieve interoperability
The coming upgrade of the Cosmos SDK will allow Evmos compatible chains to obtain cross-chain security, and EVMOS, as a Hub, can provide security for other EVM-compatible partitioned chains.
Economic Model: Community Shared Value
Although in the Ethereum ecosystem, only miners who maintain the network can get block rewards, Evmos rewards all participants in the Evmos ecosystem:
1.Staking reward (validator + delegator): 40%
3.Use Incentives: 25%
4.Community pool: 10%
At the same time, it also rewards behaviors that brings value to the system, including:
1.User fee rebate
2.Liquidity mining rewards
3.Smart contract revenue sharing
4.IBC Repeater Rebate
If you just hope that a blockchain can meet all needs or technical scenarios, then there is a high probability that future will fail you. In fact,in a multi-chain world there is not just only one winner. Polkadot and Avalanche can also become the zone in the Cosmos ecosystem to give monthly developers and users more choices.
However, COSMOS is still relatively young and has not yet been tested by network attacks or user influx. Perhaps given enough time, Cosmos is following his own roadmap to realize his vision step by step.
One chain is never gonna be big enough to host all the applications we need. But multiple chains will. Only with enough chains and application we can truly provide a decentralized and user-sovereign Web3.0
It is unrealistic to implement all application on one public chain. When mainstream adopts blockchain as the underlying technology, we may need different chains to be designed for different application scenarios, and modular blockchain makes it easy to build and customize.
3.1a) Blockchain Design: Impossible Triangle
In the design of blockchain, there is a famous impossible triangle, namely:
1) Decentralization: Whether there is a centralized power center, mainly measured by the number of nodes
2) Scalability: What is the data throughput, mainly measured by TPS, Transaction Per Second.
3) Security: Whether it can live through network attacks, including witch attacks, DOS, etc.
All public chains are designed to achieve these three goals on one main chain at the same time, butthey can only choose two of the three. For example, public chains such as Ethereum ensure decentralization and security at the expense of scalability. And most blockchain designs are designed in an integrated way, that is, a monolithic blockchain.It is difficult to optimize without sacrificing other features.
Until modular blockchains.The modular design rescues the blockchain from this impossible triangle, allowing different modules to be responsible for different goals, and completing the goals by combining modules, rather than requiring one module to complete all goals. When the blockchain is composable and scalable, more and more blockchains can provide more application scenarios and support more and more people to use the blockchain. As the underlying blockchain technology, it is possible to support future Web 3.0
3.1b) Blockchain design: Division of labor
Whether it’s decentralization, security, or scalability, these properties are the result of describing how the blockchain works. The workflow we described earlier can be summarized as:
1. Consensus: Nodes participate in the network to reach an agreement, and each node replicates the same results in the same order, which determines the degree of decentralization and security of the blockchain. It can be understood as the confirmation of the transaction.
2. Data availability: When the nodes complete the consensus and get the result, there is enough space on the chain to be saved and available to everyone, which can be understood as the clearing of the transaction.
3. Execution: Complete the required functions and put new results on the chain. The speed of execution determines whether the blockchain can be extended to support more transactions. It can be understood as the settlement of the transaction.
Although most blockchains implement three functions on the same chain, Ethereum has begun to explore Layer 2, which is to add a new independent layer to process information and upload results to Ethereum. The settlement layer addresses scalability and Ethereum ensures security. This is actually the division of labor design of the blockchain.
The father of economics, Adam Smith, proposed as early as the 18th century that the basis of the modern economy is the division of labor, and the blockchain is also applicable. The modular design splits the blockchain into different components, each of which can be optimized and then combined into a blockchain. Blockchain design has entered the era of modularization. Building a blockchain can be like building blocks, and we may usher in exponential efficiency growth.
The continuous outbreak of the defi summer in 2020 and the NFT summer in 2021 brought a large amount of capital into the encrypted ecosystem, and Ethereum has found itself in the middle of gigantic workload of transactions and data,resulting in a large amount of Ethereum traffic overflow. Other chains thus emerged and take some heat off Ethereum, such as Avalanche and Solana.
One major prerequisite for financial composability is data availability, that is, cross-chain information exchange. Now each public chain determines the price based on the ecological assets and information on its own chain, like an island. Although there are oracles that can provide market prices, the current market and technology are not yet mature. On-chain crises are rife, and security events almost never stop.
3.2a) Fragmented battles: Liquidity waste
But for financial markets, the bottom layer of asset pricing is liquidity, and the premise of liquidity is information symmetry. The circulation of information is required before the flow of assets, and the effectiveness of the market is based on how much the market price can reflect the information affecting the market. Clearly, market information from different blockchains still suffers from price bias in the absence of effective communication channels.
Although there are a number of tools and robots on the chain that can find cross-chain price asymmetric arbitrage and essentially clear the spread. These are only short-term arbitrage that are profit-driven and do not really allow assets to flow between different chains. The multi-chain is now fragmented in terms of liquidity, and each chain harness a certain amount of traffic and assets on the chain.
However, the lack of communication channels between different public chains makes these assets impossible to circulate. The same asset lacks a non-tradable asset due to the mapping methods of different chains, or an asset with high transaction costs. Excessive transaction friction results in a waste of liquidity.
Blockchain technology is reconstructing a new generation of financial infrastructure, from exchanges and capital lending markets that provide liquidity to interest rate hedging, options, and futures markets that provide risk management tools are just part of the puzzle in the financial system. A complete financial market is a complete puzzle. A financial system can only be formed when assets can freely flow from the lending market, to the currency market, or to a higher risk capital market. And these channels of circulation, and the network constructed by the cosmos through the IBC protocol and bridges provide channels for the circulation of financial networks.
3.2c) Multi-chain Defi:Scenarios
When assets between different chains can flow, we may be able to discover new application scenarios:
1) Cross-chain lending: Lending is the one of the most common demand in the financial system, providing liquidity for traders to participate in various investment and income opportunities provided in the financial system, no matter what chain or standard it is based on Token. Users can get $Atom based on the asset on Ethereum, greatly increase the liquidity on different chains, and open up new trading opportunities.
2) Credit score: When users leave partial records on different chains, such as loans on Ethereum and deposits on Cosmos, then the behavior on different chains is only a part of the records that make up the user’s credit. When all the loan information and transaction information can be aggregated and analyzed, it can help different financial institutions to provide different solutions for users with different risk preferences, financial strength and trading strategies.
In real life, we work in a company, take a loan at a bank, and go to an exhibition in a gallery, and we may have different identities. In Web 2, each us have multiple independent accounts that you need to memorize and all the information and your behavior on these applications cannot be shared with other platforms. For example, your friends who are not on Instagram may not necessarily find out that you are a fashion blogger.
In a multi-chain world, these behaviors can be recorded and displayed on the chain, and these data can include financial assets, trading behaviors, and social activities. Different from the fragmented, scattered, and broken data storage in traditional society, you can see your identity, your interests, and your experience on the chain. You can find art lovers who collect the same NFT as you, or find players to play games with.
3.3a) Multi-chain social networking: Future Scenarios
In the social 3.0 era of Web 3, will there be other changes in the communication, cooperation and social interaction between people?
1) DID, Decentralized Identity: a person can be not only a financial expert in the defi world, but also a gamer in gamefi, or even the creator of NFT, and all these identities can be obtained through an ID reflect. All your social attributes, work skills, artistic tastes can be discovered and recognized through DID.
2) DAO, Decentralized Autonomous Organization: The decentralized governance of DAO allows people to truly participate in the formation, governance, and production of the community. The process is transparent and gives community members the right to participate. Members are both users of the community’s products and the team that shapes the community, which attracts more people to participate.
Programmers always dream of changing the world. Satoshi Nakamoto did it with Bitcoin, and Vitalik did it with Ethereum. Can Jae kwon, who proposed the Cosmos network, also do it with cosmos?
The Cosmos network, conceived in 2014, can be said to be right tech wrong time. 8 years later, will it be the right tech right time this time?
Adoption of a technology is not a straight line, rather,a certain inflection point occurs, and then it enters an explosive growth. This inflection point can happen very soon, or it can happen in a few years, we can’t tell when it will happen, just like we can’t imagine what kind of change this will bring. But when we are in it, we may find that looking back, something was destined to happen.
Disclaimer: All Foresight Ventures articles are not intended as investment advice. Investment is risky, please evaluate your personal risk tolerance and make investment decisions prudently.
Foresight Ventures backs innovative and disruptive Web3.0 projects. We believe that crypto will define the next few decades of innovation. We invest early and make decisions fast, In order to help projects grow, we provide support from our ecosystem ranging from crypto-exchange like Bitget, the 6th exchange of traded volume, to marketing service with a portfolio of 5000+KOLs
Get fresh takes, analysis, and essays on emerging tech in our monthly newsletter.