Cosmos Ecosystem Blog

Cosmos is the internet of blockchains - an ever-expanding ecosystem of interconnected, blockchain-based apps and services. Powered by the Interchain Stack, Cosmos boasts over 100 IBC-enabled chains.

Follow publication

Secret Powers: What Do the Upcoming Groups and Gov Modules Enable?

--

The Cosmos is modular. Over the years, the Cosmos SDK has introduced powerful features as modules that developers can easily build on top of. This sits central to the application specific blockchain philosophy: we want developers to focus on building their application, with the least amount of work needed to bootstrap a functioning blockchain.

These modules are the secret powers that make the Cosmos SDK stand out from the crowd. A previous blog post — the first of this series — covered Authz and Fee Grant, but now that the Cosmos SDK has released version 0.46, we thought it would be a great moment to introduce you to the new Groups module, and the various ways the Governance module has gotten a well-deserved power boost!

Cosmos SDK Groups Module

What do we mean with groups? In essence, the Groups module is Multisig on steroids. The Cosmos SDK has supported multi-signature wallets since its inception, but limitations were hindering wider adoption. For starters, signatures are not stored on-chain, so you’d have to manually send over signed transactions to all members. Additionally, there is no dynamic key rotation, so if you wanted to change members, you’d have to create a new multisig and move your funds to that account.

With that in mind, the Groups module was introduced to offer advanced multi-signature wallet support native to the chains built on top of the Cosmos SDK. As a first and obvious use case, this will allow funds to more easily manage their tokens. But there are ample opportunities for developers to build on top of Groups and create vast usability improvements to wallet management, such as 2-factor authentication styled authorizations.

How Does the Groups Module Work?

At its core, a group has members that vote on proposals. Proposals can be one or multiple arbitrary messages that the chain supports, like staking your tokens, sending an IBC transfer and voting on governance, for example. The members of a group can change either through a proposal, or by an admin if the group has elected one or was configured with one from the start.

Additionally, the group itself can have multiple decision policies. A decision policy is a set of criteria that determine when a proposal passes or fails. For example, you can have a threshold decision policy that says that 3 out of 5 members need to vote yes within 5 days for a proposal to pass. The secret power here lies in the fact that it’s not the group that holds the tokens, but the decision policy itself. Why is that important?

Say you’re a member of a DAO that’s funding development work. You may want to pay out a relatively large amount of tokens for work that has been completed. In this case, you want to make sure that a large majority of your group approves the payment, and that there’s enough time for everyone to vote, because you’re dealing with a large sum of money. At the same time, perhaps you’ve had a laptop break down and you need funds to replace the machine quickly. That would be tricky to do with a voting period of, say, 15 days and a 7 out 10 majority requirement.

When you have multiple decision policies, you can secure your large fund with a strict policy, and allow a smaller fund to be accessed by a smaller threshold in a short period of time. This flexibility allows DAOs to be more responsive, or more secure, wherever it’s appropriate. The choice is yours.

The Interchain Foundation is currently funding Regen Network to build a front-end interface for Groups, but in the meantime, you can learn to play around with the module on the Developer Portal.

The New and Improved Governance Module

One of great features about Cosmos chains is that they come with an on-chain governance system by default. Anyone who delegates tokens to secure a chain has a vote on how the chain operates, either through parameter changes or software upgrade. Additionally, delegators can vote on signal proposals or decide how funds in the community pool are spent. This on-chain governance system has enabled tremendous community engagement in the past, but was only limited to these four types of proposals so far.

The Cosmos ecosystem has become more interoperable with the success of IBC, and now that Interchain Accounts is starting to roll out to chains, composability is rapidly accelerating. Chains are now able to create addresses on other chains and execute transactions natively. This allows composability between applications similar to how smart contracts on a monolithic chain like Ethereum can interact with each other. How does governance play into this?

Almost all blockchains built with Cosmos have a community pool. This is a decentralized fund that receives a percentage of the block rewards and continuously keeps growing in size. So far, the community pools have been used to fund public good work, conferences like Cosmoverse, and more recently HackATOM Seoul 2022, but there are many more opportunities for the fund to engage with the wider ecosystem.

What’s changed? Instead of the original four proposal types that existed previously, the new Governance module allows people to propose to execute any number of arbitrary messages that the chain supports, similar to how the Groups module functions. A chain’s community pool could for example send tokens over to a decentralized exchange and swap tokens to create a wider exposure to the Cosmos ecosystem, or buy carbon credits on-chain to offset the carbon output of the application. At its core, the extension of the governance module allows a blockchain’s community to interact with the Interchain in ways previously unimaginable.

We encourage developers to have a look at the specification of this module to learn more about the potential impact this might have on their blockchain or client.

With the tight integration of Groups, Governance and the previous Auth and Authz modules, the Cosmos SDK is building something akin to a Linux permissions system, a core primitive of the Cosmos kernel. When paired with Interchain Accounts, this enables powerful remote account access, quite similar to SSH.

Groups and Governance

In a sense, the Groups and Governance modules are two sides of the same coin. You can imagine all delegators of a chain to be members of the community group by default seeing as the proposal and voting functionality is pretty much identical between the two modules. We’re excited to see where the new features will take you. We hope that chains are eager to adopt the new modules, that exciting new frontend applications will emerge, and that painstaking multisig management will soon be a thing of the past.

We’d like to thank Regen Network for their contribution to the design and engineering work on these features.

About the Author:
Noam Cohen works at Interchain GmbH and is the Developers Relations Lead for the Cosmos Hub team. Noam is on Twitter.

Sign up to discover human stories that deepen your understanding of the world.

--

--

Published in Cosmos Ecosystem Blog

Cosmos is the internet of blockchains - an ever-expanding ecosystem of interconnected, blockchain-based apps and services. Powered by the Interchain Stack, Cosmos boasts over 100 IBC-enabled chains.

No responses yet

Write a response