Cosmos & Privacy Baseline Report

This report outlines the current state and priority in the Cosmos ecosystem of Zero Knowledge cryptography and other privacy related technologies

ZK Validator
Zero Knowledge Validator
8 min readApr 30, 2020

--

Introduction

ZKValidator recently engaged a group of key developer and contributors of the Cosmos Ecosystem to map out how privacy technologies, and specifically Zero Knowledge Proofs, could be incorporated into the ecosystem. Our aim with this process was to measure the priority level for privacy systems within IBC (Inter-Blockchain Communication), Cosmos SDK or the Cosmos Hub.

This report will act as a baseline to inform ZKValidator’s future efforts to support privacy technologies on Cosmos.

A quick recap of who we are: The ZKValidator, or ZKV, is a validator with the goal of understanding and promoting the role of privacy in various blockchain ecosystems. The project is led by Anna Rose of the Zero Knowledge Podcast and Will Harborne, founder of DeversiFi. For more about the project, the work we do and our mission, please visit the website or have a look at our introductory blog post.

Methodology

ZKV conducted interviews with a range of core members of the Cosmos ecosystem, including core developers, validators, and teams interested in implementing privacy technologies.

Three themes of initial investigation:

  • Governance and Processes What steps will be required for new technologies and feature sets to be included into Cosmos Hub or Zones?
  • Priorities and ATOM ValueWhat are the current top priorities for ATOM holders and where do privacy technologies fit?
  • Zero Knowledge and Privacy: Existing ResearchWhat existing work is already being done by other teams and what are the major blockers to implementation?

Section 1 — Governance and Processes

This section of the report aims to explore the current state of Cosmos governance and the processes for introducing technical changes and upgrades into the Cosmos code ecosystem. This exploration is done with a view to understanding how ZKV can best accelerate the introduction of Zero Knowledge and other privacy technology into Cosmos. These findings are generally applicable and may be of interest to existing and future members of the community.

What is the current and future role of the Cosmos Hub Governance system?

The Cosmos Hub provides a mechanism for ATOM stakeholders and validators to directly govern the blockchain, via submitting proposals and signalling approval or disapproval. A detailed overview of the Hub governance can be found on the Chorus One blog.

Today: Hub has been used to upgrade the Hub version of Gaia, and fund certain activities. So far Hub governance has not been used to make decisions related to the Cosmos SDK or Cosmos IBC. The Cosmos SDK and IBC are independent from the Hub and are used by the broader Cosmos ecosystem. The Hub’s software uses the Cosmos SDK, and eg. Hub governance is normally used to make software upgrade decisions specifically or the Hub.

In the future: Core Cosmos ecosystem members would like to see the role of the Hub governance grow significantly. Following this summer’s next major Hub upgrade, it is expected that all of the initial Cosmos whitepaper will have been delivered — including IBC.

After that the ecosystem roadmap and priorities are somewhat undefined. An opportunity for Hub governance will be to propose and set the future direction.

ATOM stakeholders have the opportunity to endorse a new roadmap by making signalling proposals to the Hub. Validators such as ZKV could make such proposals to show community support for an increased priority of privacy and Zero Knowledge implementation research on Cosmos.

What is the current process for including technical changes to the Cosmos SDK?

The official Cosmos SDK Github repository is controlled by the All in Bits team, who accept pull requests made by external contributors.

Gaia (the version of the Cosmos SDK used by the Cosmos Hub) and other blockchains using the SDK can specify in its app.go file which modules to pull in from the Cosmos SDK, as well as from other sources. Hence inclusion into the SDK is not necessarily a prerequisite for implementation of new privacy features in Gaia or in Cosmos Zones.

The rough outline of the process to implement change on the Cosmos Hub would be:

  1. Work to build collective mindshare that the set of changes would be of interest and are technically feasible.
  2. Convince the major validators of the value to the ecosystem and to ATOM holders.
  3. Make a proposal to signal inclusion in the next Gaia update.
  4. Find an implementation team. Account for a PR review latency of 2–4 weeks for acceptance of pull request by AiB team.
  5. Finalise implementation and roll out on other zones or testnet.
  6. Include in next upgrade.

What is the current process behind the scenes for including technical changes to the Cosmos IBC?

The processes are still rapidly evolving here, and not yet as defined as many participants would like. The IBC Working Group is spearheading the efforts, composed of Interchain Berlin, Iqlusion, Agoric and many other teams. This group formed due to push IBC forward, but upgrades may not require global buy-in. There is a weekly public meeting for the working group where informal and formal proposals can be shared to influence the direction of development.

Section 2 — Priorities and ATOM Value

This section of the report offers an initial look at the priorities according to the sample of the network that we polled. Our aim with these questions was to get an initial sense of what the top priorities of developers, validators and ATOM holders are, and where privacy falls within that list.

What are the top priority in the Cosmos ecosystem?

The top priority at the moment, echoed by almost all participants, was the work being done to launch IBC & Game of Zones. This was followed by the upcoming updates to the Cosmos SDK & client, the development of peg-zones, the development of new zones, the evolution of the Cosmos Hub as a stronger funding body in the ecosystem, the identification of the comparative advantages for the ATOM as well as possible strategies to take advantage of these.

How high does privacy technology feature in the priority list?

Participants were asked to rank these developments by priority in order to understand how high on the list privacy technology was. The results varied greatly which showed, understandably, that different stakeholders will see various components in the ongoing work on cosmos as bearing different weight to its overall success. We saw that while privacy research was for a minority of participants relatively high on the list, upon tallying up all answers, this ranked at a lower priority than many of the priorities listed above.

As mentioned above IBC on balance was seen as a the highest priority requirement to bring increased value to ATOM and the ecosystem. However following its completion, there will need to be a strong feature-set available on Cosmos Hub and various peg-zones for users of other blockchains to want to migrate value across. A strong privacy focus will be one key tool of the feature-set, and when combined with IBC, could further encourage other blockchains to migrate.

Section 3 — Zero Knowledge and Privacy: Existing Research

In this section, we asked the participants to help us map out the existing efforts related to privacy or ZKPs within the Cosmos ecosystem. This included evaluating any known planned research, teams and implementers.

Are there any solutions like zk-rollup or other scaling solutions being explored in a Cosmos context?

It should be possible to apply a modular zk-rollup solution to most base layer blockchains, including those using Cosmos SDK. The base layer requirements are:

  1. The ability to cryptographically verify SNARKs or other proof types.
  2. Implementations of efficient light clients (ideally in several languages). Light clients are already being prioritised as one of the core components of IBC.

One relevant project is Lazy Ledger, focused mainly on Data Availability solutions and able to reach GB size.

What are the planned zkp & privacy technologies integrations that are already being worked on, either on the Hub, in the SDK, or using peg-zones (bridging from existing chains)?

There was a wide range of discussion about theoretical or early stage privacy implementations. For example, private staking and validation has been explored several times, however, as was pointed out, this can become a very difficult design challenge, as private delegation could in fact undermine the crypto economic balances that are created in a public validator set.

In peg-zones, on the other hand, there are many possible ways in which existing privacy tech could be “brought in” to the Cosmos Network. For example, the Zcash Foundation is funding research on how to bridge Zcash to cosmos over a peg-zone and they have said, in their Q1 update report, that they will be publishing some news and results in Q2 of this year.

A few other projects were highlighted:

There have been discussions in the past about integrating zcash’s Sapling into the Cosmos SDK — is this progressing?

It seems that many developers are aware of some vague plans and there is positive sentiment about this, but there is either little work being done, or no visibility over this.

One of the concerns raised many times throughout the initial discussions was around bootstrapping an anonymity set within Cosmos. This was seen as being one of the challenges which needs to be addressed to bring useful private transactions.

What in your view are the current blockers to implementation of ZKPs on Cosmos?

This prompted some very interesting feedback and helped to point us towards areas where the ZKV could potentially be helpful.

The main blockers that people highlighted were:

  • No clear ZKP standard: many different protocol proposals, but it is unclear which ones to focus on.
  • Lack of confidence in ZKPs: many of the new protocols are not yet battle tested and this is preventing some teams from full embracing them.
  • Lack of DSLs (domain specific languages) for working with ZKPs.
  • No dedicated resources to design/implement.
  • No clear team/lead to push this forward.

Conclusion

There is a clear opportunity for ATOM holders, validators, and all ecosystem participants to set mandates via Hub proposals, to fill the roadmap vacuum which will be left after the next upgrade. This may open up financial and technical resources that could be directed towards privacy oriented topics and ZKP implementations.

Through our interview and our subsequent in-person discussions with Cosmos core developers, we learned that different stakeholders at the moment have vastly different priorities. However, it was clear that IBC and updates to the cosmos SDK have the highest priority at the moment.

The strongest case for prioritising privacy was made in relation to IBC itself, but only once IBC is fully implemented. At that point, privacy-first digital assets could migrate via IBC to share an anonymity set with another Cosmos Zone. Alternatively, a privacy use-case, such as a zone providing private ‘shielded’ transactions, would open up new use-cases and applications in the Cosmos ecosystem, and could bring enormous value to ATOM.

We are currently looking for groups implementing a zone on Cosmos and who are exploring privacy features. If this is you, then please reach out to us at hello@zkvalidator.com.

Thank you to those who provided input, including Zaki Manian (Iqlusion), Chris Goes (Interchain Berlin, IBC Working Group), Jack Zampolin (IBC Working Group), Gavin Birch (Figment Networks), Dev Ojha (Sikka), Alessio Treglia (All in Bits).

--

--