h4sh3d/xmr-btc-atomic-swap

Flesh out the ZKP section

Closed this issue · 3 comments

When I raised the question on IRC, I was wondering specifically if folks had more thoughts on the zkp part of your proposal. The usual bitcoin ZKCP example that gets thrown around is the pay-for-sudoku-solution and that was a nontrivial amount of work. I'm unclear of how much work this particular ZK proof would be. It seems like a fairly mechanical "shape" of proof, but I don't have a good sense for how much data would be involved.

I need to do more research to figure out how to create the proof zkp[it exists s: h = HASH(s) and a = XMRAddress(s)]. My first thought is to use zkSNARK, but I need to find a way to express the NP statement.

I've updated the protocol but zero-knowledge proofs are the same. I started looking more in depth into Bulletproofs zkp, as zkSNARK they can prove arbitrary arithmetic circuits and so pre-image + range proofs. And that what is needed.

I'm interested especially in the Rust implementation by dalek-cryptography (https://github.com/dalek-cryptography/bulletproofs).

As a recent research funding I had the possibility to work again on the protocol and after reading and discussing with the Monero Research Lab I discovered new techniques to achieve the same result without generic zero-knowledge proof circuits, the result is now merged on master if you want to have a look!

More will be published soon about the research results