Why not use blockchain for step 3?


I just bought BTC with XMR for the first time using Bisq. It went through all smoothly and I received the BTC. It’s a great platform!

I have a simple question about the process though:

  • Step 2 = I send the XMR to the seller
  • Step 3 = I need to wait for the seller to confirm he received the XMR

Why not check the transaction on the blockchain instead of waiting for the seller to “manually” confirm he received the XMR I sent him? Sorry if the question is stupid, I feel like I miss something here…

Main reason is because Bisq focuses on fiat to crypto trades. Adding altcoins as payment methods is pretty simple once fiat payment methods were figured out how to be done securely and decentralized. So altcoins payments follow the same protocol in the code as other fiat payment methods.

However, this doesn’t meant that this would be possible to implement anyway in Bisq. As it needs to be done in a decentralized manner. In future this might be added to Bisq with atomic swaps or something, but it is not really the focus of Bisq.

Even without atomic swaps, wouldn’t it be possible to ask the buyer to send the transaction ID and validate step 3 if:

  • the sender’s address corresponds
  • the amount corresponds (I guess you’d also need the TX id for Monero as the amounts are not public)
  • the receiver’s address corresponds

The problem is that you can’t do it in a decentralized and secure way like that.
The question is, who is going to validate that txid and be able to guarantee the safety of your exchange?

The question is, who is going to validate that txid and be able to guarantee the safety of your exchange?

Well, Bisq by trusting the blockchain… Let’s say I want to buy BTC with ETH (because ETH is not private so it will be easier for my example). If I enter the transaction ID in Bisq at step 3, Bisq can check this transaction on https://www.etherchain.org and:

  • verify that sender address is mine (it supposes that I verified my address earlier by sending a random tiny amount to my ETH wallet within Bisq for example)
  • verify the receiver address is the one from the person selling me the BTC
  • verify the amount of ETH sent is correct

and validate the step 3 automatically when there are enough confirmations. This way, no human interaction is needed for step 3. Moreover, human validation can be dangerous in case a seller is waiting for 2 similar/identical amounts at the same time and validates the wrong transaction.

With XMR it does not work due its privacy features. You cannot identify a tx on the XMR blockchain.
For other altcoins that is a planned feature but required a bit of work. Atm there are no dev resources for that.

OK great. I just thought I was missing something. Thanks for the info and congrats to the devs!

1 Like

Yeah, we can have the process a bit more automated for the users.
We will still need arbitrators though in case of a dispute, although even they can confirm this in an automated fashion, but we can’t remove them without a technology such as atomic swaps.

So it is a good idea when it comes to speed.