Killerstorm mentioned "non-final transactions" as something Satoshi talked envisioned. Can anyone elaborate what this means?


1 Answer 1


Well, a very simple case is mentioned in "Providing a deposit" contract, but there are many other uses, and many contracts depend on such transactions.

I also provided a brief description in this comment:

Transaction with nLockTime in future cannot get into blockchain before that time.

Previously it was the case that it was stored in memory pool, but now they can't even get into mempool. And it is OK, actually. Basically, nLockTime gives you an ability to back off after some delay, and that delay penalizes abuse or gives some time for negotiations.

For example, suppose there is a service provider and a customer. They do not trust each other very much, so they will put money into 2-signature transaction, with nLockTime'd rollback in future. If customer is satisfied with service, he will release money to service provider. If service provider agrees that he screwed it up, he will release money back to customer. However, if they disagree (e.g. service provider think he did great job but customer thinks it's shit), money can be released by nLockTime'd transaction, say, year from now. In that case customer suffers because he cannot use money for a year, but service provider doesn't get money for shitty job he have done.

But, well, a complete answer will be a rather lengthy article...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.