xmr-btc-swap icon indicating copy to clipboard operation
xmr-btc-swap copied to clipboard

[1 XMR] Allow for cooperative release of funds

Open thomaseizinger opened this issue 3 years ago • 10 comments

The protocol allows for Alice to punish Bob by taking the BTC in case Bob never refunds. This can happen unintentionally as well. See https://github.com/comit-network/xmr-btc-swap/issues/688 for example.

In that case, the two parties would have agreed to a cooperative release of funds. This should be possible to implement if we add:

  • A command to the asb to print the Monero secret share
  • A command to the cli to claim the Monero using the secret share

thomaseizinger avatar Aug 26 '21 13:08 thomaseizinger

I'd propose that we add a libp2p protocol over which Bob can connect to Alice after Bob has been punished to request Alice to reveal the Monero secret share. Bob can then use that secret to redeem the XMR. This behaviour would be invoked by a custom attempt-cooperative-redeem command of the CLI.

There should be no reason for Alice not to release it if we assume she's good-willed. This will essentially resolve the entire issue of users getting punished in practice.

@delta1 What do you think?

binarybaron avatar Oct 14 '23 23:10 binarybaron

Some more discussion can found here: https://github.com/comit-network/xmr-btc-swap/discussions/713

binarybaron avatar Oct 14 '23 23:10 binarybaron

We use bounties to incentivize development and reward contributors. All issues available for a bounty have the Bounty 💰 label.

To receive the bounty of this issue, you agree to these conditions:

  • Your changes must follow the styling guidelines.
  • Bounties will be set and awarded at discretion of @binarybaron . The issues eligible for a bounty are labelled 'Bounty 💰' and have the amount of the bounty specified in the title in this form: [1 XMR].
  • An issue is considered resolved when the patch(es) proposed by the contributor is/are merged in the appropriate repository according to terms of the issue.
  • The first person who resolves an issue in its entirety will receive the entire amount of the bounty.
  • If the issue is resolved collaboratively by more than one person, the reward will be distributed among the contributors
  • Let the Maintainers know if you intend to work on a bounty, so that the issue can be assigned to you. Being assigned to an issue doesn't make that issue resolvable only by the assignee. It's meant to avoid duplication of efforts and not to discourage collective works.
  • After the issue is resolved, contact @binarybaron and claim your bounty (remember to provide them with a Monero address).

binarybaron avatar Oct 14 '23 23:10 binarybaron

I'd propose that we add a libp2p protocol over which Bob can connect to Alice after Bob has been punished to request Alice to reveal the Monero secret share. Bob can then use that secret to redeem the XMR. This behaviour would be invoked by a custom attempt-cooperative-redeem command of the CLI.

There should be no reason for Alice not to release it if we assume she's good-willed. This will essentially resolve the entire issue of users getting punished in practice.

@delta1 What do you think?

Sounds good, I like it. Will try start on this next week.

delta1 avatar Oct 18 '23 12:10 delta1

I'd propose that we add a libp2p protocol over which Bob can connect to Alice after Bob has been punished to request Alice to reveal the Monero secret share. Bob can then use that secret to redeem the XMR. This behaviour would be invoked by a custom attempt-cooperative-redeem command of the CLI.

There should be no reason for Alice not to release it if we assume she's good-willed. This will essentially resolve the entire issue of users getting punished in practice.

@delta1 What do you think?

Sounds good, I like it. Will try start on this next week.

Awesome

binarybaron avatar Oct 23 '23 09:10 binarybaron

I'd propose that we add a libp2p protocol over which Bob can connect to Alice after Bob has been punished to request Alice to reveal the Monero secret share. Bob can then use that secret to redeem the XMR. This behaviour would be invoked by a custom attempt-cooperative-redeem command of the CLI.

There should be no reason for Alice not to release it if we assume she's good-willed. This will essentially resolve the entire issue of users getting punished in practice.

@delta1 What do you think?

Sounds good, I like it. Will try start on this next week.

Any update? :(

binarybaron avatar Nov 27 '23 13:11 binarybaron

sorry! no progress yet. will let you know as soon as I have an update.

delta1 avatar Nov 30 '23 11:11 delta1

I've begun work on https://github.com/comit-network/xmr-btc-swap/tree/cooperative-xmr-redeem Feel free to jump in

binarybaron avatar Dec 02 '23 15:12 binarybaron