Funny Tungfa, you have/find some of the best pictures, LOL
Cryptonewb, if two instantX transactions are sent, and they go to two different masternodes, the first one that clears wins. If a block is found that includes the wrong one (because somehow it didn't get all the information), it is rejected. Maybe that's why we'll be forcing IX transactions to go to the second block now? So that rejects will be minimized?
And the reason why it's secure against double spending is that those masternodes rule. You can't get past their locks. You can't get into a block if those funds are locked via another route. The block would be rejected by the network.
I'm still not clear on this. As I posted before, how are miners forced to reject blocks? They can just mine on a different chain, no?
I just repost what I wrote about it, hopefully can give a good answer to this...
And please answer cryptonewb's post too 'cos he's way ahead of me

@cryptonewb, as far as I know if you try and make a double spend of an input the same masternodes will be selected to process it but I'm really not sure, more reading up to do :/ They don't get fees though, they're paid a percentage of the block rewards rather than on individual transactions.
I thought the maternodes were chosen based on the transaction hash or something. Therefore, a double spend (with a different destination of course) would have a different hash => different masternodes to lock the transaction.
so masternodes don't get fees to lock transactions? How are the masternode rewards distributed then? How can the network "know" that masternodes are online and doing the work in stead of just being idle to have a lower bandwidth usage?
And please, can someone take a look at the questions I had earlier in bold:
I watched the vids. I'm still not sure how InstantX manages to be secure though...
I kinda understand how it works, but not sure how the security works.
This is how I think bitcoin works:
the big problem in cryptocurrencies is that there is lag on a network. If there wasn't lag, we could just all send transactions. Everybody would see the first transactions and an attempt at double spend would be automatically ignored.
But there is lag (latency) on a network, so we need some kind of synchronization. Therefore, bitcoin groups transactions in "blocks". These blocks are propagated in the network. Once a block is mined, the transaction has one confirmation. However, it's still possible someone mines on an older version of the chain, so for bigger transactions, it's better to wait for more (2, 3, ...) confirmations to be sure it's included in the longest chain.
(correct me if I'm wrong)
This is how I think DASH works:
There are decentralized oracles that are deterministically chosen and vote on "locking" a transaction. When the oracles decide that a transaction is locked, miners can't mine a double spend because all nodes (masternodes or all nodes?) reject transactions that are in conflict with the locked transaction. If a block is mined with a conflicting transaction, that block is rejected by the nodes and other miners (but how can you force miners to reject a block? ).
Also, I'm not clear on what happens with the double spend transaction if that one also get locked by other masternodes that ignore the first transaction. After all, your masternode get a fee when you vote for a transaction (I think?), so you have an incentive to vote for the double spent transaction. is it possible that there is a competing locked transaction?
So as you can see, I still have some questions about the security of InstantX. i marked them so it's easier to address them.