IntroductionThere has been much discussion about blockchain interoperability since the launch of Cosmos, and the potential threat it poses to the Ethereum ecosystem. This article will take you through the technicalities of Cosmos, Polkadot and provide you with the knowledge necessary to understand these protocols (with images to aid understanding). Through APIs (application-specific interfaces), we can access and modify many data sets on the internet. Blockchains are a different kind of data. Data is isolated by the chain it is on. So what does it mean to have interoperability?Trustlessly transfer assets between different chainsCross-chain smart contracts that can interact with each otherSpecialised chains that can be used by other blockchainsBefore we get into the details of any particular interoperability approach, I’d like to spend some time outlining some of the basics of distributed systems in order to help us understand concepts later on. Blockchains are simply a group of computers that agree on what a collection should look like. This goal could be serving the same content to many people around the globe (such as keeping your Twitter feed up-to-date). They must overcome the following problems in order to achieve this goal:Timing. Ordering. It is difficult to determine what happened and when, as clocks “drift” after a certain time. Failure can make it difficult to order systems as each system has its own story. Systems can crash, not receive/send messages correctly, or act maliciously (Byzantine). This can all lead to poor coordination between systems. This is where computers are a bit more complicated. Synchronous = Each system has a set amount of time to communicate with the other and they take turns. It’s like real conversations for humans. Asynchronous = Each system can communicate whenever they wish and there are no preconceived notions about when they will speak. It’s like Slack for humans. A blockchain should have safety (an agreement on the same output) as well as liveliness (the chain keeps growing and functioning). Your chain will stop producing blocks if it has safety but no liveliness. It will produce many forks if it has no safety but it has lifeliness. You won’t be able to tell which one is correct unless you have a rule. (eg longest Bitcoin chain) Introducing Practical Byzantine Fail Tolerance (PBFT). PBFT was developed by Miguel Castro and Barbara Liskov. It was introduced in 1999. Practical Byzantine Fault Tolerance (PBFT) was introduced in 1999 by Miguel Castro and Barbara Liskov. It is a method of forming a block of transactions. This party is called a proposer because they propose a block. Everyone then participates in a vote to confirm that they heard the exact same block. It is important to remember that a block can be wrong or malicious but still be valid in pre-vote. Once everyone has reached consensus that they have received the same block they move on to the precommit stage. The pre-commit vote is cast to verify that the block is valid and not malicious. The Cosmos Hub has its own blockchain that connects with other zones (blockchains), and allows communication between different zones. Any proof-of work blockchain, such as Bitcoin, Ethereum or ZCash, would need to be connected via the Inter Blockchain Communication framework. Cosmos Hub uses Tendermint (inspired by PBFT), as its consensus algorithm. This means that each voting stage (prevote and pre-commit), has a time limit for everyone to vote before it moves onto the next stage. Once a block is finalised, there is no going back. Instant mobile and internet-of-things payment are possible as soon as a transaction is in a block. This is known as having “fast finality” because no confirmations are needed. AtOMs can be used by users to become validators or delegate ATOMs instead. Cosmos will initially have 100 validators. We plan to increase this limit by setting a governance parameter. To make this more concrete, I’ll describe a series of steps that could be used to convert ETH into BTC. This is everyone’s favorite example. A trusted intermediary zone for Ethereum will be created and there will be set validators who will relay messages from the Ethereum bridge zone to the Cosmos Hub. The hub will then create Wrapped Cosmos Ether. The new Wrapped Cosmos Ether will then be made available to all other Cosmos zones. The Wrapped Cosmos Bitcoin will then be sent to the trusted intermediary Bitcoin area and sent to the address on the actual Bitcoin chain. This is a potential problem, but the Cosmos team designed the system so that anyone can create their own Hub. Cosmos will consist of a network made up of different Hubs and Zones. Each Zone must be trusted to relay the correct information about assets received or sent. The validators must also be trusted by the senders to relay their messages correctly and not steal their assets. Entering PolkadotPolkadot was founded by Gavin Wood who is a cofounder and former CTO at Ethereum and president of Web3 Foundation. Polkadot raised more than 145M+ in 2017 by selling its native currency, DOT, during a crowdsale. If Cosmos looks like an open network of hubs, zones and zones, Polkadot offers many benefits to the “relay chains” that connect it. Each parachain gains pooled security from a validator set. Once a chain is connected to the Polkadot network, it becomes a parachain and is protected with the same level security as the entire Polkadot community. Each new Cosmos chain must have its own validator set, and must bootstrap its security. Parachains can communicate with each other using trust-fee interchain communication. Users who wish to communicate across chains don’t need to trust each chain they send messages to. They can only trust the security of the entire Polkadot network. This is different to Cosmos, where users would need trust all three chains they transmit messages to. Instead, they can trust only the one security of the entire Polkadot network. GRANDPA, a finality gadget, draws on some ideas from the GHOST rule (like Ethereum’s Casper), and BABE is a block-production mechanism similar to Cardano’s Ouroboros. The introduction of a finality device allows portions of the chain “finalized” and can be provably never reverted. The finality gadget can be separated from the block production to allow the slower finality device to work in a different way from the generation of new blocks in a chain. Their key roles include: Authoring new blocks. Finalizing the relay chain through participation in GRANDPA. They play a crucial role in the following: Authoring new blocks. Finalizing the relay chain through participation at GRANDPA. Validating cross-chain messages. Fishermen — These are bounty hunters who “go fishing for malicious actors” by monitoring the network’s other nodes. All parachains and relay chains work together as one system. Parachains can include custom logic and can handle their own state transitions, while also receiving and sending messages to other chains. Parachains can communicate with each other by listening to one another, unlike Cosmos which requires everything to be routed through the Hub. Parachains can now passively read information from bridge contracts, instead of relying on bridges to send messages to other parachains. Each parachain is treated the same as any other parachain. Polkadot’s interchain communication system is trustless because parachains act in the best interests of the relay chain and not the parachain they are validating. Validators are re-assigned at intervals to another parachain at random. How would it work if you wanted currency conversions from one parachain? Let’s use the common example of converting ETH into BTC. Validators would then pass block headers to the validators in their parachain. The validators would then sign the relevant transactions and publish them in the Ethereum bridge smart contracts in a format that could be recognised and communicated to the parachain zone. A Polkadot validator would hold any ETH sent. It would also provide DOTs to collateral for invalid transactions. The Ethereum parachain would then communicate with the Bitcoin parachain. This would release BTC at the address specified through the validator set for that parachain. Although design decisions are still being made, the idea behind cross-chain communication is that it will be trustless. Polkadot’s Parachain Mechanism will allocate parachain slots through permissionless on-chain Auctions. These auctions would result in DOTs being locked up for a period of time to ensure that the parachain is connected to the Polkadot network. In the event of an emergency situation where parachains contain a critical bug or serve a malicious purpose, governance will be able intervene and fix the situation. Polkadot will adhere to an on-chain governance system because it believes it is the best way to manage crypto-networks. I don’t believe that “off-chain processes”, on-chain signalling, and “rough consensus”, provide sufficient means for the real stakeholders in a chain’s ecosystem to govern and drive it to long-term success. I also believe that it’s essentially impossible to retrofit governance.”TimelinesA lot of the core problems for interoperability seem to be solved at a high level, however the execution is still far behind. Cosmos launched in March 2019, but the Cosmos Hub has not yet been operational. The next steps will be to finalise the Inter-Blockchain Communication Framework. With only the relay chain live, Polkadot will launch in 2019 and Cosmos in 2020. It will be fascinating to see how each chain is adopted by developers and how their political struggles play out. At this stage, application-specific chains are a pipedream. Not only is the infrastructure far from being complete, but developers will also need to consider the resources and people needed to connect and provide security. It’s difficult to say. It’s hard to say. MakerDAO is a good example. They would have the resources to create their own chain, and enough political backing to join Polkadot’s para-chain. If it is unable to get enough backing to join the para-chain it could set up a bridge zone on Cosmos and start their own security. Polkadot will provide bridge-slots to chains that are unable or unwilling to provide pooled security, but still allow message passing down the line. I am excited to see where this takes us and welcome your feedback. Get in touch with me on Twitter @kermankohli. (Explained with Pictures). This story was originally published on Medium by Token Economy. People are continuing the conversation by commenting and highlighting this story.