I just happened today again I made two screenshots which you can see below, one from Multibit 0.5.18 and from from Blockchain.info:
I can't normally do that, it gives an error saying Not Enough Balance until my funds get at least 1 confirmation.
This is really confusing because everything is just grey blocks.
Well... can be found anyway
TX1 is this: 8043-snip-
TX2 is this: f350-snip-
If those are not yours, we can just use them anyway since they are similar enough.
Disclaimer:
I decided not to post these as you did not do so yourself. I understand that you want to remain as anonymous as possible, but sometimes -esp. if you need help- you need to reveal some information. I personally dont see a problem with reveiling 2 addresses and some tx-ids. I however do not know you or your bussiness, so I can't be the judge of that.
Lets get to the point
According to
https://en.bitcoin.it/wiki/Protocol_rules#.22tx.22_messages we have a set of rules that make a TX valid or invalid.
Rule 10 says:
For each input, look in the main branch and the transaction pool to find the referenced output transaction. If the output transaction is missing for any input, this will be an orphan transaction. Add to the orphan transactions, if a matching transaction is not in there already.
It looks like this is only possible if the mining pool received both of your transactions and has knowledge of both transactions. Your Multibit has knowledge of the first transaction when the 2nd is made. So Rule 12
For each input, if the referenced output does not exist (e.g. never existed or has already been spent), reject this transaction
I had in mind the whole time, does not apply. This only works if both transactions get accepted in the same block or tx1 gets accepted in a block earlier than tx2.
This however does not explain why your client sometimes refuses to do this. This should allways be possible given enough time. This might be an issue with the fact that multibit has a central blockchain and you do not have a local copy.
-snip-
No, it's confusing the users. How can you tell what's legit and what's not if you suddenly receive hundreds of random income from random wallet addresses?
That might be the case indeed. You are thinking about tx2 in the above example without tx1, correct?
If a node gets tx2 before tx1 it should just not save it and not broadcast it further because without knowledge of tx1 the transaction tx2 is not valid. So unless you will finally receive the coins this should not show up in your client.