I believe bitVM can be used to create a decentralized, non-KYC Bitcoin exchange.

I call it Know No Customer (KNC). It’s a simple idea, but I think it will work.

https://github.com/BTCapsule/knc

Reply to this note

Please Login to reply.

Discussion

JC the prisoners Dilemma. How do you buy if you have no bitcoin for collateral?

Yes I’m still working on that haha. You could use KYC, or maybe this could be added to something like Robosats for extra security.

Also, the numbers are arbitrary and people can choose their own risk. I’m thinking of something but it’s kind of complicated, so I’ll let you know when I update.

Okay it’s been updated. I would not use this without collateral because there is no protection. In that case, you are better off trusting a third party or paying cash to a friend.

However, I added a way to use less collateral. It increases the risk, but the seller can still be punished severely for lying.

Thought about it some more and realized it’s gotta be all or nothing for the seller, so they are not incentived to steal. The risk would still be relatively small though, but would probably require a premium.

I like the general idea but it doesn't seem like bitvm computes anything here, so it seems like a generic 2 of 2 multisig address would work better

If Alice wants to buy 5 btc, she deposits 10 as payment + collateral. Bob accepts by depositing 10 as well. In the happy path, Alice sends Bob the normal money they a payment method they agree on, and they cosign to give Alice 15 btc (so she is up 5) and Bob the remaining 5. If either party refuses to follow the protocol, the other party refuses to cosign anything, so they both lose money. This incentives following the happy path without needing any of bitvm's complexity.

Thank you for your comments⚡💜

I understand a 2-of-2 multisig would be better here

Thank you Super Testnet. I have been thinking about this, and I’m running into issues with a multisig setup. Perhaps this is something bitVM is also unable to solve.

If Alice adds funds for collateral and Bob refuses to respond, then Alice loses her collateral and it cost Bob nothing.

We could make it where Alice can get her money back if Bob doesn’t respond. However, if Bob does respond and Alice pays, Bob could use his own private key to take back his part. Now Bob has his 10 BTC + the payment, but Alice is short the payment and only gets her collateral back.

So the incentives are better if it’s all or nothing for both, but Bob can be evil for free. Would bitVM run into the same dilemma?

I would have them both fund the multisig simultaneously in the same transaction. A psbt would help with this. Alice and Bob both add a 10 btc input to the psbt and the psbt has one 20 btc output that goes into the multisig address. Then both review/cosign/broadcast it. That way neither party sends any money unless both do.

Yes that’s perfect. So the multisig does not start until both have committed to paying. Once the exchange begins, neither can back out without losing everything.

Very cool. I have updated KNC to explain this in more detail. Seems like this would be relatively easy to build.

Awesome! Btw the GitHub description still says "Know No Customer (KNC) a bitVM Bitcoin exchange"

Consider changing that to something like "a bitcoin exchange based on multisig" or "based on incentives" or even "based on the game of chicken"

(I also like "based on mutually assured destruction")

Description has been changed. I like mutually assured destruction.

Okay, I have now contributed very little to this project haha.