Skip to content

Instantly share code, notes, and snippets.

@adrianhopebailie
Last active January 12, 2017 18:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adrianhopebailie/353be53566acb5d363662e971bbe3635 to your computer and use it in GitHub Desktop.
Save adrianhopebailie/353be53566acb5d363662e971bbe3635 to your computer and use it in GitHub Desktop.
ZCash and Interledger

Response to thread on zCash forums:

Hi Zooko,

Adrian here from the Interledger Project. The use case you describe is exactly the one we're trying to address with Interledger. Thanks Brett Carter for pointing me to this thread.

Ito interoperability, Interledger takes the approach of providing a protocol for inter-networking payment networks (in a similar manner to how IP solves for inter-networking between data networks). So rather than trying to provide any features that should be ledger/network specific Interledger simply addresses "How can value be transferred from an account on one ledger to an account on another, reliably?" It is completely ledger agnostic and actually very very simple.

The protocol depends on Conditional Payments on each network, however it is possible to work around this if the two participants on either side of a transaction, through a network that doesn't support conditional payments, trust each other. Therefor you could use Interledger to provide interop between modern crypto-based payment networks and also legacy networks and also a combination of both.

Using conditional payments you can chain any number of payments together to facilitate an end-to-end payment that is the result of many sub-transfers on numerous underlying networks/ledgers. All that is required is standards for:

  1. Addressing accounts (so a payment can be routed appropriately through intermediaries)
  2. Defining the condition that must be fulfilled to release a payment (so that all payments in the chain are dependent on the same condition and evaluation of the fulfillment is deterministic)

We've been working on a flexible addressing scheme (analogous to IP addresses and still a hot topic in the community - notes from yesterday's community call) and also crypto-conditions for the condition standard.

Rather than try to explain the whole protocol (there's over a year of work from a lot of community members behind us) I'd recommend looking at a few of the videos of presentations done at Interledger workshops. Our YouTube channel is here: https://www.youtube.com/channel/UCAQpSd1FWbM-MwE-5JGYzyw

On the Interledger site is a community page where you can join our W3C Community Group and IETF mailing lists which are the best places to ask any questions OR on the bi-weekly community call (next one is 25 January at 3pm UTC - details sent via mailing list). We also have a Gitter and IRC chat (irc.w3.org#interledger).

Ito integrating any new ledger/network there are a few options but the easiest is to use the existing reference implementations of a connector and client and simply write a plugin for your ledger. The Ripple or five-bells (our reference ledger) plugins are good references.

We'd love to ILP-enable Zcash and have people running an ILP node (easy to use combination of reference components) providing liquidity on the zCash network so let us know how we can help.

Finally, we know that many people in the crypto-currency community are very interested in anonymity and privacy which are not directly addressed by a low level protocol like ILP but we do want to ensure some of the higher level protocols like SPSP can offer these features or develop alternatives that do. We could certainly use your help to make progress in this regard.

Adrian

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment