If they were on the same block, xnode would not have lost its coins in case of orphaned block, right? In other words, they both went to wrong fork and once it is detected it could be corrected.
Another question is how to ensure they are on the same block.
Current design require two tx.
Make it to single tx.
Why two txs cannot reside in one block?
A ---- mixer ---- B
tx1 tx2
There is network delay.
Actually A is broadcasting to network his tx, signed by his private key.
A commuinate mixer to know which address should be used, mixer issue a address for A, and inform mixer real payee.
It should be included in a block.
There is possible way, if mixer relay the tx solely.
Hold the tx1 and process tx2, broadcast tx1 and tx2 simultaneously.But who generate block ?
There is network delay.
tx1 and tx2 can be splitted to two blocks sometimes. no 100%.
By any means decribed in
https://bitcointalk.org/index.php?topic=631052.msg7289855#msg7289855Coin come to xnode = many split transaction in pending at
same time transaction output from xnode using "reservebalance" (coin confirmed ready to transfert not minted) to destination adress = one different transaction
The two transaction are made instantly but not tie.
If you turn off your xnode or computer when input come ,your coin in the reservebalance are already sent and in pending on the network to the destination ! No need to wait for a block or confirmation they are completely separate input and output.
If its the fact that input come in the xnode before to be sent at output , we can tell to the xnode to send coin before taking the coin from the input if not input bounce to another xnode.
Hold the tx1 and broadcast tx2, if successful broadcast tx1 if not go to another mixer
That could be made with 1 or 2 or 8 block away between tx1 and tx2 in this example ?