3 ms·
Well let's say we do things this way, and I double spend a transaction, sending one to Alice and one to Bob. Suppose Alice waits t seconds after receiving the t
by fogof 5y ago
Well let's say we do things this way, and I double spend a transaction, sending one to Alice and one to Bob. Suppose Alice waits t seconds after receiving the transaction, and if she doesn't see any double spends in that time, she accepts that the coin is hers and she then sends me something in return.
One second before Alice "confirms" my transaction, I can send out my transaction to Bob. Since my message takes time to propagate through the network, it won't reach Alice soon enough and she will think I've paid her, and she'll send me whatever I was paying for. But other people will see both these transactions within t seconds of each other. They won't know which they should believe is correct, and they might not accept payment from Alice in the future.
- DennisP 5y agoThe same thing happens in PoW networks. You have to wait several blocks to gain confidence that a transaction won't be reverted. In Ethereum's PoS, by waiting a similar amount of time you actually get finality; at that point your transaction cannot be reverted without a third of total stake being destroyed.
- rmtech 5y agoYeah, good point. If the attacker knows how long each person will wait, then they can exploit that.