If I want to send you some crypto money in exchange for you mowing my lawn, how do you prove that you can spend the received funds? And if I accidentally send it twice, why would I care that you can spend them twice, unless I have some way to compel you to send half back?
You prove it by producing a partial signature for the transaction (a transaction essentially requires a multisig by both sender and receiver).
> And if I accidentally send it twice
You couldn't send it twice because the transaction consumes an input utxo. Paying twice would require two different transactions with two different multisignatures.
Oh, ok, I misunderstood what this meant.
> You couldn't send it twice because the transaction consumes an input utxo. Paying twice would require two different transactions with two different multisignatures.
This assumes the receiver is trust-worthy, that they counter-sign the transaction if it was accidental. So if I accidentally pay twice for a single item, the seller can just sign both transactions and send me only one item, and I can't do much about it. Of course, they can also send 0 items, which is why blockchains can't secure transactions in a useful sense - you need the law and insurance and other social mechanisms for that.
That's mostly due to transactions being non-interactive. If the receiver has to prove their ability to spend the received funds before being allowed to receive them, then most of this anxiety disappears. Certain blockchain designs require transactions to be interactive in this way.