Hashed Interview: Jae Kwon, Founder of Cosmos, “Creating an Internet of Blockchains”

HASHED
Hashed Team Blog
Published in
14 min readJan 24, 2019

“Ultimately, blockchain is about solving the large-scale human societal problems that we face today and we try to polish the software so that it’s something worthy of creating.” Hashed had the chance to sit down with Tendermint founder Jae Kwon. Tendermint is focused on creating Cosmos, an Internet of blockchains. Jae talked to us about the ways in which he thinks blockchain can overcome its own limits, and the technology that enables communications between thousands of blockchains.

[Korean CC] Hashed Interview with Jae Kwon

We’ve prepared two types of questions: the first category is more general, and the second will be more technological. Let’s start with the first questions. Can you tell us about yourself, and what you do in your team?

My name is Jae Kwon. I’m a programmer, originally, been programming for about 12 years in the general SV industry. I started off working for Amazon, creating web services, and then one point created a very popular iPhone app for finding restaurants and businesses called Yelp and then got the startup bug and decided I wanted to create something interesting, and I spent many years trying to figure out what industry I wanted to work in, and found that the blockchain space was the most interesting for the potential that it offered. So I created this project called Tendermint, which was originally created to replace proof-of-work as the consensus algorithm for blockchains, and it turned into a company and we decided to create a software for a public blockchain called Cosmos intended to solve the scalability problems, and the proof-of-stake problems, and various other hard problems. So now I do programming and various other things for the Tendermint company, and the Cosmos project.

I created this project called Tendermint, which was originally created to replace proof-of-work as the consensus algorithm for blockchains, and it turned into a company and we decided to create a software for a public blockchain called Cosmos intended to solve the scalability, and the proof-of-stake problems, and various other hard problems.

Tendermint Logo

Could you talk a little bit about your projects, and what kind of problems they’re trying to solve, and could you explain why it is important?

Yeah. I think the first thing is, let’s start with PoW, because that’s how the project started. One of the major problems is that it’s environmentally unfriendly, to have PoW, of course many people argue that proof-of-work is okay because it’s still more efficient than the industry it’s replacing, but when you try to extrapolate where blockchains want to go, and the use case it wants to enable, then it becomes very expensive, not just in terms of the ROI for the miners who are securing the network, but also in terms of the impact on the environment. And so PoS, or at least the kind of proof-of-stake that we’re creating, can be very secure, arguably more secure, it is definitely much faster, in terms of getting finality, and it also turns out that it’s excellent in terms of providing scalability because the same signing identity in something like Tendermint proof-of-stake can enable signing in many blockchains parallel without sacrificing security. So it happens to solve a lot of problems. Cosmos is a network of blockchains, and one of the first blockchains that we’re launching is called the Cosmos Hub. It’s not the only hub, but the function of a hub is it’s a blockchain that is intended to connect to many other blockchains, to enable token transfers among many of these blockchains, so it creates an interoperable and scalable token economy by allowing thousands of blockchains to be connected to each other so the Cosmos hub is solving many things as a first — it’s proving that Tendermint proof-of-stake works with many signers and a state-of-the-art consensus algorithm, it’s enabling governance to solve many of the problems that will arise, it’s really a self-amending ledger it’s also allowing, like I said, many blockchains to connect to each other, to enable token interoperability. Its vision is to create a scalable, interoperable blockchain economy by really solving the hardest problems that are preventing us from doing that today.

Cosmos Hub is a blockchain that is intended to connect to many other blockchains, to enable token transfers among many of these blockchains, so it creates an interoperable and scalable token economy by allowing thousands of blockchains to be connected to each other.

The Introduction of Cosmos Hub

Personally, I’m very interested in interoperability. In terms of interoperability, could you give us some examples of applications that may be implemented on top of Cosmos?

The whole idea with the Cosmos interoperability is that every blockchain can solve its own problem. It can be any blockchain that it’s solving a problem for..so for example the Cosmos Hub doesn’t care. It doesn’t care about what logic the connected side chains have, about the exact state — all it knows is who is responsible for signing, and how the validator set is mutating, and the Cosmos Hub keeps track of the total number of tokens that are in each side chain, so to speak. And so it totally allows every connected chain to have its own logic, and it can be about gaming, about payments, it can be about content, or communication — all of the interesting blockchain problems can be solved in an isolated zone, and be connected in all the other zones via the Cosmos hub.

Let’s jump into some more technical questions. Can you talk about Cosmos’ SDK for the developers? What can they do with your SDK?

When I started working on blockchains in.. 2013 was when I started looking at bitcoin seriously, but 2014 was when I decided that here’s how we can solve proof of stake problem I started looking at all the available software platforms, like what can I modify to turn into a proof-of-stake blockchain, but I didn’t find anything available at the time, so we decided to create a SW framework for blockchain creation. Because what we saw at the time were people were creating new blockchain by forking bitcoin or forking monolithic SW stacks it’s difficult to create a blockchain and then Ethereum came about so people could create a blockchain dapps by implementing Solidity but it was still difficult to create a complex application with solidity. It’s a new language and it’s not a familiar language so I think if you like the language, go, it’s a great language for systems programming of the sort. It allows you to create a complex, full-fledged production application without any limitations, you can tweak any part of the blockchain, just not the consensus algorithm, if you want to modify Tendermint, but it’s really good at modularity, so if you look at modules that we’ve baked into the Cosmos SDK, there’s staking, governance, feed distribution and what we call banking module to help with the multi-assets and after we launch the hub we’ll be focusing on finalizing the IBC module so if you want to import that then you’ll be able to connect with many other modules. So the SDK is kind of like what Ruby on Rails was for Web 2.0. It’s intended to be a framework that gets you from zero to blockchain in a minute for a simple application, but also extends to any use case that you want to develop so it’s a good choice for a framework and of course the Cosmos Hub itself is built on the SDK so that’s how we’re building it.

I started looking at all the available software platforms, like what can I modify to turn into a proof-of-stake blockchain, but I didn’t find anything available at the time, so we decided to create a SW framework for blockchain creation.

Cosmos Website

My next question is also about interoperability. In order to interlock, certain blockchains should use Tendermint or they have to be insured by a finality. How can Cosmos interlock work with Ethereum even without a finality or is it possible for zones to use a different consensus algorithm?

That’s a really good question. IBC, which is our Inter-blockchain communication protocol — it’s kind of like TCP IP, the initial version we’re building is going to be between Tendermint blockchains. The reason why we’re doing that is that Tendermint provides very fast finality for a large validator set, a large signing set. so we think this is going to be a very popular way to create blockchains that communicate with each other. You don’t have to use Tendermint. Soon after we launch the Cosmos Hub and IBC I’m sure we’ll see adaptors for other consensus algorithms that have fast finality. PBFT might be one. And there are others being developed. As long as it has a short finality proof, like Tendermint does, it should be easy to make it compatible, but for proof-of-work chains, or legacy chains like Ethereum or I don’t want to call it a legacy chain..it’s still one of the most popular chains out there.. but the proof-of-work might be legacy in the future right? For proof-of-work chains, there’s a way to make it compatible by an adaptor layer it’s one design we have for Ethereum it’s called Peggy and it involves witness signers that are running the full node of Ethereum, the proof-of-work, and they are signing off on the blocks they will have seen. So by committing those witness signatures on to the blockchain, you can come to a consensus about what actually happened on the Ethereum blockchain. So that’s how we get information from Ethereum to, say, the Cosmos hub. And then it’s pretty easy — you just have to design the smart contract on Ethereum to be able to read the packets that need to be released, any coins that need to be released on the smart contract side. So it’s an adaptor layer, we still call it a form of IBC, and it’s a bit more difficult or a bit more work than the IBC we’re creating but it’s important so we’re going to focus on it soon afterward. With Bitcoin, the story’s a little different, it’s a little more difficult because bitcoin is not only proof-of-work but it’s also UTXO based. So it requires a bit more ingenuity and there are many ways to solve that problem. there are some groups that are attacking this problem to connect to the Cosmos stack work using like the kops SDK so we’ll see about that. I think the first step is getting IBC and then the Ethereum peg out.

Tendermint provides very fast finality for a large validator set, a large signing set. so we think this is going to be a very popular way to create blockchains that communicate with each other.

Tendermint GitHub

Is it possible for Cosmos to embrace the private blockchains as well?

Yeah, absolutely. The Cosmos hub can connect to public chains, and to many other chains that are running on the same validator set, but it can certainly connect to private and consortium chains, too so there’s no limit to — it’s a permissionless system. Any blockchain, whether private or public or consortium, can connect.

Cosmos looks similar to Polkadot. Could you tell us more about the differences between Cosmos and Polkadot in terms of scalability, interoperability, security, and so on?

Sure. So in terms of scalability, I think one of the major differences is that we’re focused on creating a generic, agnostic protocol that works with many sovereign chains, so not only would it work with other blockchains that are run by the same validator set as the Cosmos Hub, but it could work with validator sets that are completely independent. You might have a blockchain that’s running in Korea or a blockchain that’s being run by any other country or set or even Polkadot itself. So what we’re really trying to do is create an internet of blockchains. We’re not trying to create a large system with the same security umbrella that we dictate. We want to help connect many chains that have their own governance systems and their own reasons for existing. In terms of interoperability, the Polkadot project is focused on it’s trying to if I were to describe what Polkadot is doing, it’s a very interesting project it’s trying to create a large world computer. And so the relay chain of Polkadot is responsible for relaying messages from one shard I think they call it a parachain to another parachain. But I think it’s a different kind of problem from the one we want to tackle with the Cosmos Hub we want to focus on tokens. Even though IBC can be used for more than just token transfers, because like TCP IP, it’s a generic communication protocol. We think that the token economy is the primary use case we want to address that. So the Cosmos hub, unlike the relay chain, is responsible for keeping track of the number of tokens on each connected chain and it also has a governance system so that in any case of failure, the Cosmos hub stakeholders can vote on how to recover the system. So those are some of the major differences. Here’s an example that may illustrate one major difference. If you’ve heard of secure enclaves or intel’s SGX project and so on, blockchains that are running on different kinds of hardware systems like that can also interoperate with the Cosmos hub whereas Polkadot is focused on putting all of the responsibility consensuses onto the relay chain. As a technical difference, it’s probably major. Maybe difficult to understand at first, but we have different priorities in terms of design philosophies.

If you’ve heard of secure enclaves or intel’s SGX project and so on, blockchains that are running on different kinds of hardware systems like that can also interoperate with the Cosmos hub whereas Polkadot is focused on putting all of the responsibility consensuses onto the relay chain.

COSMOS Logo

How can the Cosmos Hub guarantee the security or data integrity of the zone? What happens if there is a double spending in a specific zone?

I think there are many cases where zones can fail. There’s a double spending which would imply at least in the Tendermint blockchain that more than one third [of the participants] have tried to double-spend. But there are other cases, too, like maybe the chain halted, or maybe it could halt, it might even do something wrong because of a software bug. So in these cases, like all these edge cases that can arise, I think it’s important that there’s a human element that helps resolve the situation. So the Cosmos Hub stakeholders are not like regular token holders, like Ether holders. They’re meant to be working all the time. It’s their job to maintain the system and provide excellent service to the whole community and that’s why people would adopt the Cosmos hub. So through the government system, we’ll be able to recover in certain scenarios. And it’s an ongoing research topic as to how to address certain failure cases automatically. There are many ways that we can introduce automation into recovery. One example might be if a zone fails and if there’s for example like a network halt because two groups have different ideas about how to move forward it’s possible to have a vote from the stakeholders of that chain over time to see which side has more votes and then automatically decide to go one way. But not every chain is going to want to do that. Some chains are going to want to have some kind of jurisdiction or people that decide what to do so we’ll be researching and implementing many solutions for the Cosmos hub going forward.

I think it’s important that there’s a human element that helps resolve the situation. So the Cosmos Hub stakeholders are not like regular token holders, like Ether holders. They’re meant to be working all the time. It’s their job to maintain the system and provide excellent service to the whole community and that’s why people would adopt the Cosmos hub.

Cosmos’ token name is Atom. And recently, Cosmos announced that the other token, Photon, will be introduced into the system. Could you tell us more about Photon and about the differences between Photon and Atom?

The token is called Atom — that’s the staking token. Like I said earlier, it’s not like a token that most people are going to want to hold. It’s kind of like Bitcoin mining equipment or ASIC. Not everyone should have ASIC, even though they might want to be on the bitcoin blockchain. It can be used for paying transaction fees and paying people, but that’s not its intent and if you just hold Atom tokens it may not be the best for you because it’s designed to be inflationary because if you don’t stake it and use it, you’ll lose out to inflation. The Photon token is a proposal. After we launch the Cosmos hub we no longer have the ability to dictate what happens to the Cosmos hub. Through governance, the hub will prove of at least one fee token that is intended to be used by non-stakeholders or people who want to use the token for payments. So we will propose a proposal to do something like a hard fork or hard spoon Ether into a proof-of-stake chain and provide Photons to all the ether holders in proportion, kind of like an airdrop. And that’s one way to introduce the fee token into the system. Or maybe a proposal will pass where it’s a different kind of token by some other name that’s initially a copy of the Atom token. It’ll be exciting to see what governance decides to do.

So what can your enthusiastic followers expect for your next big step to push the platform forward into the growing industry?

We’re launching a testnet called the game of stakes. It’s an incentivized testnet that will really push the boundaries on simulating attacks and testing the software before we actually launch it live.. so that’ll be a fun game with we already have 300 signups I don’t know if everyone will be able to participate but it will be a massive testnet and then soon after that after about 3–4 weeks of testing we’ll have the launch of the Cosmos hub. So the launch of the Cosmos hub is what I’m most looking forward to.

We’re launching a testnet called the game of stakes. It’s an incentivized testnet that will really push the boundaries on simulating attacks and testing the software before we actually launch it live.. we already have 300 signups, and it will be a massive testnet.

This is my last question. Do you have anything to share with the Korean or Hashed community?

I think that the amount of engineering and design that goes into the blockchain, protocol design and architecture is extremely interesting. If you’re interested in creating a new system for human coordination, which is ultimately what we’re trying to do.. we’re not trying to create a kind of financial system, though that’s a big part of it. Ultimately, blockchain is about solving the large-scale human societal problems that we face today and that’s why I wake up every morning and do this and we try to polish the software so that it’s something worthy of creating. Please take a look at what we’ve created so far and we need your help, so please help us.

--

--

HASHED
Hashed Team Blog

To empower networks and innovators in building the decentralized future.