Unfortunately cryptocurrencies like bitcoin are a little ill-suited for automatic recurring payments because one of crypto's big selling points is that the crypto is stored on your computer, not in some bank or other computer, so it can't be easily automatically be taken from you. Of course maybe someone could develop a special type of crypto-currency or wallet system which allows for coin to be stored privately while also able to specify automatic transfers without any action by the user (nor the requirement to keep your computer online).
This sort of thing is, actually, a reasonable use case for things like Ethereum's smart contracts. If there were a standard interface by which revocable "direct debits" could be created against users' wallets, this would be solved.
Except that it needs more thinking about than that, because of questions like "what data source does everything use to agree that 1 month has passed since the last transaction", or "can I revoke a direct debit within a certain time period after the money's left my wallet" combined with "how do I get notified when money leaves my wallet".
There's also the question of whether the ability to just register a monthly standing order with various common clients would be good enough, rather than needing to pull money.
A lot of this is a UX exercise rather than a technical one, to be honest.
Every Ethereum block contains a timestamp which smart contracts can read, so it's trivial to write code that only allows withdrawals in 1 month intervals.
There's no way to revoke a transaction but you could implement a hold so ETH could only be withdrawn from the contract x days after the charge is incurred, within such time the owner could cancel the withdrawal.
As far as notifications are concerned, there are events in Ethereum that you can subscribe to. So for example you could subscribe to a charge event, and go in and dispute it.
> Every Ethereum block contains a timestamp which smart contracts can read, so it's trivial to write code that only allows withdrawals in 1 month intervals
Not disagreeing, just wanted to point out that one needs to be careful with timestamps in Ethereum, as the source of truth is miner. Using timestamps could result in security vulnerabilities.
True if you're being really fine-grained about it, like using the timestamp as the seed of a random number generator.
However, on the scale of a month, the miners aren't going to be able to mess with you. A block stamped with a significantly incorrect timestamp won't be accepted by other miners.
Are you sure about that? I was under the impression that there were no checks whatsoever and it's only a goodwill of miners (and lack of incentive to do otherwise) that provides somewhat accurate time.
On the flip side, I'm sure there are/will be oracles for approx. block time, so this is still a solveable issue.
I stand corrected - it seems blocks' time must be increasing and must not be more than 15 minutes in the future, according to clocks of validating miners. Thanks, didn't know that!
the time will vary around some mean, like a random walk, which might drift significantly over the years. But over a short time won't be off by too much.
In this case, "ill-suited for automatic recurring payments" is arguably a feature and not a bug. The porn industry has a history of shady, abusive practices in this area (though to be fair, these days publications like the New York Times are apparently catching up).
Everybody is catching up. I just found out that my ISP actually subscribed me to an AntiVirus service for 6EUR/month, checked by default on the n-th page of the contract I signed. Even the monthly invoice didn't reveal that, I had to find out from a friend working for the company.
Cancelling is difficult and requires speaking with a human who will haggle you down to about half price. They are very pleasant and low pressure, but you must talk to them.
Hearst newspapers are more porn-like. They offer subscription periods with bizarre terms (3, 7, or 13 weeks) make it difficult to pay without a credit card, and forget to tell you that certain days count as multiple papers because of some special insert. If you make the mistake of giving them your credit card, you must cancel in a narrow window, and renewals are usually timed to skip credit card cycles so you don’t see a charge every month.
I am a weirdo who actually likes newspapers in paper form, but I gave up on my local paper because of bullshit like this.
Ha actually I have a funny story about trying to terminate a NYT delivery. A few months after we moved into our home, the previous owners started a NYT weekend subscription. The paper was delivered to our house every weekend, since apparently they just wanted the digital access and didn't care about the physical paper. We didn't want it either, since by the time it arrived in the morning, we had already read the news the night before (We're on PT, and often read news around midnight.)
I had to call the NYT a number of times to get them to cancel, and it was actually easier to just have it put on a months-long "vacation hold," during which time they didn't deliver. Every time the hold ended, I had to call up again and reinstate the hold. Although this was a hassle, it never occurred to me that it would be difficult to cancel if I were the actual subscriber! I thought it was just a pain because I was the recipient, but not the purchaser.
> Of course maybe someone could develop a special type of crypto-currency or wallet system which allows for coin to be stored privately while also able to specify automatic transfers without any action by the user (nor the requirement to keep your computer online).
Correct me if I'm wrong, but that is not how cryptocurrencies work. The crypto is not stored on your computer. it shouldn't be so hard to set up a revokable recurrent payment with something like ERC-20.
You are correct. Cryptocurrency is never stored on any one computer in a blockchain. It's stored on the blockchain itself (the record of truth). The thing that is stored locally is a private key. That key can be written on a piece of paper or copied to multiple devices. That's the key to your money, and it's spendable from anywhere so long as you have the key.
They can work either way. One can have local clients/wallets, and cloud wallets. Local clients/wallets can be online or offline, and full (directly processing the full blockchain) or lite (relying on servers to work with the blockchain). One can also have exchange accounts, holding both cash and cryptocurrencies.
Yeah, but even a local wallet isn't local. You could write down or memorize the private key and manipulate the funds from a new wallet client on a different machine.
OK, sure, but it's always local to you, unless you choose otherwise. Or get pwned. And yes, I get that the Bitcoin etc exist out there in the P2P blockchain, and that wallets just manipulate it. But the point is that some third party can't take your Bitcoin etc, unless they learn your keys.
Just read the whitepaper. Seems that the payer has to continuously scan the request network for requests and then the under its own will sends the money. But that means that your wallet has to be online (continuously or at least when the requestor makes the request), and this requirement of having a wallet online and having the wallet be able to automatically send money is the risk which I was pointing out that makes crypto like bitcoin or eth ill-suited for auto recurring payments. The crypto is only as safe as the computer it is on. Also as I hinted at such a scheme would require the computer holding the wallet to be online... So I'm imagining everyone would have to have the coins on a device like a home raspberry or home router or (gasp) on your smartphone you carry around. I guess these problems reduce to computer security problems, and so aren't insurmountable nor are they problems inheirent to crypto.
Honestly the whitepaper talks a little too much about how revolutionary it will be and all the things it could solve without going into enough detail of implementing the solutions.
It depends. If there is a smart contract involved then the smart contract could deduct tokens from the users account automatically. This wouldn't be possible with ETH, but would be possible with a token issued on the Ethereum network.
This is a mostly solved problem. (The subscribee needs to gracefully handle missed or delayed payments, but that's true anywhere. Lack of chargebacks is only a problem if you have really bad wallet security, in which case you have bigger problems. Etc.)