Damus
/dev/fd0 · 2w
Use of ring signatures to fix denial of service in coinjoin https://image.nostr.build/885b0c57555ce22cacdd1d218e1418038e0999c42f806c69398dfbf8a791431d.png
waxwing profile picture
Interesting. Definitely people have talked about this kind of approach before. A couple Qs: phase1 and phase 2 are disconnected at the network layer, right? so phase 2 A and B send a psbt with their inputs signed, is that right? Yes I think this all makes sense. At phase 3 (network disconnected again right) you're, by ring-signing, asserting you were one of the phase2 participants and that you authorize the use of one of the addresses (it says A' in phase 3 but address is A?) for output. Are you using linkable ring sigs? (to avoid ability to make 2 valid ring sigs on same pubkey). Hmm now I look more carefully I'm not sure I understood the A' vs A distinction, because is Phase 4 for normal operation or fallback? If it's normal operation, what does Phase 1 do?
1
/dev/fd0 · 2w
1. Yes, all phases are disconnected at the network layer. 2. Yes it's signed with SIGHASH ACP | ALL in phase 2 3. Yes they are linkable ring signatures 4. Phase 3 and 4 will only happen if one of the peers fails to register inputs In phase 4 inputs are signed with SIGHASH ALL and new outputs.