Bitcoin Forum
April 25, 2024, 07:41:29 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How to force repeated payment of subscription cost using blockchain or LN?  (Read 202 times)
NotATether (OP)
Legendary
*
Online Online

Activity: 1582
Merit: 6679


bitcoincleanup.com / bitmixlist.org


View Profile WWW
January 27, 2020, 09:36:35 AM
Merited by LoyceV (7), ABCbits (1)
 #1

Most services on the internet charge an annual or monthly subscription fee for using their services and they are able to accomplish that by billing your credit card which "pulls" the payment from the payment processor company. But in bitcoin there is no such concept of "pulling" payment from your wallet as far as I know. The closest you get are zero-confirmation transactions which is obviously unacceptable. I also definitely wouldn't want to manually make the payment every month. And no Bitpay or other bitcoin-on-a-card services.

If Lightning Network is chosen, the seller and customer should be able to each fund the channel with the subscription fee in the channel every month, but due to funding transaction limitations the payment for as many months of subscription that are desired has to be put in the channel all at once, which is infeasible because it's not known how long the customer will subscribe for (remember this is supposed to happen automatically). So now there's the problem that the seller has to "know" how many months the customer will subscribe for. The customer's supposed to be paying but because unilateral channels can't be rebalanced, in case the seller adjusts the rate or customer changes subscription plans, a bidirectional channel would be needed.

So in the LN case, a way to increase the funds of the channel as well as multiple fund deposits are needed in order to make a solution.

Once that's done, then adjusting the subscription rate shouldn't be a problem because the channel can be rebalanced, seller empties funds, the two parties start over with the new fund amount. Decreasing the fee in particular can just bounce back the surplus UTXO to the customer. Customer changing to cheaper/more expensive subscriptions works the same way because the old subscription is kept until the end of the month. And that's how it works in the fiat world too: You cancel or change your subscription but you are still billed at the end of the month for the old one because your choice doesn't take effect until next month.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
1714030889
Hero Member
*
Offline Offline

Posts: 1714030889

View Profile Personal Message (Offline)

Ignore
1714030889
Reply with quote  #2

1714030889
Report to moderator
1714030889
Hero Member
*
Offline Offline

Posts: 1714030889

View Profile Personal Message (Offline)

Ignore
1714030889
Reply with quote  #2

1714030889
Report to moderator
1714030889
Hero Member
*
Offline Offline

Posts: 1714030889

View Profile Personal Message (Offline)

Ignore
1714030889
Reply with quote  #2

1714030889
Report to moderator
The grue lurks in the darkest places of the earth. Its favorite diet is adventurers, but its insatiable appetite is tempered by its fear of light. No grue has ever been seen by the light of day, and few have survived its fearsome jaws to tell the tale.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3374
Merit: 6535


Just writing some code


View Profile WWW
January 27, 2020, 04:35:18 PM
Merited by suchmoon (7), ABCbits (2)
 #2

You can use Lightning Loop style swaps to rebalance the channel. Essentially, after the subscriber runs out of funds on his side of the channel, he can perform a Loop In swap where he sends the balance with an on chain payment and then the service sends the same amount back to the subscriber over their payment channel. This swap is enforced by Bitcoin scripts so that it is atomic.

For example, if the user has paid 1 BTC in subscription fees and now his side of the channel is empty, he sends 1 BTC to the service on chain, and the service sends 1 BTC to him over their channel. The net result is that both sides have the same amount of money, the channel can continue to be used for payments, and the service now has BTC that they can actually use as it isn't tied up in the channel.

This means that channels don't need to be continually closed and reopened, just every so often a Loop In swap is made.

PrimeNumber7
Copper Member
Legendary
*
Offline Offline

Activity: 1610
Merit: 1899

Amazon Prime Member #7


View Profile
January 28, 2020, 04:32:36 AM
 #3

If someone has open channel(s), they could use those channels to both send and receive coin via those channels, including any subscription payments. With that being said, a LN wallet could automatically send a set amount of coin every time period (more specifically, it could listen for an invoice from a specific merchant, and automatically pay the invoice up to a specified amount). The customer would need to keep sufficient balances in open channel(s) to pay the invoice, but this should be expected if the customer is receiving a regular income to their various LN channels.

To my knowledge, no such LN wallet currently exists.
LoyceV
Legendary
*
Online Online

Activity: 3290
Merit: 16547


Thick-Skinned Gang Leader and Golden Feather 2021


View Profile WWW
January 28, 2020, 05:40:33 PM
 #4

But in bitcoin there is no such concept of "pulling" payment from your wallet as far as I know. The closest you get are zero-confirmation transactions which is obviously unacceptable.
What exactly do you mean here? A zero-confirmation transaction still needs to be sent first, and it's not something the receiving party can "pull".

Quote
I also definitely wouldn't want to manually make the payment every month. And no Bitpay or other bitcoin-on-a-card services.
I can think of a way without using LN: you could sign locktime transactions up front. Say you want to subscribe for 12 months, and you want to pay a monthly amount. You could sign 12 different transactions that become valid at the start of each month, and give the receiving party the raw signed transactions.
Each month, they can broadcast one transaction and get paid. This requires 12 inputs in your wallet that won't be used for anything else, so it's not really practical. In case you want to cancel your subscription, you can just move all funds to a different address and the locktime-transactions become worthless.
If there would be a large demand for such a service, it could be included and automated in a wallet, but I doubt there's much demand. I have some recurring payments (loyce.club domain name for instance), but I just pay them manually.

Another argument against automated Bitcoin payments would be the large fluctuations in value.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
PrimeNumber7
Copper Member
Legendary
*
Offline Offline

Activity: 1610
Merit: 1899

Amazon Prime Member #7


View Profile
January 28, 2020, 05:53:54 PM
Merited by NotATether (2)
 #5

But in bitcoin there is no such concept of "pulling" payment from your wallet as far as I know. The closest you get are zero-confirmation transactions which is obviously unacceptable.
What exactly do you mean here? A zero-confirmation transaction still needs to be sent first, and it's not something the receiving party can "pull".
I believe he is saying that a customer pre-signing transactions in advance would not be what he is looking for. The problem with having pre-signed transactions, even with lock times, is that the customer needs to set aside money for the entire length of the subscription when he subscribes. It is common for people to pay for a monthly subscription verses an annual subscription specifically because they don’t want to pay a years worth of payments in advance.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!