Author

Topic: Bitcoin and recurring transactions: How to solve pay up front? (Read 1196 times)

member
Activity: 84
Merit: 10
I have one solution to these three, the gas pump issue.  You could send an arbitrary amount of BTC (ex. $30 worth) to the gas station pump you are at, then fill your vehicle up.  The gas station would wait until you were finished, then send a refund of the difference back to the address you sent it from.  Would this work?

A wallet cannot have a negative balance, therefore your proposed solution is probably the best decentralized solution available. In order for Bitcoin to process recurring payments bitcoind would have to allow escrow-like transactions, as you've stated, where you set aside a certain amount of BTC to be released in incremental payments.

HOWEVER, in order to ensure your wallet has enough BTC remaining to fulfill these payments would mean you would be unable to spend any of the BTC locked in escrow. Perhaps there are uses for such a mechanic, I do not know. For the scenarios you have listed it seems that you might as well pay the other party a lump sum for their service instead of paying them incrementally since they have essentially the same effect on your wallet (X amount less BTC to spend). Furthermore, if you had a scenario where such an escrow service would be necessary, Bitcoin's volatile exchange rates would likely lead to issues--are we locking in a BTC rate or a BTC to USD rate? Such a service would likely end with at least one dissatisfied party.



tl;dr: The only proper solution here is to pay a BTC lump sum. You will never be able to purchase gasoline without putting your trust in the company. For all you know they just filled your car up with water!

>I don't view trusting a B&M as an issue.

I imagine that someone accepting bitcoin for their services would understand the volatility of bitcoin pricing, as they would probably just hold the bitcoin anyhow.  However of course it could always be handled so that it converts to fiat upon entering escrow, then convert back on request by the acceptee.
newbie
Activity: 14
Merit: 0
I'm not an expert though here's my idea.

To solves this problem at the pump with multisig:

Something like a smart wallet needs to be developed. You scan the qr code at the pump and it reads how much bitcoin you have in your smart wallet (then you put in your signature). While you are pumping gas, and the price of bitcoin reaches the amount that's in your smart wallet, the pump completely stops, so you can never go in the negative on your smart wallet. Once you put the nozzle back, or some smart camera reads your movements (when you remove the nozzle from your car) it releases your bitcoins (the other signature) into the system. Kind of like a smart contract.
hero member
Activity: 700
Merit: 500
Bitcoin is definitely great, I love it, I love using it.  But of course we all know it's not perfect, and I am left wondering how to conduct a certain set of transactions.

Namely, how could you handle bitcoin in a pay later style of escrow payment without having to utilize a third party?

- Subscriptions, on websites with subscriptions you input your card information and each subscription period you are charged automatically.  How could you do this with bitcoin without giving the site your private keys?

- Proving you have funds to another party.  You'd like to commission a painting, but to ensure you aren't screwed over, you don't want to pay 50% up front. What methods could be used to place your bitcoin in escrow so that the other party would know it was there and available for them to retrieve? This one may almost definitely require a third party, but I am open to ideas.

I'm open to all ideas!

For subscriptions, I can see auto transactions being done through another service so I'm a bit stumped on how to answer that question
Recurring payments might work if you could set up a script or deposit a balance with them that it automatically takes payments from or a payment request feature.

For the proving funds to another party
A signed transaction proves you are in ownership of the funds, escrow requires a third party (But perhaps a delayed transaction would work if you could implement that or a multi sig transaction)
Person A the artist has one signature that can claim payment to his address
Person B has the other signature that can claim payment to his address
Both A and B need to agree by sending their signed signatures for the money to be spent
If not done in a certain time period the coins go back to the issuing address or are not spent.
sr. member
Activity: 476
Merit: 250
OPEC should just issue a bitcoin fleet card. Bitcoiners fund the card, swipe it at any gas station worldwide, and OPEC pays the gas station or station chain (or rebates their future tanker gas purchases). OPEC needs to start denominating crude barrels in BTC anyway.
While this is a cool idea I don't think it would happen. For one the gas stations do not buy gas directly from OPEC or oil generating companies, there are several steps between the oil producer to the gas station, including refining oil into gasoline and other oil related products.

One of the ministers of a oil producing nation in the middle east suggested that oil be traded in terms of bitcoin as well, but this is also unlikely, at least in the near future. There are billions of dollars worth of oil traded and consumed every day, while the market cap of bitcoin is not even $10 billion yet. Trading oil in bitcoin would cause huge swings in the price of bitcoin as the market for bitcoin would not be able to handle the level of buying and selling that this would cause.
legendary
Activity: 3038
Merit: 1032
RIP Mommy
OPEC should just issue a bitcoin fleet card. Bitcoiners fund the card, swipe it at any gas station worldwide, and OPEC pays the gas station or station chain (or rebates their future tanker gas purchases). OPEC needs to start denominating crude barrels in BTC anyway.
newbie
Activity: 48
Merit: 0
I have one solution to these three, the gas pump issue.  You could send an arbitrary amount of BTC (ex. $30 worth) to the gas station pump you are at, then fill your vehicle up.  The gas station would wait until you were finished, then send a refund of the difference back to the address you sent it from.  Would this work?

A wallet cannot have a negative balance, therefore your proposed solution is probably the best decentralized solution available. In order for Bitcoin to process recurring payments bitcoind would have to allow escrow-like transactions, as you've stated, where you set aside a certain amount of BTC to be released in incremental payments.

HOWEVER, in order to ensure your wallet has enough BTC remaining to fulfill these payments would mean you would be unable to spend any of the BTC locked in escrow. Perhaps there are uses for such a mechanic, I do not know. For the scenarios you have listed it seems that you might as well pay the other party a lump sum for their service instead of paying them incrementally since they have essentially the same effect on your wallet (X amount less BTC to spend). Furthermore, if you had a scenario where such an escrow service would be necessary, Bitcoin's volatile exchange rates would likely lead to issues--are we locking in a BTC rate or a BTC to USD rate? Such a service would likely end with at least one dissatisfied party.



tl;dr: The only proper solution here is to pay a BTC lump sum. You will never be able to purchase gasoline without putting your trust in the company. For all you know they just filled your car up with water!

>I don't view trusting a B&M as an issue.
member
Activity: 87
Merit: 10
Unless you or someone develops a centrally controlled escrow system and implement scheduled/recurring transaction option
sr. member
Activity: 308
Merit: 250
Quote
Proving you have funds to another party.  You'd like to commission a painting, but to ensure you aren't screwed over, you don't want to pay 50% up front. What methods could be used to place your bitcoin in escrow so that the other party would know it was there and available for them to retrieve? This one may almost definitely require a third party, but I am open to ideas.
I think muti signature can solve this problem. A feature in my mind can be created like a contract, which you put the whole amount of BTC in the contract address. The other party feel comfortable to see fund is there. After the party finishes the job, then you sign the contract with your private key then the fund will be released to the other party.   
In this case you would have to trust the escrow to not collude with the other party. Also putting money into escrow is essentially the same as paying for the services in advance in that you no longer have access to the money instead of paying when the bill becomes due.
legendary
Activity: 1316
Merit: 1004
Quote
Proving you have funds to another party.  You'd like to commission a painting, but to ensure you aren't screwed over, you don't want to pay 50% up front. What methods could be used to place your bitcoin in escrow so that the other party would know it was there and available for them to retrieve? This one may almost definitely require a third party, but I am open to ideas.
I think muti signature can solve this problem. A feature in my mind can be created like a contract, which you put the whole amount of BTC in the contract address. The other party feel comfortable to see fund is there. After the party finishes the job, then you sign the contract with your private key then the fund will be released to the other party.   
hero member
Activity: 868
Merit: 1001
https://keybase.io/masterp FREE Escrow Service
You could establish credit with the party you are dealing with if they feel that you have a good enough reputation. You should understand that your examples are really not people paying after the fact but rather, the bank paying the merchant right away and people paying back the bank later on. The reason why many people are willing to pay in advance is because the merchant they are dealing with is reputable and they trust they will deliver the product as promised.
hero member
Activity: 574
Merit: 500
Gas pump-my solution is that gas pump companies offers specific top up Bitcoin card, which has BTC public key on the card, you don't know the private key, but you still can request refund after you don't use that card.  Customers pay a certain amount of BTC to you Bitcoin card and just show the card after filling up your car.
Ix
full member
Activity: 218
Merit: 128
A wallet could have a feature to setup recurring payments or remind you.  Sure would make it easier to cancel subscriptions, just stop paying.

Nailed it on that one. This is a much better way of banking where the consumer is actually in control, for a change.

The gas pump situation is a little more difficult. It is a pretty minor inconvenience though in the grand scheme of things.
jr. member
Activity: 59
Merit: 10
- Subscriptions, on websites with subscriptions you input your card information and each subscription period you are charged automatically.  How could you do this with bitcoin without giving the site your private keys?

I think subscriptions would work better if providers allow you initiate the payment instead of pulling it.  A wallet could have a feature to setup recurring payments or remind you.  Sure would make it easier to cancel subscriptions, just stop paying. This isn't much different than setting up a mortgage or credit card payment via your online banking website.
legendary
Activity: 4424
Merit: 4794
i think the bitcoin 'industry' are moving towards a webwallet that people put ony 'daily spend' amounts onto. and these funds are moved instantly 'offchain' due to people depositing only small amounts (not their whole hoard) onto the 'service' wallet.

changes of the protocol to meet the thousands of different merchant process differences wont realy work out, so it seems to be a layer above the protocol that will provide the solution.

prime example/analogy:
having a bank savings account. but then having a virtual visacard for the small stuff you want without having to do bank transfers
newbie
Activity: 53
Merit: 0
- Subscriptions, on websites with subscriptions you input your card information and each subscription period you are charged automatically.  How could you do this with bitcoin without giving the site your private keys?
This can't really be done. A central authority/escrow would be needed, and you would need to give them your privkey.

- Proving you have funds to another party.  You'd like to commission a painting, but to ensure you aren't screwed over, you don't want to pay 50% up front. What methods could be used to place your bitcoin in escrow so that the other party would know it was there and available for them to retrieve? This one may almost definitely require a third party, but I am open to ideas.
Bitcoin lets you prove that you have the corresponding key to an address, so this is already built into the current protocol.

I have one solution to these three, the gas pump issue.  You could send an arbitrary amount of BTC (ex. $30 worth) to the gas station pump you are at, then fill your vehicle up.  The gas station would wait until you were finished, then send a refund of the difference back to the address you sent it from.  Would this work?
Yes, this works great but would require fees to be paid twice. The gas station would need to make sure to refund from the tx out that was used for the initial payment.
member
Activity: 84
Merit: 10
Bitcoin is definitely great, I love it, I love using it.  But of course we all know it's not perfect, and I am left wondering how to conduct a certain set of transactions.

Namely, how could you handle bitcoin in a pay later style of escrow payment without having to utilize a third party?

Let's look at a few examples where this may come in handy. 

- Gas pumps, generally the population uses a credit card, fills up, and gets charged whatever is on the pump after filling up their vehicle.  This keeps you from having to guess how much your car needs to become full without going over and needing a refund.

- Subscriptions, on websites with subscriptions you input your card information and each subscription period you are charged automatically.  How could you do this with bitcoin without giving the site your private keys?

- Proving you have funds to another party.  You'd like to commission a painting, but to ensure you aren't screwed over, you don't want to pay 50% up front. What methods could be used to place your bitcoin in escrow so that the other party would know it was there and available for them to retrieve? This one may almost definitely require a third party, but I am open to ideas.



I have one solution to these three, the gas pump issue.  You could send an arbitrary amount of BTC (ex. $30 worth) to the gas station pump you are at, then fill your vehicle up.  The gas station would wait until you were finished, then send a refund of the difference back to the address you sent it from.  Would this work?

I'm open to all ideas!
Jump to: