Manage All Your Keys with One Seed Phrase and Keep Their Identities Separate

Christina Cosmos
Interchain Ecosystem Blog
3 min readOct 4, 2021

--

As more chains in the Cosmos network start to interoperate and transfer value, we’re seeing a world of possibilities unfold. Previously existing as siloed ecosystems, blockchains can now interact with each other and grow richer from each connection they make. Cross-chain DeFi gains momentum and the increasingly robust and more inclusive alternative financial system carries more weight.

Yet, as may be expected when presiding over the growth of any new technology, as new strides are taken in some areas, in others, we uncover room for improvement or existing ways of doing things that no longer make sense. This was aptly illustrated in the recent upgrade to Cosmos SDK versioning, for example.

The Cosmos SDK versioning had always reflected that of a Beta. Every new iteration began with a “0” despite years of being tested, run in production, and recognized by the industry. The Tendermint team decided it was time to make the change. And, as we go further down the unbeaten path of interoperability to make the Internet of Blockchains a reality, we’ve identified a need to make another modification, this time to private and public key generation.

The Cosmos Derivation Path Spec Proposal

Currently, the way that keys are generated within the Cosmos ecosystem means that if a user wants to use several blockchains with just one seed phrase and one set of keys, they can. However, because most chains in the Cosmos ecosystem are using the same identifying number, the public and private keys generated for each chain end up being the same, making it hard to maintain privacy between these chains.

So, say you didn’t want anyone to connect your identity on Cosmos Hub with your identity on Regen. You would need to have an extra mnemonic phrase for one of those chains. Clearly, this quickly becomes inconvenient as you transact across further chains.

Confio, with the backing of ICF and Tendermint, therefore, propose an important upgrade that allows the convenience of using just one seed phrase to manage all your keys, yet keeps their identities separate, even on Cosmos chains. It’s called the Cosmos Derivation Path Spec Proposal and it has been completed by Confio blockchain engineers and key contributors to our popular smart contract engine CosmWasm. Confio’s proposal changes the way that keys are generated within the Cosmos ecosystem.

Without getting too deep in the weeds, that means making some adjustments to Hierarchical Deterministic (HD) wallets. HD wallets allow users to generate public and private keys for multiple blockchains with one single mnemonic seed phrase, and they follow a specification called BIP44 spec.

As mentioned, currently, Cosmos Hub and many other chains in the Cosmos ecosystem are using the same identifier which allows for the simplification of other operations, such as the seamless use of tools built for the Cosmos Hub (like the Cosmos Ledger app) by Cosmos chains without any modifications. However, it also means that most chains using the Cosmos SDK use the same key pair, so users cannot keep their identities on all chains separated.

Confio’s proposal will still allow Cosmos chains to easily share important tools and functionality yet will keep users’ activity separate across all chains in the ecosystem. One unique key and one mnemonic phrase to manage all your cross-chain activity, yet separate identities. We encourage you to read a more technical summary on the Interchain blog here and the full Confio proposal on Github here.

--

--