Project Plan
Scope and Goals
The Interledger protocol (commonly referred to as ILP) is an open standardized protocol for sending payments between different ledgers. Following the same mechanics as the Internet, Interledger deals with routing packets of money transfers between payment networks that are fully independent of one another (e.g. Bitcoin, Ethereum, Ripple, PayPal, Visa).
The main components of Interledger are the so-called connectors, which form networks. Connectors are independently operated nodes, running the ILP protocol, which act very similarly to decentralized exchanges, and have the role of exchanging value across different payment networks (ILP supports a wide variety of assets: tokenized assets, cryptocurrencies, fiat currencies, and even cash).
In Interledger, connectors forward money from the sender, through the network, to the receiver:
The goal of the mentorship project is to integrate Hyperledger Iroha within Interledger (using Hyperledger Quilt as the specific ILP implementation), so as to be able to interoperate between Iroha and other ledgers and between different instances of Iroha blockchains.
IL-RFC-1: Interledger Architecture gives a detailed overview of all the components in the Interledger protocol and how they are interrelated to one another. For the scope of this mentorship program, we are interested in the ledger layer of the ILP protocol stack. Providing Hyperledger Iroha with interoperability with other blockchains via the Interledger protocol consists of building a settlement engine (as defined in IL-RFC-38: Settlement Engines) for Iroha on top of the primitives offered by Hyperledger Quilt.
Detailed weekly progress can be found at /wiki/spaces/~georgeroman/pages/20549492.
Deliverables
- Implement a compliant settlement engine for Hyperledger Iroha atop of Hyperledger Quilt
- Demo interoperability between Iroha and other blockchains (e.g. Ethereum, Ripple) and between different instances of Iroha blockchains
- Create a common framework for building settlement engines that allows for easier integration with other ledgers
Plan
Weeks 1 - 4
Using the Java bindings for Hyperledger Iroha (iroha-java), create a simple client Iroha client (similar to
iroha-cli
) so as to get familiar with Iroha- Research existing settlement engine implementations (ethereum-engine, settlement-xrp)
- Familiarize with the official specification for settlement engines (IL-RFC-38: Settlement Engines)
Weeks 4 - 12
- Work on a compliant settlement engine for Hyperledger Iroha, while also documenting along the way
Weeks 12 - 18
- Finalize the settlement engine implementation for Iroha
- Thoroughly test the Iroha settlement engine using existing connector implementations (interledger-rs, ilpv4-connector, ilp-connector) (with other ledgers and within a network of Iroha blockchains)
Weeks 18 - 24
- Identify common components and interfaces in the implementation of the settlement engine
- Extract generic components into a common framework for building settlement engines that allows for easier integration with other ledgers (similar to settlement-core)
Methodology
- Review on a quarterly basis according to the part-time mentorship schedule
- Weekly meetings with mentors for discussing recent work and encountered problems
- Communicate with the projects' communities via different messaging platforms (Iroha's Telegram group, Quilt's Slack channel) and community calls