The wallet's idea of its balance is irrelevant. It's the network's accounting that matters. That is what is authoritative. A wallet merely reports it.
There are really two scenarios here:
- Double-spending and confirmation, generally, and
- Your brother is using the same signing key.
Generally
You don't need your brother to try a double-spend. Just sign two transactions and send the second right away, before anything has had a chance to confirm. If that would work, then there would be a huge problem, right?
The mining, block formation and consensus process is mainly concerned with ordering the inputs (the results are computed by every node). So, the nodes would consider:
- Sent 50 (okay)
- Sent 90 (failed, not enough money)
Two clients, Same signing key
This is not a good idea unless you know what you are doing. Ethereum uses a nonce
to prevent replay attacks and to ensure ensure correct transaction ordering from the same account. It is a counter and accounts are assured that the transactions they send will be mined in the correct order. In the example above, "Sent 90" cannot be mined first because of the account nonce.
The nonce is a client-side responsibility. That is to say, the client should know what it is because there is no reliable way to discover, from the network, how many unconfirmed transactions are flying around.
Your Brother could send a transaction with the same nonce as the first one. In fact, probably will unless those moves are coordinated.
That creates a race condition. One of those transactions will mine first. It may be the one that was sent first, the one with the higher gas price (priority) or the other one might get lucky. It is not deterministic.
Whichever one comes second will be rejected because the nonce is too low.
There is no way both transactions will succeed.
Hope it helps.
nonce
per transaction per account.