Based on work done by Dan Robinson: https://pdfs.semanticscholar.org/03b0/35bc6fea62caef3455ad383cd7f8164adf2f.pdf?_ga=2.150270324.311835667.1572664300-1273586131.1572664300 As well as work done by Matthew Green, Ian Miers, J. Ayo Akinyele, and the ZCash Foundation https://eprint.iacr.org/2016/701.pdf
Building the primitives for general DeFi systems like lending. The wave of ZKP’s and their application to DeFi.
What it does
A person can join the network as a maker, looking to enter into a bet with someone else (anonymously!). This is accomplished by placing funds on-chain (Cosmos) in an escrow account. An anonymous counterparty will commit to enter in the contract, and voila -- they are now trading!
How we built it
https://github.com/ZcashFoundation/libbolt https://github.com/cosmos/cosmos-sdk https://github.com/kaiba42/rainbolt-price-feed https://github.com/kaiba42/rainboltd https://github.com/rusty-jules/rainbolt
Implementing libbolt as a server in rust and creating a client to interface with a cosmos app chain.
Challenges we ran into
Challenges included mastering the setup of a ZKP payment channel such that one could architect a proper blockchain-backed escrow account on cosmos.
Accomplishments that we're proud of
Building something on zero knowledge proofs!! Privacy is king!
What we learned
The capabilities of a cosmos app chain in terms of general blockchain development. Looking deeper into the inner workings of payment channels. Improving the performance of generating payment proofs. Thinking about different products beyond perpetual swap contracts.
What's next for Rainbolt
The potential for multi-asset payment channels by leveraging IBC to integrate with coins like Terra and Agoric. Improving upon the on-chain privacy guarantees. Creating a friendly GUI.
Even building on other blockchain platforms like Polkadot/Substrate and Near protocol.