I'm now wandering how can you cope with race conditions and double spend attempts in cross chain trades.
Suppose I sell my asset X through NVO, buyer sends me asset Y and in the meantime I transfer my asset X somewhere else through a native wallet.
There's a chance I get asset Y for free.
Thanks for your support, this have been addressed, and here is the content :
The answer to 0-conf attack vector is in the reddit thread. Effectively when you validate a transaction without confirmations (0-conf), there is a risk for Double spending, or replace by fee, speed attack ... but this can only happen in the case of a normal address, in the reddit thread he didn't considered the specifications of a 2-OF-2. In the case of the validator, the trades will be handled using multisig 2-OF-2, which means that when you will trade using the validator, you will have a shared 2-OF-2 address with the validator, this will prevent this type of attacks as the validator's won't allow such transactions or manipulations.
Once the Validator allows a transaction and process it, you won't be able to issue an attack as you will need the agreement of the Validator. Unless you corrupt the validator, which means breaking SafeNetwork, regroupoing the framents and then decrypting them, all of this, just to get at the validator and try to corrupt a single address. These steps are actually not feasable, maybe in 10 or 20 years using quantum computers or using a lazer computer with graphen components. Even if you do it, you won't be able to corrupt more then a single address, the one you will share with the validator because the addresses will change randomly.
Really intresting.
may be I'm wrong but I think Waves doesn't have multisig yet.
NEM has multisig support, has assets, but no asset exchange yet.