Curious, how do transactions sent in at the same time are handled?
What method is used to verify that person A's transaction came before person B's transaction? Assuming that they were both sent at the same time.
This is likely the one of the bigger issues when verifying an exchange transaction. Collisions will happen and dealing with them is tricky.
Let me know. Thanks
First come, first serve. Messages are bound to come in serially, even if it is just milliseconds, because they come through the network stack. An incoming message causes reservation of an order, or a part of it. So there are 3 cases:
1. Both requests can be filled, NP
2. The first request gets filled, the second one only partly
3. The second request can't be filled - the seller sends a VOTE_NO message which causes the TX to TransactionManager::abort().
ZeroReserve very much looks like an exchange, GUI-wise. But under the hood it is OTC. Reason is that every ZeroReserve instance maintains an order book and does the matching. Orderbooks of different nodes are bound to differ.