Hacker News new | ask | show | jobs
by telchar 1403 days ago
It seems to me this highlights a flaw in the payment system - the inability to decline. Am I understanding that right? You really can’t refuse an ETH transfer?
2 comments

You can if you put your money in a smart contract that refuses all transfers that haven't been pre-approved by you, although that's not the standard procedure.
This makes it more difficult but not impossible. The EVM has a SELFDESTRUCT opcode [1] that will send ETH at that address to a receiver and it's impossible for the receiver to refuse. A very determined actor could send Tornado ETH to a contract designed to self destruct upon receipt of the ETH and relay it to the intended receiver.

[1] https://consensys.github.io/smart-contract-best-practices/at...

You can program your smart contract to forever deny the use of such funds by recording its "non-selfdestruct" balance in the state and only allow to withdraw up to that amount.
correct

is it a bug or a feature?