Sure, it's probable that I'm misremembering the exact numbers. Though I realize that the numbers are critical to the proposition from his perspective, I think the fact that he would consider it at all probably differentiates his worldview from that of a lot of people.
"Sure, it's probable that I'm misremembering the exact numbers."
The exact number makes "the population of Earth" a tiny rounding error away from zero. Eliezer could be entirely right in his conclusion here ("core belief" is a gross mischaracterization - it follows from other things, not the other way around) and it could still be wrong to torture a man for a minute to spare dust specks in eyes of a billion Earths (and thats not even getting us much closer to the number in question).
That he would consider it at all differentiates his thinking only from those who don't think about these things. "What happens in the extreme?" is a useful question, when trying to pin down how systems work.
But the mutated version necessarily has the same outputs, right? How does mutating then make your rent payment invalid?
edit: To clarify, once the mutated transaction is on the blockchain even once, the wallet should be able to figure out what the correct transaction is now. True, when it's not on the blockchain at all, the transaction can get rejected.
I'm still working through the details at the moment, but: your rent payment depends on the previous transaction's signature. Since that was changed, it's no longer valid.
They effectively forked the sandwich payment, and your rent payment is only valid on your branch. The rent money will come back under your control because the transaction will be refused, but you'll have to make a new transaction (on top of the now-valid mutated branch) to actually pay it.
It's true that the rent payment depends on the previous transaction's signature, but if that payment (even if mutated) has made it into even one block, the wallet software that generates the rent transaction is able to figure out which transaction on the blockchain is responsible for the change it intends to use.
That's correct. You should probably wait a block or two for safety, or more for really sensitive things, but regardless the main point here stands: because of this you cannot safely immediately spend the output of a transaction. That hasn't been a warning in essentially anything I've seen.