The ICF runs a general-purpose funding program for projects that advance its mission of open, decentralized networks. Currently, the ICF is particularly interested in projects that expand the security and capabilities of the Cosmos ecosystem to more environments, including networks, languages, protocols, devices, browsers, etc. As such, the ICF is issuing a Request for Proposals to focus the funding on projects most critical to the development of the Cosmos ecosystem.
RFP-2019–EE-1: Proof-of-Stake Improvements
Blockchains in the Cosmos Network are secured via Bonded Proof-of-Stake mechanisms that incentivize co-ordination between validators and token holders and provide security guarantees to light clients and to other blockchains. The current mechanism on the Cosmos Hub is arguably the most advanced Proof-of-Stake implementation in the world, but there are many dimensions along which it can be improved. These include monetary policy, delegator and decentralization incentives, validator slashing risk, fee distribution, key management, interchain security, and much more. Of particular interest are ideas for “cross-chain collateralization”, where Proof of Stake deposits on one blockchain can be used, via IBC, to secure execution on many other blockchains. We’re looking for concrete descriptions of problems, as well as proposals and implementations for solutions.
- Research, analyze, and document the design space and tradeoffs in Cosmos-style Bonded Proof of Stake mechanisms
- Write a detailed specification, analysis, and/or simulations for a particular design
- Implement a particular design using the Cosmos-SDK
RFP-2019–EE-2: Interchain Infrastructure (IBC, Pegs, Oracles, etc.)
At the heart of the Cosmos Network is the idea that digital rights can be securely transferred between distinct decentralized administrative domains like blockchains. In other words, groups of validators on one chain can hold and transfers assets on other chains. IBC is a formalization of this idea for so-called “Cosmos native” blockchains.
We’re interested in projects that expand the number and type of blockchains able to participate in this common distributed custodial infrastructure in general. This includes projects to enhance IBC or implement it in other languages, but also projects that support communication with non-Cosmos-native blockchain networks, like Bitcoin, Ethereum, Polkadot, Tezos, Zcash, Monero, and many more. Such constructions include “Pegs”, which peg value on one chain to control by another, but also “Oracles”, which provide more generic data feeds between chains. We’re interested in exploring many different peg and oracle designs on the many different platforms, and even on the same platform, and on implementing such designs as modules within the Cosmos-SDK and other ABCI frameworks. We’re also interested in the relationship between these designs and IBC.
- Research, analyze, and document the design space and tradeoffs of peg, oracle, and other “bridging” designs
- Write a detailed specification for a particular design
- Implement a particular design
- Implement modules in the Cosmos-SDK or other framework that support a particular design (eg. a module to detect Byzantine behaviour on another chain)
Example projects include:
- Nomic’s Bitcoin Peg: https://nomic.io/
- Swishlab’s Ethereum Peg: https://medium.com/thorchain/building-the-next-generation-bridge-870aeff16672
Note we are open to supporting multiple approaches to connecting with any particular blockchain (so there could be multiple projects building a bridge to Ethereum, for instance).
RFP-2019–EE-3: ABCI Frameworks and State Machine Integrations
One of the key features of Tendermint Core is the ability to securely replicate arbitrary deterministic state machines in any language via ABCI. This applies not just to newly developed state machines, written with Tendermint in mind, but also to those written independent of Tendermint, or even despite it! We’re interested in seeing many more of the world’s state machines being integrated with ABCI, enabling them to run on Tendermint, including state machines for cryptocurrencies, like Bitcoin, Ethereum, Tezos, and Zcash; those for service-discovery, like etcd and Consul; those for arbitrary computation, like WASM; and those for various other interesting distributed applications (gaming, governance, etc.).
However, ABCI is a quite low-level protocol (say, like HTTP), and applications should actually be written using higher-level ABCI application frameworks (say, like Ruby on Rails). Integrations with existing state machines should use existing frameworks, or should proceed alongside development of new frameworks. We’re looking to expand the number of languages for which such frameworks exist, to ensure many state machines in that language can be easily integrated with ABCI. We’re also looking to expand the capabilities of existing frameworks, for instance by improving core functionality or adding new general-purpose modules. The ultimate goal is to enable application developers in any language to leverage the power of large-scale Byzantine Fault Tolerance.
- Implement or improve an ABCI server in a particular language
- Implement an ABCI framework for building applications in any language with an ABCI server
- Improve an existing ABCI framework by adding or improving features or modules
- Integrate an existing state machine environment into ABCI using a framework so it can run as a Tendermint application
Example projects include:
- Ethermint using the Cosmos-SDK: https://github.com/cosmos/ethermint
- Kadena’s Pact on Tendermint
RFP-2019-EE-4: Signing on Mobile, Browsers, and HSMs
At the heart of every Cosmos blockchain are validators signing votes and users signing transactions. Signing is a critical, highly sensitive operation and is the foundation of all security in the system. We’re interested in extending the number of environments capable of securely signing messages in the Cosmos ecosystem. For validators, this means HSMs, almost exclusively. For users, it means mobile devices, browser extensions, native applications, HSMs, and even command line clients in other languages.
- Implement a secure signing application
Example projects include:
- Ledger Cosmos App
- Lunie Chrome Extension
We’re excited about Cosmos ecosystem expansion and looking forward to many great project proposals. And of course, while we’re focusing in on these four strategic directions, we’re still funding projects in other areas that align with our mandate.
If you’re interested in funding, please visit https://github.com/interchainio/funding to find more details about the application process and the link to the application form.