Author: Alan Reiner 2014-10-09 03:13:01
Published on: 2014-10-09T03:13:01+00:00
In an email conversation, Alan proposed a new idea for recurring payments in Bitcoin using the CHECKLOCKTIMEVERIFY block number. This would allow users to make N recurring payments of 1 BTC each month to a service. The customer can move the coins at any time, but after the locktime, the merchant/service has signing access. The merchant software will then watch and sweep all coins that become available via this mechanism and credit the appropriate customer account. The customer maintains control of the funds until payment time, the merchant automatically collects it each month without requiring user interaction, and the customer can cancel it just by spending it elsewhere before the locktime.The scheme has an added benefit: both the merchant's address and the user's address are in the script. Given an appropriate scheme for linking addresses to accounts, the service can use the other address in the script to recognize and link that payment to the user's account. This allows the user to continue paying and extending their subscription without having to explicitly link each payment to the account. The wallet will simply make sure to use a return address that is in a BIP32 branch that was provided to the service during signup, and the service will automatically extend the subscription every month based on that info when it sweeps payments.Peter's original proposal was also discussed, where OP_CHECKLOCKTIMEVERIFY was seen as an enabling feature, not just a simple improvement. Wladimir suggested that the next minor release (0.9.4) could have Gavin's change already, but he didn't think CHECKLOCKTIMEVERIFY would make it into the next major release. Once headers-first and pruning were merged, he wanted to split off the 0.10 branch and give it some time to stabilize with a feature freeze, then do a release before the end of the year. So 0.11, in about six months, would be the soonest.
Updated on: 2023-06-09T02:49:59.720261+00:00