This is the first part of a 3-piece blog series on the key ideas behind the Cosmos Network.
In March 2019, one of the promising Blockchain 3.0 projects — the Cosmos Hub — goes live. It delivers the ability to build an Internet of Blockchains — myriad decentralized ledgers, hosting disparate financial applications, able to coordinate the movement of financial assets between each other. Understanding the Cosmos vision and its implementation is valuable for cryptocurrency technologists and investors, since the upside is massive. This is the story of the key ideas behind Cosmos, and how they came to be. We start off in 2014, with Jae Kwon’s vision of consensus without mining. One by one, we’ll covers five key ideas leveraged by the Cosmos team to arrive at the current system. These key concepts are:
If the above looks unfamiliar, you’re in the right place! Reading this set of two articles, will position you to follow the conversations around this quantum leap in blockchain technology. This article covers concept (1)-(3) while later articles cover concepts (4)-(6).
Our story starts in 2014. Back then the first wave of Bitcoin 2.0 projects like Colored Coins, Mastercoin and Peercoin were in vogue. Most of these attempted to build on top of Bitcoin, but a few attempted to create Proof of Stake — a new way of securing cryptocurrency ledgers that would obviate the need for mining hardware, and reduce the operating costs of a cryptocurrency ledger. With bitcoin hovering around $600, miners were already spending over $400 million annually running their mining machines to operate the Bitcoin blockchain while concurrently delivering a capacity of fewer than 7 transactions per second. The need for a new way of coming to consensus over the balances of accounts was needed — ideally some method that would cut the annual operating costs 100-fold, so that an even more deflationary cryptocurrency could be realized. After all, these were the days cryptocurrency users watched over the inflation rates like hawks.
Out of these efforts, Peercoin and Nxt were the most prominent. The technical approach of both was to try to simulate mining using coin balances — deploy some mechanism that would scan the balances of all accounts, and randomly select some account to produce the next block. Higher the number of coins held by an account, higher the odds it would be selected to create the next block. It was as if the coins one held would become virtual ASIC miners, and periodically give one the chance to create a block and earn some reward. It was an approach headed for the dustbin of history, but we didn’t know that yet.
This is when Jae Kwon quietly entered the scene with a logical and deceptively simple idea: To leverage previous academic work around consensus protocols to build a cryptocurrency system called Tendermint. If anyone scanned the academic literature of consensus mechanisms from the last 15 years, they would have stumbled upon Byzantine Fault Tolerant consensus mechanisms like PBFT and DLS. These consensus mechanisms were built for scenarios where a group of accountants that ‘knew’ each other could jointly agree on the state of a system, for instance, a financial ledger (containing accounts and balances). These mechanisms were not suitable to build a system like Bitcoin. Bitcoin relies on permissionless entry — anyone can become an accountant for the Bitcoin network by setting up a mining pool. Academic consensus mechanisms were built for scenarios where some social/legal process would identify a known, closed set of accountants. Jae’s contribution was to marry the idea of security bonds, which we cover later, with classical consensus mechanisms to build a cryptocurrency network secured without mining.
These academic mechanisms, the most notable of which is Practical Byzantine Fault Tolerance, are best imagined as glorified roundtable voting systems. Imagine a roundtable with a lot of seats; each seat populated by an accountant as in the diagram below. In reality, these accountants are not humans but software running on disparate computers on the internet. These accountants carry their own individual copy of a financial ledger being maintained by the group. This ledger, the blockchain, is a set of ordered pages (also known as blocks) with each page containing user transactions. The role of PBFT is to ensure that books carried by the accountants stay synced up with each other and that there always is a single authoritative version of the book. One accountant is selected as a leader, and its role is to collate user transactions, package them up in a page, sign the page digitally and propose that the page is added to the ledgers of the other accountants. Accountants have communication channels open with each other. Other accountants receive the proposed page, verify the veracity of the accounting in it; sign and broadcast affirmative votes provided the accounting is correct. Once an affirmative quorum of ⅔ of the accountants is reached, the leader collects the affirmative votes and proposes the next page. The next page can contain proof that the previous page had sufficient affirmations. When the PBFT leader becomes unavailable, a new leader can be elected. This is the basic mechanism of updating the ledger — by the slow addition of pages containing user transactions, each page requiring a roundtable voting cycle.
The beauty of PBFT is that it tolerates up to ⅓ of the accountants, including the leader, to be actively malicious. Below this threshold, actively malicious accountants cannot create invalid ledgers, and ledger users are safe against their malicious behavior. Another powerful property is that pages, once added to the ledger, are final and cannot be reversed. This is in contrast to Bitcoin where blocks added to the blockchain, can be replaced by new ones provided a sufficient number of miners actively work towards such an outcome. Finally, the system naturally has a few orders of magnitude lower operating costs per transaction as compared to Bitcoin.
Therefore, PBFT and its derivatives were the perfect building block for consortium blockchains. Consortia are able to select a set of its own members to run the accountants on their individual infrastructures, and be able to deliver a financial ledger to consortium users. Many permissioned blockchain projects, such as Hyperledger Fabric, Symbiont etc. have taken similar paths. One of the earliest permissioned ledger companies was Monax (previously called Eris Industries). Monax wanted to build a permissioned version of the Ethereum Virtual Machine and looked to replace Proof-of-Work with something more suitable. They discovered Tendermint in 2014 and became its first real user. So a short aside is that Tendermint has seen considerable usage among consortium blockchains for many years.
But let’s get back to the topic of cryptocurrency networks. The design we described does not work to build a cryptocurrency for it is infeasible to agree on a definitive set of accountants for a distributed, mutually untrusting, cryptocurrency community. In other words, we needed a mechanism that could allow anyone to spin up an accounting server, and be able to join the accounting set of a PBFT based cryptocurrency.
A second key insight paved the way forward. Let’s first state the equivalent idea, in the world of human relationships. In situations where we need to trust other people/counterparties to behave well, security deposits are often instituted to guarantee good behavior. For example, in order to let an apartment, a landlord asks for financial value to be put into escrow. If the renter misbehaves, say by trashing some equipment in the apartment, the landlord has the recourse of using the escrowed financial value to make themselves whole. The act of putting financial value in escrow, with the threat of never receiving it back, creates economic incentives for good behavior for the renter.
The original Tendermint paper from 2014 applied the same dynamic to the scenario of sourcing accountants from a cryptocurrency community at large. Let’s say we had a cryptocurrency token at our disposal for escrow. Could we source a diverse group of accountants by requiring prospective accountants to place security deposits, in the form of this token, into escrow on the cryptocurrency ledger itself? Further, could one punish these accountants by destroying their security deposits if they misbehaved? Both of these have been demonstrated possible in a beautiful application of economic incentive design.
The Cosmos Hub has Atoms, with a starting supply of around 220 million, as its internal token. Accounts and Atom balances of the accounts are maintained in the ledger (the blockchain) of the Cosmos Hub. In order to select the accountants that would maintain the ledger, an option is created for any account holder to post its Atom balances as a security deposit and become an accountant for the ledger. Witness the beautiful circularity in the design: One has a ledger of Atom balances; particular holders of Atom balances are able to (voluntarily) use those balances as security deposits and become accountants; and the set of accountants chosen thus maintain and update the ledger. This is how the fundamental problem of selecting a group of accountants for PBFT flavored consensus algorithms was resolved in the Tendermint paper from 2014.
Of course, different accountants will post different amounts of security deposits. Those posting larger security deposits (like 10 million Atoms) have greater value at stake than those supplying smaller security deposits (like 1 million Atoms). If both these parties were to have an equal say in deciding which pages get added to the ledger; then there would be an enormous incentive for the larger security deposit accountant to split their deposit into smaller amounts, and get a bigger say. The only logical conclusion, therefore, is for the say, or voting power, of each accountant to be proportional to the security deposit posted by them.
Security bonds solved a separate, titanically important, problem in the cryptocurrency space — the problem of how to punish accountants for their misbehavior. Systems, prior to early Tendermint, had relied on attracting a set of accountants (miners) via the promise of inflationary rewards. One can think of these block rewards as a carrot — individual miners ran accounting systems for cryptocurrency in the expectation of inflationary rewards in the native tokens of the networks. In 2014, the Bitcoin system printed new bitcoin, worth $400 million plus, and awarded them to its set of functional accountants in 2014 — the Bitcoin miners. However, Bitcoin has no mechanism to actively punish a miner if they try to, say, include a fraudulent transaction in the network. Bitcoin possesses only carrots but no sticks!
Tendermint based cryptocurrencies including Atoms, however, institute mechanisms to punish misbehaving accountants — destroy part of their security bonds! It also rewards accountants the same way as Bitcoin, by inflating the token supply and distributing inflated tokens to the accountant set. This might seem like an innocuous difference, but it will become a centerpiece in our later blogs.
For example, one of the ways an accountant can misbehave is to attempt to vote twice, for two different pages, to be added at the same place in the ledger. Unlike a normal voting system, there is no central party like the Government to ensure that an accountant votes only once. Accountants are able to place two contradictory votes when two leaders propose pages concurrently. The ability to punish accountants is critical to disincentive such behavior. Other misbehaviors include the inclusion of invalid transactions in pages proposed by an accountant and being offline for extended durations of time. Each of these misbehaviors attracts penalties of varying amounts.
This unique combination of security bonds for accountants, and the need for accountants to run open source software to maintain the blockchain created a new role, and a business opportunity. This new economic opportunity is to build infrastructure in order to be a validator — a party that supplies security bonds, and operates infrastructure to maintain different Tendermint blockchains as an accountant. Chorus One is one of those accountants: a validator for the Cosmos Hub.
This means that, if the Chorus accountant were to misbehave in any way, the firm stands to lose a significant amount of capital. Misbehavior can occur due to configuration faults, external attacks or rogue insiders. The difficulty of running a validator stems from the need to build a secure system that can ward off these different attack vectors through an intelligent design. We summarized part of our design, that leads us to be confident enough to post a large security bond, in this article.
The concept of a validator has existed since 2014 — it has taken half a decade to go from theory to practice to commercial business opportunity! The passage of time has introduced a new role in cryptocurrency systems based on Tendermint — the delegator. The fundamental issue that emerged with validation, is the disjointedness between the set of parties capable of running a validator; and the set of parties that held atoms. For instance, a hedge fund might hold millions of Atoms, but be unwilling to run validation infrastructure since it is not their core competency. Tendermint based cryptocurrency systems, including the Cosmos Hub, solve this problem by allowing accounts to delegate, or transfer, their voting power to other parties running a validator. Rewards from running the validator, are then split between delegators and validators. You can find out more about the validation-delegation relationship here.
In this article, we’ve covered the 3 keys ideas that Jae Kwon presented as a vision in 2014 — the decision to build a PBFT-inspired cryptocurrency design, the usage of security bonds to adapt the consensus mechanisms to a cryptocurrency setting, and the wholesale creation of the validation/delegation ecosystem.
It has been a long journey to go from ideation to a practical working system. The reward of the Tendermint design is a cryptocurrency ledger design (plus open source implementation) with low operating costs that can process hundreds of transactions a second. This in itself is a big contribution to the blockchain ecosystem.
But, the true revolutionary implications of the design are still to follow! In the next article, we will cover the business opportunities presented by application-specific blockchains. Someday in the future, the implementation of shared security or sortition security networks with the Atoms as a base currency will also be presented. All of these are key to understanding the opportunities in the Cosmos ecosystem. Stay tuned, and let us know your questions.
If you want to discuss Cosmos further, stop by our Chorus One Telegram and say hi. And, of course, we’re happy to answer any questions about delegating to Chorus One.
Dear Loom community,
We are excited to announce the launch of the Chorus One Loom validator today!
What drives us at Chorus One is the mission to create a more efficient and open world, where people have control over their own actions and assets. Gaming has become a big industry over the last decade and it is growing at a rapid pace. Many games have become their own little closed-loop economies. Players can buy and earn in-game items and this is becoming the primary way to monetize games.
But the assets of gamers in games aren’t truly theirs. The game economies created tend to be closed. You can’t move assets out of a game into a different game. You’re at the mercy of a company that can seize assets at will. You can’t just sell them to anyone. Or have a community fund and own a game collectively.
Blockchain, in the end, is about enabling human collaboration on a massive scale. We believe that gaming could be the bleeding edge in exploring the future of collaboration and creation. But the issue with games is that there are a lot of actions with relatively small monetary value. The low throughput and high costs of blockchains so far have made that adoption by games a big obstacle.
Loom plans to change that. Loom is a platform built on top of Ethereum that allows building large-scale decentralized applications. And the first area of focus for Loom is to create the blockchain platform for gaming. A place where games can issue assets, assets can be traded, games can become interoperable with each other and the emerging internet of blockchains.
This is a vision we believe in and we are excited to support it going forward. But besides the compelling vision, what else attracted us to Loom?
The Loom team is building cutting-edge technology, but they’re also pragmatic. They recognize that the goal is to bring blockchain capabilities to gaming, not to build fancy systems for their own sake. We think the tradeoffs the Loom team is making are solid.
It was only in January 2018 that Loom closed its funding round. Since then, they have made a massive amount of progress including launching CryptoZombies, a gamified course on Solidity that attracted an astonishing 370,000 signups.
Loom is using many technologies that we are interested in and bullish about. They are building one of the first Ethereum Plasma chains. They are using Tendermint as their consensus algorithm for the Plasma sidechain. They are planning to be one of the first blockchains to connect to the Cosmos Hub via IBC.
Now, you may ask yourself how we will be supporting the Loom Network. Here is what we will do:
We will be running a Loom PlasmaChain validator. We are scheduled to go live within the next two weeks and you will be able to delegate your LOOM to our validator in the very near future when the Loom Delegation UI is launched. Any LOOM holder will be able to earn tokens by delegating to our validator.
We will be participating in Loom’s governance and help steer the project to long-term success.
We will help the Loom team with making sure the network is stable, issues are ironed out and contribute tools for building a robust validator ecosystem.
We will publish regular updates about Loom to keep people informed about the project. These will include monthly video updates, but we also have an in-depth Loom Investment Thesis, which we will publish in the coming week.
Before we wrap up, a few words about Chorus One:
The company was co-founded by myself and Meher Roy. We have both been working in the blockchain space for many years. You may have heard us as co-hosts on Epicenter, which is one of the longest running and most popular blockchain podcasts. My involvement with Tendermint also goes long back. In 2015, I worked for Monax (then Eris Industries), which was the first user of Tendermint. In 2017, I became COO of the Tendermint team and helped run the Cosmos fundraiser and scale the organization. And just about a year ago, we decided to build a company to operate infrastructure for Proof-of-Stake networks.
Since then, we’ve assembled an outstanding team, which includes expertise in distributed systems, DevOps and information security, scaling tech companies and economic research. We are one of the leading Cosmos validators and will be launching staking services on many networks in the future.
We’d love to work with you make Loom reach the moon. Sign up for our email list and we’ll keep you up-to-date when we publish new content and when delegation on Loom goes live. You can also check out our blog for a lot of staking related content, follow us on Twitter, or join our dedicated community channels on Slack and Telegram. We would love it if you stop by and introduce yourself!
Brian Crain and the Chorus One Team
Photo from Unsplash by Matteo Vistocco.
Originally published at blog.chorus.one on February 11, 2019.
At this point it is hard to argue with the fact that most projects in the crypto space are being built on Ethereum, but there are many upcoming smart contract platforms that may present an alternative for developers. The Cosmos Network is one of these highly anticipated “third generation” blockchains. Cosmos is using a modular architecture and allows for easy developability and better scalability, if you want to learn more about Cosmos and its value proposition check out our introductory blog post here.
This post is introducing some of the top projects that are currently developing on Cosmos and what made them choose the Cosmos Network to host their applications.
IRISnet aims to build an interchain service protocol for building next-generation distributed applications. The goal is to provide an interface to integrate business services from heterogeneous systems into the Cosmos Network. IRISnet is extending the Cosmos inter-blockchain communication protocol (IBC) through standard transaction types with the goal of functioning as an adaptor of business logic from other private or public blockchains or even legacy systems.
The project is a strategic partner of the Interchain Foundation and Tendermint, who are the main driving forces behind the Cosmos Network. The IRIShub will potentially be the first hub to interoperate with the Cosmos Hub and its connecting zones. Bianjie.ai, the core team from China behind IRISnet, is currently focused on getting their hub ready for mainnet and developing the IRIS Service layer. IRISnet has started its own incentivized testnet, where participating validators can earn IRIS tokens for completing tasks. There are plans to launch a hackathon titled Game of Genesis after the final Cosmos testnet competition Game of Stakes took place. If everything goes as planned, the IRIShub will be live shortly after the Cosmos Hub, with a targeted launch date around the end of Q1 2019.
When asked why IRISnet chose to build on Cosmos, Suyu Huang from the Bianjie.ai team said the following:
“IRISnet believes in the vision of an internet of application-specific blockchains and aims to amplify the value of business applications. The interoperability solution of Cosmos (IBC) was a natural fit for this problem.”
Sentinel is building a multi-protocol network layer to provide access to services and distributed resources for P2P and decentralized applications. Their first service is a decentralized Virtual Private Network (dVPN) that allows users to redirect and mask their internet traffic through a set of high-bandwidth nodes.
Each service on the Sentinel network will be a Tendermint zone with its own network of service nodes and validators staking tokens, which will be able to interoperate within the Cosmos Network. Another exemplary service on the Sentinel network is Swixer, a cryptocurrency mixer that is utilizing cross-chain swaps allowing users to anonymously convert tokens. The Sentinel team is planning to develop a SDK to enable easy integration of third party applications that require access to distributed resources and services.
Sentinel is being built using Tendermint and the Cosmos SDK due to their core strengths in the areas of scalability, governance and interoperability:
The Agreements Network is a decentralized contract management platform aiming to serve as the legal layer for the networked world. Lawyers can generate template agreements and represent them on the network using a toolkit consisting of standard processes like signatures, payments and registrations. These templates can then be invoked and operated in an automated fashion and at scale, with the network providing data assurance for contract formation, chain of custody and fulfillment of obligations.
The Agreements Network is a Proof-of-Stake blockchain based on Hyperledger Burrow utilizing Tendermint consensus and a custom EVM implementation optimized for executing legal processes. The project’s goal is to function as a hub within the Cosmos Network through which other zones can access and interact with the legal agreements between participants stored on the Agreements Network.
The advantages of this approach are:
FOAM aims to bring location-based information to the world of blockchains and smart contracts. By combining low-frequency radio hardware with a peer-to-peer network of nodes staking the FOAM token and token curated registries (TCRs), the FOAM network is incentivizing the creation of a GPS alternative including a world map filled with information (Points of Interest). The project aims to enable parties querying the network to provide a so-called “Proof of Location” to smart contracts, which could be useful in many applications spanning from blockchain gaming to trade finance.
The team raised around $16.5 million at the end of July 2018 through an innovative token sale approach that required users to interact with the protocol before being able to sell their tokens.
FOAM will utilize Tendermint consensus in combination with staking FOAM tokens for consensus between nodes belonging to a FOAM zone. A zone in FOAM refers to a set of radio beacon nodes covering an area of the world within the FOAM network. The team is currently developing an architecture for how such zones could connect to the Cosmos Network.
TruStory is a social network application that wants to bring an end to fake news by identifying the truth behind claims through a decentralized network of topic experts. TruStory is using tokens to incentivize identifying accurate and refuting inaccurate information. In the first version, TruStory will be purely focused around cryptocurrency-related questions.
The team behind Preethi Kasireddy creating TruStory decided to develop on Cosmos for a number of reasons:
The Cosmos Network is positioned as an attractive platform to host decentralized applications. The separation of the consensus and application layer logic (ABCI) together with the modularity of the Cosmos SDK allow developers to easily compose applications with modules fitting to their use case.
Application-specific blockchains utilizing fast finality Tendermint consensus that are able communicate through the IBC protocol could help to usher in a new era of scalable and interoperable blockchain applications. We are excited to see how the Cosmos Network will evolve and are looking forward to help secure this ecosystem in our role as validators. If you are searching for validators for your zone on the Cosmos Network, don’t hesitate to reach out to us through our website or our other channels linked below.
About Chorus One
Website: https://chorus.one
Twitter: https://twitter.com/chorusone
Medium: https://medium.com/chorus-one
Slack: https://chorus.one/slack
Telegram: https://chorus.one/telegram
Originally published at blog.chorus.one on November 29, 2018.