Den 15 feb. 2018 22:58 skrev "Tim Ruffing via bitcoin-dev" < bitcoin-dev@lists.linuxfoundation.org>: Also, the miners will indeed see one valid decommitment. This decommitment may have been sent by the attacker but it's the preimage chal of the address, because otherwise it's not valid for the malicious commitment. But if the decommitment is chal, then this decommitment is also valid for the commitment of the honest user, which is earliest additionally. So the honest commitment wins. The attacker does not succeed and everything is fine. The reason why this works: There is only one unique decommitment for the UTXO (assuming H_addr is collision-resistant). The decommitment does not depend on the commitment. The attacker cannot send a different decommitment, just because there is none. If your argument is that we publish the full transaction minus the public key and signatures, just committing to it, and then revealing that later (which means an attacker can't modify the transaction in advance in a way that produces a valid transaction); Allowing expiration retains insecurity, while allowing expiration makes it a trivial DoS target. Anybody can flood the miners with invalid transaction commitments. No miner can ever prune invalid commitments until a valid transaction is finalized which conflicts with the invalid commitments. You can't even rate limit it safely. Like I said in the other thread, this is unreasonable. It's much more practical with simple hash commitment that you can "fold away" in a Merkle tree hash and which you don't need to validate until the full transaction is published.