In the first part , we introduced Cosmos from the perspective of developing a separate blockchain and blockchain application. But as mentioned earlier, one of the most important features of Cosmos is interoperability, which is to enable interaction between multiple blockchains . To better understand how this feature works, we first need to understand the infrastructure in Cosmos that supports its interoperability: " Hub and Zone."
Hub and Zone
The blockchain in the Cosmos network applies a central radiation model:
- The first launch of Cosmos exposed a high-risk vulnerability, will be hard fork upgrade at block height 482100
- Technical science: the importance of interoperability to blockchain
- Breaking blockchain islands, reading Cosmos from four key words | Chain node AMA
- Cosmos SDK documentation overview: SDK design overview
- Release Dapp's innovative potential across the chain
- The true story behind the departure of Cosmos CEO
At the center is the Hub ("Central Hub"). The Hub manages a number of independent blockchains called "Zones" ("Zone" refers to the blockchain), and the Hub tracks the status of each zone, and each zone is obligated to continuously produce itself. The new block is reported back to the Hub. Similarly, each zone also needs to synchronize the state of the Hub.
But there is a tricky problem here – Zones don't directly synchronize their respective states, but communicate indirectly through packets sent to the Hub. To figure out this process, we first need to investigate the supporting mechanism behind it: cross-chain communication (IBC).
How does IBC work?
The Hub communicates directly with the Zone, and the Zone communicates with the Zone indirectly through the IBC. When the Zone establishes an IBC connection to the Hub, it can automatically access other Zones connected to the Hub, which means that the Zone does not need to connect to other Zones, but only to the Hub.
By maintaining a fixed amount of various cross-Zone tokens, Hub can prevent double payment issues (Double Spend). These tokens can be used to achieve cross-chain transfer between zones through a special IBC packet called a "coin package."
When a zone receives tokens from other zones through the Hub, it only needs to trust the Hub and the source of the token source, without having to trust all other zones in the network.
Let us look at an example:
Suppose there are currently two blockchains: Zone 1 and Zone 2. Now what happens if we want to send tokens to Zone 2 from Zone 1?
To have a packet sent from Zone 1 to Zone 2, Zone 1 first sends a packet to Zone that points to Zone 2.
Immediately after the Hub sends a certificate to Zone 2, it indicates that Zone 1 has released a packet to it.
After that, Zone 2 must verify that the proof of Zone 1 is true. To do this, Zone 2 uses Zone 1 to store the block headers in the Hub. We mentioned earlier that the Hub helps the Zone to keep track of the status of each of the other zones, and the Hub does this by recording the block headers of other zones.
Now you may have questions: Why doesn't Cosmos use IBC to establish a connection between Zone and Zone? Why do I need to design Hub and Zone? In fact, as the number of zones connected to the network increases, communicating in a direct connection will result in a squared increase in the number of links. For example, if 100 zones are connected to the network, if each zone has to establish an IBC connection directly, then 4,950 communication links are required in the network! Such rapid growth will obviously overwhelm the network.
The " Hub and Zone" model enables Cosmos to enable cross-chain communication regardless of the number of zones and to support the continuous expansion of the network .
The normal operation of the Cosmos network is inseparable from the IBC, because it enables multiple independent blockchains (ie, Zones) carrying different applications and verifier sets to interoperate .
Creation "Hub": Cosmos Hub
As mentioned earlier, the Hub is the component that connects different zones, and the Cosmos Hub is the first Hub in the Cosmos network, which connects to other Zones via IBC. The first blockchain (or Zone) built on the Cosmos network applies the master hub to interact with other zones in the network. This means that the Cosmos Hub must have sufficient security (ie many certifiers) to ensure that the zones that use it can interoperate securely.
Bridging blockchains that are not Tendermint consensus
So far, we have explored how the Tendermint-based blockchain (ie, Zone) interacts with IBC and Hub. However, Cosmos is not limited to the cross-chain operation of the Tendermint consensus chain.
I will briefly explain below how Cosmos is compatible with blockchains of other different consensus algorithms.
In general, blockchains can be divided into two types: irreversible chains and probability chains.
The term "reterminalistic chain" means that the state of each block is finalized, and you can reproduce the state of each block from the founding block at any time in the future (eg based on the Tendermint consensus). Blockchain); Probabilistic chain means that you can only think of a chain as the main chain (such as bitcoin) based on the proportion of blockchain network participants on different bifurcation chains. The Hub in Cosmos can theoretically access both, but support for the probability chain is relatively cumbersome in practice.
This is because, in terms of the underlying design, the premise of the IBC's role is the irreversibility of the blockchain. If the blockchain is a probability chain, the Hub cannot guarantee that the total amount of tokens across the zone is fixed. As mentioned earlier, if the Hub wants to implement a cross-bone token transfer without double payment, it must ensure that the total amount of a token between the Zone and the Zone is fixed.
Cosoms attempts to achieve interoperability of the probability chain through the “Peg Zone”.
The Peg Zone is a blockchain that keeps track of the state of another blockchain. It determines the state on a certain probability chain that it bridges to be irreversible, making these states compatible with IBC.
Still keeping up with, juvenile? Now I have only the last (and most important) question to discuss with you: Why do blockchains need interoperability?
Why is interoperability so important?
As we all know, the blockchain is an irreversible ledger. However, like other software, software used to build blockchains needs to be iterated and upgraded over time. Software that is easy to use and impeccable is simply a fantasy, so software changes are inevitable. The “governance” issue is to discuss how to make proposals, resolutions, and applications for changes to the underlying software in the blockchain.
In the case of Bitcoin, the Bitcoin Foundation, Bitcoin core developers, miners, and users initiate proposals for underlying changes and upgrade in a collaborative manner. Ethereum relies on the collective efforts of developers and user communities to make such decisions.
Cosmos's approach is very different from the above. Unlike common governance mechanisms that take care of the entire network, Cosmos allows each Hub to build its own governance strategy.
Any holder of the currency can initiate a change proposal, and the certifier and the holder of the currency of the Zone or Hub vote on the proposal. The content of the proposal includes, but is not limited to, changes to system preset parameters (such as block gas cap), software updates, and even policy upgrades that the hub takes when dealing with piracy, intrusions, or vulnerabilities.
Similarly, each zone also has its own governance mechanism.
For example, Cosmos supports forcing application irreversibility on the Hub side, and each Zone can be set to be irreversible according to its own needs. To learn more, read this article "The Hub Governance Mechanism Process in Cosmos."
In my opinion, this design is very powerful and is greatly underestimated. If you have to extract any core arguments from this blog post, this is the following paragraph:
Cosmos doesn't think that the underlying design can manage all kinds of economic networks in the world through limited rules. I don't think there is a specific set of rules for everyone's satisfaction. This truth is self-evident, looking at the many forks that Bitcoin has caused since its inceptions due to philosophical and political differences. On the other hand, we can see from the governance of Ethereum that the holders can't achieve governance in a standardized way or form a joint force to reject unregulated governance, which has a side effect on the development of ecology and hinders the renewal of Ethereum. upgrade.
Cosmos attempts to solve this problem through interoperability between independent blockchains, even if and especially these blockchains have different governance policies. Therefore, the core value attribute of Cosmos is the scalability in the social and economic fields. It provides unlimited freedom for users and developers above its ecology, as well as unconstrained experimental potential.
Thank you for discussing Cosmos (network) with me!
Unbelievable, you listened to me so much, admire! This article is here, I look forward to meeting you in the next article! ?
Posted on June 6, 2019
Link for the previous post: How does the Cosmos blockchain work, Part-1: Compare Cosmos with Bitcoin, Ethereum
Author: Preethi Kasireddy
Translation & Proofreading: Anzai Clint & Ajian
This article is authored by the author to translate and republish EthFans.
(This article is from the EthFans of Ethereum fans, and it is strictly forbidden to reprint without the permission of the author.