Bitcoin Forum
May 14, 2024, 04:34:14 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: PUSH Me / PULL U  (Read 1716 times)
optimator (OP)
Sr. Member
****
Offline Offline

Activity: 351
Merit: 250



View Profile WWW
August 24, 2012, 12:34:56 AM
 #1

WARNING: US CENTRIC....

I think any economic system that can PULL money from an account (credit cards, ACH, etc) is inherently flawed. I think the correct model is a PUSH model where I PUSH the value of the service to the recipient.

However, this creates a problem. If recurring payments are variable (e.g., utilities) what mechanism exists to PUSH the correct amount?

a PULL is easy - as a utility you initiate a ACH transaction and TAKE the money from my account.

However, bitcoin has no provision for PULLING money from an address.

How is this handled?

More specifically, if I wish to create a service that has monthly recurring payments, how do I collect those payments in BTC?

Enjoy the day,

optimator

acoindr
Legendary
*
Offline Offline

Activity: 1050
Merit: 1002


View Profile
August 24, 2012, 12:48:18 AM
 #2

As I've said before I think Bitcoin eWallets (like WalletBit) that provide functionality akin to PayPal will play a big role in Bitcoin's future. Such eWallets can improve the user experience in ways the core network can't, for example, by providing recurring payment ability as PayPal does.

Bitcoin eWallets can also help with and/or eliminate other perceived technical hurdles such as scalability or 51% attacks, which wouldn't really affect them since transactions happen in house.

I don't think people really want outside entities having the ability to PULL via ACH from their accounts whenever they like. That setup usually takes a formal action at your financial institution to cancel. Very inconvenient. I agree PULL type accounts are not ideal.
Insu Dra
Full Member
***
Offline Offline

Activity: 182
Merit: 100



View Profile
August 24, 2012, 12:52:11 AM
 #3

I agree, A pull would open the door to payment reversals, the exact same thing so many people here hate about credit cards, paypal, ... This is alone is the reason way I would stay away from any service and or system that implemented a pull system on top of bitcoin.

Sure a pull system is very convenient for both costumers and business owners alike but in most cases this convenience does (or should) not out weight the risk and hassle created by fraudulent pull requests. but yha you already said it was a flawed system so Smiley

I would simply request monthly payment 7 day's before due and give em to 7 day's after, if payment did not come true cut off service, I agree this is a bit of hassle atm. But on the other hand it would not be hard to setup requiring payments from client wallet to yours, just a mater of time till such functions will be build in to exciting wallet applications. Simple, Clean and safe for both parties!

edit: got to stop watching porn while typing, basically yha what guy above me said.

"drugs, guns, and gambling for anyone and everyone!"
BitPay Business Solutions
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500


View Profile WWW
August 24, 2012, 12:57:38 AM
 #4

Bitcoin will succeed by sticking to its strengths.  Push transaction, irreversible, with as much or as little personal information disclosed.

Text messaging is a push transaction.  Email is a push transaction.  People will get the hang of bitcoin once they try it.

The whole idea of automatically pulling money from someones account on a recurring basis is a dying business model.  Customers will pay and pay again for products they like.


BitPay : The World Leader in Bitcoin Business Solutions

https://bitpay.com

Does your website accept bitcoins?
optimator (OP)
Sr. Member
****
Offline Offline

Activity: 351
Merit: 250



View Profile WWW
August 24, 2012, 01:21:08 AM
 #5

So if I institute a commercial site, how do I get the push initiation to my account? How can I get that to happen on a reoccurring frequency?

Domrada
Sr. Member
****
Offline Offline

Activity: 254
Merit: 250



View Profile WWW
August 24, 2012, 02:06:21 AM
 #6

If i really wanted someone to be able to pull bitcoins out of my wallet, I would give them a private key.

If I wanted to set up an automatic payment, I would write a bot that sends a given amount every month.

Such things are possible with bitcoin.  Desirable is another matter entirely.

DataTrading
TRADE FORECASTING BY ARTIFICIAL INTELLIGENCE
¦
PRE-SALE SPECIAL  30%  BONUS   
Pre sale starts on 11.20.2017 9:00 UTC
Deafboy
Hero Member
*****
Offline Offline

Activity: 482
Merit: 502



View Profile WWW
August 24, 2012, 02:34:43 AM
 #7

If I understand this right, you want an ability for some institution (landlord, ISP, mobile network operator...) to take some unpredictable amount of money from you account on regular basis? Then why not share a private key with them?

edit_____________
I must be blind. That's exactly what Domrada is suggesting above...
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
August 24, 2012, 03:02:09 AM
 #8

You could emulate a pull system by having the payee send payment requests out-of-band to the user's wallet software which either prompts for manual approval or automatically approves, depending on how comfortable users would be with automated payments initiated by software under their control.
optimator (OP)
Sr. Member
****
Offline Offline

Activity: 351
Merit: 250



View Profile WWW
August 24, 2012, 03:42:19 AM
 #9

AbelsFire - how would that work? - "out-of-band to the user's wallet software"??

Think about how your automatic payments currently work.... I give my electric company my ABA and Routing Number (~private key)

They (electric company) PULL money out of my account.

If I understand you correctly, you are saying a) let the electric company send a request to my wallet. b) I approve the request; c) my wallet send the money (PUSH) to the electric company.

I LIKE IT! I think that's the way transactions should happen. But.... How do I do that?

FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
August 24, 2012, 05:35:39 AM
 #10

It's exactly the same situation as dollars. They can't PULL dollars out of your pocket, you have to go a third party who sets you up with a database entry pretending to be dollars and then you give permission to the company billing you to tell that third party they can pull out whatever they want. It's exactly the same with bitcoin, there is no fundamental difference. Bitcoin does allow that third party to be software that you control though.

I know this is what people just said, I'm just trying saying it again.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
Domrada
Sr. Member
****
Offline Offline

Activity: 254
Merit: 250



View Profile WWW
August 24, 2012, 12:35:18 PM
 #11

It's exactly the same situation as dollars. They can't PULL dollars out of your pocket, you have to go a third party who sets you up with a database entry pretending to be dollars and then you give permission to the company billing you to tell that third party they can pull out whatever they want. It's exactly the same with bitcoin, there is no fundamental difference. Bitcoin does allow that third party to be software that you control though.

I know this is what people just said, I'm just trying saying it again.

I think I see what you're getting at, but in the case of $$, the 'third party' is really just software that the bank controls. I have ACH merchant services with my bank, and I have the ability to go onto my bank's website, enter anyone's routing and account number, and pull out up to $100,000. How do they know the customer gave me permission? It's the honor system. I don't have to show proof unless the customer claims fraud.

DataTrading
TRADE FORECASTING BY ARTIFICIAL INTELLIGENCE
¦
PRE-SALE SPECIAL  30%  BONUS   
Pre sale starts on 11.20.2017 9:00 UTC
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1014


Strength in numbers


View Profile WWW
August 24, 2012, 12:48:13 PM
 #12

It's exactly the same situation as dollars. They can't PULL dollars out of your pocket, you have to go a third party who sets you up with a database entry pretending to be dollars and then you give permission to the company billing you to tell that third party they can pull out whatever they want. It's exactly the same with bitcoin, there is no fundamental difference. Bitcoin does allow that third party to be software that you control though.

I know this is what people just said, I'm just trying saying it again.

I think I see what you're getting at, but in the case of $$, the 'third party' is really just software that the bank controls. I have ACH merchant services with my bank, and I have the ability to go onto my bank's website, enter anyone's routing and account number, and pull out up to $100,000. How do they know the customer gave me permission? It's the honor system. I don't have to show proof unless the customer claims fraud.

I didn't know that. That sounds terrible. That's just info that's on any check right? So you could go on a checkboox stealing spree and then grab it all in a few minutes?

But still any system you can build to do stuff to entries in a db that stand for dollars you could do to entries in a db that stand for bitcoins. You won't actually get the paper dollars unless someone will redeem those entries and same for the bitcoins.

Play Bitcoin Poker at sealswithclubs.eu. We're active and open to everyone.
justusranvier
Legendary
*
Offline Offline

Activity: 1400
Merit: 1009



View Profile
August 24, 2012, 12:56:57 PM
Last edit: August 24, 2012, 02:39:03 PM by AbelsFire
 #13

AbelsFire - how would that work? - "out-of-band to the user's wallet software"??
You could use any number of ways. If you wanted to reuse existing networks it could be as simple as a bot that moniters a Twitter stream for messages that say, "Plz send me bitcons: X.XXXXX".

Although something with a bit more authentication and privacy would probably be preferred. Think of a Twitter-like service where all the messages are encrypted and signed using GPG keys. You give the electric company the public key of your wallet bot and they give you their key fingerprint so you can verify the requests are really coming from them. When they want to bill you they encrypt an amount and a payment address and publish it to your feed, and your wallet software validates the request and pops up a notification on your computer for you to approve the transfer. Alternately the client could be made to auto-approve certain requests.

Going one step further the service which is routing all these payment requests around could offer an escrow service. The payments are sent from a multisig address and the escrow service authorizes the payment after X days if you don't dispute it.
optimator (OP)
Sr. Member
****
Offline Offline

Activity: 351
Merit: 250



View Profile WWW
August 24, 2012, 02:07:08 PM
 #14

That's a great idea. I suppose in addition to an escrow service the processing center could process the payment immediately and assume the risk of a bad transaction. The assumption of risk (insurance) would then have some small cost associated with it.

evoorhees
Legendary
*
Offline Offline

Activity: 1008
Merit: 1021


Democracy is the original 51% attack


View Profile
August 24, 2012, 02:26:41 PM
 #15

Bitcoin will succeed by sticking to its strengths.  Push transaction, irreversible, with as much or as little personal information disclosed.

Text messaging is a push transaction.  Email is a push transaction.  People will get the hang of bitcoin once they try it.

The whole idea of automatically pulling money from someones account on a recurring basis is a dying business model.  Customers will pay and pay again for products they like.



I disagree that pulling money is a dying business model. Every bill I have, I've set to pull automatically so I don't have to A) remember to pay it and B) spend time logging into accounts and paying.

The function of pulling money, specifically for recurring payments, is desperately needed in Bitcoinworld. This doesn't mean the protocol should be changed to enable it, rather it means ewallets and services should create opt-in pull capabilities.

ie - in my Blockchain.info wallet, there should be a button (perhaps assigned to just one of my wallet addresses) where I tick "make pullable" and it then gives an authentication PW. I give this authentication PW to any merchant with whom I'd like to give pull access, such as my favorite porn site or the electric company. They can then pull money from that account.

Note that at any point I can opt back out, by telling Blockchain.info not to allow pulls anymore. I retain all the power of Bitcoin sercurity, with a wonderful new feature that will be used in thousands of ways.
nevafuse
Sr. Member
****
Offline Offline

Activity: 247
Merit: 250


View Profile
August 24, 2012, 03:34:55 PM
 #16

However, bitcoin has no provision for PULLING money from an address.

This is a feature, not a bug.  Do I use pull services?  Of course, I don't get much choice, they keep me from being late, and sometimes offer discounts.  Unfortunately (at least as far as I know) I can't write my own program to interface with Bank of America & those service providers.  Ideally, I would write my own software that would get the invoice from the service provider & ask me if I want to transfer BTC to it.  Now I have control.  It will remind me when & how much to pay so I won't be late.  I could even add my private key to it & authorize all amounts under a certain number.  Most importantly, I can purposely not pay because I don't want the service anymore or prevent a service provider from taking unauthorized amounts.  Ever try to cancel an xbox live subscription?  I shouldn't have to call someone to cancel a service.

I'm sure it'll even get to the point where there are several applications you can download that will give you all these options in a nice GUI  format.  The big banks & credit cards could do this now, but I guess there's no incentive.

The only reason to limit the block size is to subsidize non-Bitcoin currencies
optimator (OP)
Sr. Member
****
Offline Offline

Activity: 351
Merit: 250



View Profile WWW
August 24, 2012, 03:56:20 PM
 #17


I disagree that pulling money is a dying business model. Every bill I have, I've set to pull automatically so I don't have to A) remember to pay it and B) spend time logging into accounts and paying.

..........

But, I think, a non-repudiation currency model raises the level of checks and balances needed to authorize a transaction.

I've always found it frightening that someone with a routing number and account number could pull money from an account.

It seems there are several ideas mentioned here a) trust my electric company with my private keys and believe that they will "do the right thing"; or b) create a payment authorization service (PAS) to whom I trust my private keys. The electric company sends the PAS a request for payment and subject to some pre-agreed criteria and/or limits the PAS pays the electric company using my private keys; or c) roll your own - you create a way to receive a payment request and process it locally.


kjj
Legendary
*
Offline Offline

Activity: 1302
Merit: 1025



View Profile
August 24, 2012, 05:31:49 PM
 #18

Bitcoin will succeed by sticking to its strengths.  Push transaction, irreversible, with as much or as little personal information disclosed.

Text messaging is a push transaction.  Email is a push transaction.  People will get the hang of bitcoin once they try it.

The whole idea of automatically pulling money from someones account on a recurring basis is a dying business model.  Customers will pay and pay again for products they like.



I disagree that pulling money is a dying business model. Every bill I have, I've set to pull automatically so I don't have to A) remember to pay it and B) spend time logging into accounts and paying.

The function of pulling money, specifically for recurring payments, is desperately needed in Bitcoinworld. This doesn't mean the protocol should be changed to enable it, rather it means ewallets and services should create opt-in pull capabilities.

ie - in my Blockchain.info wallet, there should be a button (perhaps assigned to just one of my wallet addresses) where I tick "make pullable" and it then gives an authentication PW. I give this authentication PW to any merchant with whom I'd like to give pull access, such as my favorite porn site or the electric company. They can then pull money from that account.

Note that at any point I can opt back out, by telling Blockchain.info not to allow pulls anymore. I retain all the power of Bitcoin sercurity, with a wonderful new feature that will be used in thousands of ways.

Meh.  That's mostly because push is hard, and errors are easy to fix in the fiat world.  In bitcoin, push is easy, and errors are impossible to fix.

There are already online bill payment clearing houses where vendors and banks can get together.  I use a payment service with my bank, a push service.  When I started filling out the information for my cable bill, it pulled the details from one of these services and started giving me reminders.

Generally speaking, I pay everything on a credit card that I possibly can, so that I get 2% back automatically.  If I can't, I prefer to use a push payment from my bank (they use the bill data clearing house when they can, or they mail a check).  I only hand out ACH information and allow pulls when one of those two options isn't possible (or at least is annoying).

17Np17BSrpnHCZ2pgtiMNnhjnsWJ2TMqq8
I routinely ignore posters with paid advertising in their sigs.  You should too.
bg002h
Donator
Legendary
*
Offline Offline

Activity: 1463
Merit: 1047


I outlived my lifetime membership:)


View Profile WWW
August 25, 2012, 02:48:01 AM
 #19

I thought multisig was being designed to have scripts that can set conditions on the transaction...for example, if I put aside BTC100 for a years worth of internet service in 12 chunks, can't I set the script for each chunk to be paid to such and such address at such and such a time?  This way, my ISP can take their money when its  due without me having to remember to push it on time...they can't take it early...but they could forget to take it Smiley Or, I could take it back if I needed it before the payment was due...

If this is how multisig scripting could work...then it's really quite brilliant...

Hardforks aren't that hard. It’s getting others to use them that's hard.
1GCDzqmX2Cf513E8NeThNHxiYEivU1Chhe
nimda
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1000


0xFB0D8D1534241423


View Profile
August 25, 2012, 04:06:51 AM
 #20

Bitcoin will succeed by sticking to its strengths.  Push transaction, irreversible, with as much or as little personal information disclosed.

Text messaging is a push transaction.  Email is a push transaction.  People will get the hang of bitcoin once they try it.

The whole idea of automatically pulling money from someones account on a recurring basis is a dying business model.  Customers will pay and pay again for products they like.



I disagree that pulling money is a dying business model. Every bill I have, I've set to pull automatically so I don't have to A) remember to pay it and B) spend time logging into accounts and paying.

The function of pulling money, specifically for recurring payments, is desperately needed in Bitcoinworld. This doesn't mean the protocol should be changed to enable it, rather it means ewallets and services should create opt-in pull capabilities.

ie - in my Blockchain.info wallet, there should be a button (perhaps assigned to just one of my wallet addresses) where I tick "make pullable" and it then gives an authentication PW. I give this authentication PW to any merchant with whom I'd like to give pull access, such as my favorite porn site or the electric company. They can then pull money from that account.

Note that at any point I can opt back out, by telling Blockchain.info not to allow pulls anymore. I retain all the power of Bitcoin sercurity, with a wonderful new feature that will be used in thousands of ways.
I don't see how this is any different from just handing them your private key. Rather than use the third party Blockchain.info, I'd prefer to:
- Give my electric company a private key
- Write a script (or, if I weren't a scripting guy, use someone else's script) to fund the pubkey periodically
This means that
- The electric company can pull money as needed
- The electric company can't pull more money than is in the address
- It's set-and-forget
- I can cancel it by stopping the script and emptying the address they control
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!