Development

Github metrics:

Interchain Foundation’s Greg Szabo provides an introduction and overview of Ansible on the weekly Tendermint developer sessions.

Documentation.

by Interchain Foundation.

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. The ICF is looking for concrete descriptions of problems, as well as proposals and implementations for solutions.

Apply To:

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.

The ICF is 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. The ICF is 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. They’re also interested in the relationship between these designs and IBC.

Apply To:

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:

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. The ICF is 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. They’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.

Apply To:

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

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. They’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.

Apply To:

Implement a secure signing application

Example projects include: