> If the receiver has to prove their ability to spend the received funds before being allowed to receive them
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?
> how do you prove that you can spend the received funds?
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.
> You prove it by producing a partial signature for the transaction (a transaction essentially requires a multisig by both sender and receiver).
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.
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?