Bitcoin Forum
April 26, 2024, 10:49:55 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Unique BTC amount instead of an address for IPN  (Read 187 times)
nofiat (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 2


View Profile
January 25, 2018, 12:11:38 PM
Merited by achow101 (1), Welsh (1)
 #1

Most Bitcoin IPN providers work in the following way:

1. Merchant submits invoice information (i.e. amount, their btc address, user ID and unique invoice ID).
2. The IPN provider inserts this information to a DB and generates a unique btc address for this specific invoice.
3. The merchant receives the unique btc address from the IPN provider and presents it to the end-user.
4. Once the end user pays the agreed upon amount and the transaction receives enough confirmations, the IPN provider submits a notification (i.e. POST request) and sends the funds to the merchant's wallet address.

The issue that I see here, is that a fee is paid twice. Once from the end-user to the IPN provider's unique BTC address, and again from the IPN provider to the merchant's wallet address.

I was thinking about a different approach, where the end-user sends the funds to the merchant's wallet, and the IPN provider "listens" to the BTC address. In this case the invoice identifier would be the BTC amount instead of the btc address. For example:

1. Merchant creates a new invoice for 0.001 BTC, and submits its wallet address along with the invoice information to the IPN provider.
2. The IPN provider "generates" a unique number for that specific invoice, which should be very close to the original amount (i.e. 0.00100052 - a "gap" of 1 cent). The IPN provider inserts the data (with the new amount) to its database and starts "listening" to the merchant's wallet address.
3. Once the IPN providers spots a transaction for that particular amount (0.00100052 in our example), it flags the invoice as completed and informs the merchant.

With the example above, a fee is only paid once, and the funds are transferred straight to the merchant which means that in all stages, either the customer or the merchant own the funds - never the IPN provider - a P2P IPN.

What could be the cons of this method?
1714171795
Hero Member
*
Offline Offline

Posts: 1714171795

View Profile Personal Message (Offline)

Ignore
1714171795
Reply with quote  #2

1714171795
Report to moderator
1714171795
Hero Member
*
Offline Offline

Posts: 1714171795

View Profile Personal Message (Offline)

Ignore
1714171795
Reply with quote  #2

1714171795
Report to moderator
1714171795
Hero Member
*
Offline Offline

Posts: 1714171795

View Profile Personal Message (Offline)

Ignore
1714171795
Reply with quote  #2

1714171795
Report to moderator
Whoever mines the block which ends up containing your transaction will get its fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714171795
Hero Member
*
Offline Offline

Posts: 1714171795

View Profile Personal Message (Offline)

Ignore
1714171795
Reply with quote  #2

1714171795
Report to moderator
1714171795
Hero Member
*
Offline Offline

Posts: 1714171795

View Profile Personal Message (Offline)

Ignore
1714171795
Reply with quote  #2

1714171795
Report to moderator
codewench
Member
**
Offline Offline

Activity: 93
Merit: 39


View Profile
January 25, 2018, 01:01:06 PM
Merited by achow101 (1), Welsh (1)
 #2

The issue that I see here, is that a fee is paid twice. Once from the end-user to the IPN provider's unique BTC address, and again from the IPN provider to the merchant's wallet address.

In the simplistic implementation a fee is paid three times: Once by the customer, once to move to the merchants wallet, and once more by the merchant when moving the funds to an exchange (or aggregating into a storage wallet.) Your idea drops that to two fees.

But there's simple optimization (without unique payment amounts): The payment processor can wait for a day/week/month/hour and aggregate all payments in one transaction to the merchants wallet. That's two fees per payment, plus only one fee to move the bulk payment further. Thus, your idea doesn't gain much.

Actually, if the merchant provides the payment processor their xpub key, then the processor can direct all customer payments directly to an address controlled by the merchant. Thus, there are no extra fees. (This does create the issue of how the the processor gets paid. They can no longer take a cut from every transaction. But they could bill monthly.)

BTW There are two ways to embed a unique amount in a transaction: The amount paid, and the miner's fee. Both can be adjusted by a few satoshis.
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3374
Merit: 6535


Just writing some code


View Profile WWW
January 25, 2018, 03:57:08 PM
 #3

One problem I see is that if a lot of people are buying stuff at the same price, there may not be enough unique numbers that can be generated that have a negligible effect on the amount that the customer is actually paying.

nofiat (OP)
Newbie
*
Offline Offline

Activity: 19
Merit: 2


View Profile
January 26, 2018, 03:47:37 PM
 #4

Thank you for your inputs! Would love to hear more Smiley
Anti-Cen
Member
**
Offline Offline

Activity: 210
Merit: 26

High fees = low BTC price


View Profile
January 28, 2018, 02:52:45 AM
Merited by TMAN (1)
 #5

The OP is in danger of thinking for himself too much and this dangerous criminal
should be reported to the police.

Reducing fees paid to miners will only do them out of a wage and think of the starving kids

Lets charge fees on bits instead of bytes because it sound much better along side the name
Bitcoin don't you think.

Quote
With the example above, a fee is only paid once, and the funds are transferred straight to the merchant which means that in all stages, either the customer or the merchant own the funds - never the IPN provider - a P2P IPN.

Bitcoin was never P2P banking but they are trying to sell it as that but even if I my wallet was connected to yours without
doing broadcasts and we managed to swap ownership somehow then they have us beat with the block-chain

Cleaver they are and all the mistakes so far could well be deliberate but every dog has it's day so maybe we can
cut the middleman out (Lightning banker network) and find the weak point

if we don't stop these criminals then someone will come up with a coin in a new ICO that is designed to
short Bitcoins price but forget you heard it from me  Cheesy Cheesy or that you would had made a fortune in the
last month.
 

Mining is CPU-wars and Intel, AMD like it nearly as much as big oil likes miners wasting electricity. Is this what mankind has come too.
jambola2
Legendary
*
Offline Offline

Activity: 1120
Merit: 1038


View Profile
January 29, 2018, 11:31:43 PM
 #6

I feel like a good deal of payment processors and merchants go by the route wherein the payment processor instantly converts the BTC to USD before paying the user.
This then eliminates the benefit of trustlessness anyways.

I guess if you assume merchants that are looking for payment methods wherein they keep the Bitcoin in the end, the trustless nature can "kinda" help. But if you already don't trust the payment processor, it seems like you would just set up your own system, especially if you're just having to listen to a single address, and not needing instant USD conversions as well.

(And as others have noted, the fee does not really add up when you consider the existence of bulk transactions)

No longer active on bitcointalk, however, you can still reach me via PMs if needed.
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!