On Wed, Aug 3, 2016 at 7:16 PM, Matthew Roberts via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > The reason why I bring this up is existing OP codes and TX types don't > seem suitable for a secure clearing mechanism; > I think reversing transactions is not likely to be acceptable. You could add an opcode that requires that an output be set to something. [target script] SPENDTO This would require that [target script] is the script for the corresponding output. This is a purely local check. For example, if SPENDTO executes as part of the script for input 3, then it checks that output 3 uses the given script as its scriptPubKey. The value of input 3 and output 3 would have to be the same too. This allows check sequence verify to be used to lock the spending script for a while. This doesn't allow reversal, but would give a 24 hour window where the spenders can reverse the transaction. [IF <1 day> CSV DROP CHECKSIG ELSE CHECKSIG] SPENDTO CHECKSIG Someone with the live public key can create a transaction that spends the funds to the script in the square brackets. Once that transaction hits the blockchain, then someone with the has 24 hours to spend the output before the person with the live keys can send the funds onward.