Bitcoin Forum
May 29, 2024, 01:03:23 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 [4]  All
  Print  
Author Topic: Someone please tell me this isn't how transactions always work....  (Read 4612 times)
gtraah
Sr. Member
****
Offline Offline

Activity: 420
Merit: 250



View Profile
August 30, 2014, 12:39:28 PM
 #61

Anyway you don't even need to wait for a confirm if your buying food or drinks or whatever under $500  if clerk confirmed miner fee paid and transaction appears on his side then it is most likely paid and your good to go.
As discussed earlier, until the malleability issue is resolved accepting unconfirmed transactions is too risky at present.

I am pretty sure coinbase and bitpay merchants accept smaller unconfirmed transactions so it seems , Coinbase/Bitpay  think the benefit outweighs the risk.

These coffee/beer/food 0-confirmed transactions have been happening for ages. Its just the large transactions people wait 10-30min if need be.
cr1776
Legendary
*
Offline Offline

Activity: 4046
Merit: 1303


View Profile
August 30, 2014, 12:45:27 PM
 #62

Anyway you don't even need to wait for a confirm if your buying food or drinks or whatever under $500  if clerk confirmed miner fee paid and transaction appears on his side then it is most likely paid and your good to go.
As discussed earlier, until the malleability issue is resolved accepting unconfirmed transactions is too risky at present.

Unconfirmed transactions are not risky due to the malleability issue unless you are relying solely on the tx id. You can safely use unconfirmed transactions as long as you don't use only the tx id to track them pre-confirm.

Buffer Overflow
Legendary
*
Offline Offline

Activity: 1652
Merit: 1015



View Profile
August 30, 2014, 12:54:53 PM
 #63

Anyway you don't even need to wait for a confirm if your buying food or drinks or whatever under $500  if clerk confirmed miner fee paid and transaction appears on his side then it is most likely paid and your good to go.
As discussed earlier, until the malleability issue is resolved accepting unconfirmed transactions is too risky at present.

Unconfirmed transactions are not risky due to the malleability issue unless you are relying solely on the tx id. You can safely use unconfirmed transactions as long as you don't use only the tx id to track them pre-confirm.

Oh right, so they are safe. So if the various wallets allowed unconfirmed inputs to be sent without using tx ids, problem solved.

Now I'm confused.


DannyHamilton
Legendary
*
Offline Offline

Activity: 3402
Merit: 4656



View Profile
August 30, 2014, 01:49:12 PM
 #64

Now I'm confused.

You are confused because you are talking about two completely different things as if they are both the same thing.

Thing number 1: Accepting an unconfirmed transaction that is funded by confirmed outputs.

If someone sends you a transaction, and the transactions that the inputs come from are confirmed, then malleability doesn't affect you.  As long as the transaction is well propagated and includes an appropriate fee, it's a pretty small risk to accept it.  For small value payments, most merchants would consider this an acceptable risk (probably a lower merchant risk than shoplifting, chargebacks, and counterfeit bills).

Thing number 2: Spending the output from an unconfirmed transaction.

If you receive an unconfirmed transaction, and then try to spend those bitcoins that you just received before they have confirmed, you then have a problem with malleability.  The transaction ID of the unconfirmed transaction could change before it confirms, which would then make your transaction invalid.  While it is often reasonably safe to accept unconfirmed transactions, it is never very safe to spend those bitcoins until the transaction has confirmed.
Buffer Overflow
Legendary
*
Offline Offline

Activity: 1652
Merit: 1015



View Profile
August 30, 2014, 02:54:59 PM
 #65

Now I'm confused.

You are confused because you are talking about two completely different things as if they are both the same thing.

Thing number 1: Accepting an unconfirmed transaction that is funded by confirmed outputs.

If someone sends you a transaction, and the transactions that the inputs come from are confirmed, then malleability doesn't affect you.  As long as the transaction is well propagated and includes an appropriate fee, it's a pretty small risk to accept it.  For small value payments, most merchants would consider this an acceptable risk (probably a lower merchant risk than shoplifting, chargebacks, and counterfeit bills).

Thing number 2: Spending the output from an unconfirmed transaction.

If you receive an unconfirmed transaction, and then try to spend those bitcoins that you just received before they have confirmed, you then have a problem with malleability.  The transaction ID of the unconfirmed transaction could change before it confirms, which would then make your transaction invalid.  While it is often reasonably safe to accept unconfirmed transactions, it is never very safe to spend those bitcoins until the transaction has confirmed.

Thank you for your response. I am talking about #2.

cr1776
Legendary
*
Offline Offline

Activity: 4046
Merit: 1303


View Profile
August 30, 2014, 04:09:32 PM
 #66

Now I'm confused.

You are confused because you are talking about two completely different things as if they are both the same thing.

Thing number 1: Accepting an unconfirmed transaction that is funded by confirmed outputs.

If someone sends you a transaction, and the transactions that the inputs come from are confirmed, then malleability doesn't affect you.  As long as the transaction is well propagated and includes an appropriate fee, it's a pretty small risk to accept it.  For small value payments, most merchants would consider this an acceptable risk (probably a lower merchant risk than shoplifting, chargebacks, and counterfeit bills).

Thing number 2: Spending the output from an unconfirmed transaction.

If you receive an unconfirmed transaction, and then try to spend those bitcoins that you just received before they have confirmed, you then have a problem with malleability.  The transaction ID of the unconfirmed transaction could change before it confirms, which would then make your transaction invalid.  While it is often reasonably safe to accept unconfirmed transactions, it is never very safe to spend those bitcoins until the transaction has confirmed.

Thank you for your response. I am talking about #2.

There is a nice detailed summary here if you want to read more:

https://bitcointalk.org/index.php?topic=460944.0

As Danny says, #1 and #2 are different beasts. Transaction malleability alone isn't an issue unless you are relying solely on the tx id.  And it only becomes an issue if you combine it with attempting to spend those before they are confirmed.



1PFYcabWEwZFm2Ez5LGTx3ftz
Full Member
***
Offline Offline

Activity: 120
Merit: 100


View Profile
August 30, 2014, 04:17:17 PM
 #67

Your problem is easily avoided by using coin control. That way, you can choose which coins to spend, how to combine them, and you will not be caught by surprise that you can't spend the change, because you will know exactly how much change there will be in each transaction, and where will it go.

Coin control is a feature, which currently only the original Bitcoin Core wallet has (as far as I know).
Buffer Overflow
Legendary
*
Offline Offline

Activity: 1652
Merit: 1015



View Profile
August 30, 2014, 04:53:20 PM
 #68

Your problem is easily avoided by using coin control. That way, you can choose which coins to spend, how to combine them, and you will not be caught by surprise that you can't spend the change, because you will know exactly how much change there will be in each transaction, and where will it go.

Coin control is a feature, which currently only the original Bitcoin Core wallet has (as far as I know).

Armoury has coin control feature.

itsAj
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
August 30, 2014, 05:45:31 PM
 #69

Anyway you don't even need to wait for a confirm if your buying food or drinks or whatever under $500  if clerk confirmed miner fee paid and transaction appears on his side then it is most likely paid and your good to go.
As discussed earlier, until the malleability issue is resolved accepting unconfirmed transactions is too risky at present.
This is not true. The malleability risk is on the sender, not the receiver, and this is only when the TX ID is solely used to determine if you have sent someone funds or not. If you instead rely on something like, say the sending, receiving addresses, the date, and the amount then the risk is not there. If you only send a small number of TXs per day then you could simply remember if you paid someone or not. 
2GOOD
Hero Member
*****
Offline Offline

Activity: 547
Merit: 531


First bits: 12good


View Profile WWW
August 30, 2014, 10:07:34 PM
 #70

Your problem is easily avoided by using coin control. That way, you can choose which coins to spend, how to combine them, and you will not be caught by surprise that you can't spend the change, because you will know exactly how much change there will be in each transaction, and where will it go.

Coin control is a feature, which currently only the original Bitcoin Core wallet has (as far as I know).

Armoury has coin control feature.

blockchain.info too

Anyway OP can alwaways send 22$ for the bill and 6 for tip in one tx, so no need to wait...
OR just spend the uncofrimed change.

For me this is not an issue and can be fixed by the software wallet you are using.

luv2drnkbr
Hero Member
*****
Offline Offline

Activity: 793
Merit: 1016



View Profile
August 31, 2014, 03:11:35 AM
 #71

Yes OP, that's how it works, but that's necessary for it to function.

The main problem is with your wallet.

It should warn you, but still let you, use an unconfirmed output as a new input, so that exactly your situation can be done with quickly.  I'm sure not you nor the place you were paying would care about the risk associated with unconfirmed payments for that amount.   Your wallet should also have let you pay multiple addresses in one tx, so that you could have just done it all at once.  And finally, the establishment should also give you the option of just paying everything to one address, and it keeps track of what's what, although it could still provide separate tipping addresses in addition.

wasserman99
Sr. Member
****
Offline Offline

Activity: 476
Merit: 250



View Profile
August 31, 2014, 05:00:31 AM
 #72

Anyway you don't even need to wait for a confirm if your buying food or drinks or whatever under $500  if clerk confirmed miner fee paid and transaction appears on his side then it is most likely paid and your good to go.
As discussed earlier, until the malleability issue is resolved accepting unconfirmed transactions is too risky at present.

I am pretty sure coinbase and bitpay merchants accept smaller unconfirmed transactions so it seems , Coinbase/Bitpay  think the benefit outweighs the risk.

These coffee/beer/food 0-confirmed transactions have been happening for ages. Its just the large transactions people wait 10-30min if need be.
I think they show the payment as being received on the customer's end however would likely not credit the merchants accounts until after "x" confirmations. Also if the TX ends up not confirming they would likely advise the merchant as such and tell them not to deliver the product.

Nagle
Legendary
*
Offline Offline

Activity: 1204
Merit: 1000


View Profile WWW
August 31, 2014, 05:11:15 PM
 #73

A possible third party service could be envisioned:
A card, bought on airports and shopping centers, which has a public bitcoin address and a magstripe or chip or whatever is needed for the shop.
If you have to buy a stored value card, Bitcoin just gets in the way.
cyberpinoy
Hero Member
*****
Offline Offline

Activity: 1008
Merit: 502



View Profile WWW
August 31, 2014, 05:57:20 PM
 #74



Unfortunately, not solved. The bar has a separate address for the bill and bartender tips, something I do not have control over.



This is a situation the bar created for themselves. When you pay them in cash do you make 2 different payments, like if your bill is 22 dollars and you want to tip them 5 dollars do you hand them the 22 dollars and wait for them to put that in the register then hand them the 5 dollars, NO most people do not, you hand them the 27 dollars and tell them to keep the change they usually put it in a jar which at the end of the night is split between the workers. They are making you do their job. If it were me, (but I am an asshole) I simply would tell them no i will not pay the tip separately, I can either include your tipin this transaction and you document it, or I can just not tip you at all. How much do you want to bet they will say just include the tip in that transaction sir?

I will also bet the two addresses went to the same wallet just farther showing you, they are making you do their job. Its easier to look at the address at the end of the night and see how many tips came into that address and then distribute them that way rather than look and compare each transaction to see what the tip was. there are a lot of ways the bar can make that happen without inconviencing them or the customer, they just choose not to do thier job. BOTTOM LINE.

DooMAD
Legendary
*
Offline Offline

Activity: 3794
Merit: 3157


Leave no FUD unchallenged


View Profile
August 31, 2014, 06:06:27 PM
 #75

Unfortunately, not solved. The bar has a separate address for the bill and bartender tips, something I do not have control over.

It's possible they implemented that setup without realising it would cause problems.  While it's good that companies are rushing to adopt Bitcoin, it's not as great if they rush in so quickly that they set it up in such a way that makes it problematic for the customers to use.  If you end up going back there, just politely explain it to them that two transactions won't work in quick succession (unless the customer has two wallets handy, which many won't) and they'd be better off just having the one address for customers to use and they can divvy up the funds later.

.
.HUGE.
▄██████████▄▄
▄█████████████████▄
▄█████████████████████▄
▄███████████████████████▄
▄█████████████████████████▄
███████▌██▌▐██▐██▐████▄███
████▐██▐████▌██▌██▌██▌██
█████▀███▀███▀▐██▐██▐█████

▀█████████████████████████▀

▀███████████████████████▀

▀█████████████████████▀

▀█████████████████▀

▀██████████▀▀
█▀▀▀▀











█▄▄▄▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.
CASINSPORTSBOOK
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀▀█











▄▄▄▄█
spazzdla
Legendary
*
Offline Offline

Activity: 1722
Merit: 1000


View Profile
August 31, 2014, 10:18:25 PM
 #76

Bitcoin = gold

Some alt coin = paper money 

This is my bet.  Fastcoin for eg 12 seconds lol.
FloodZone
Newbie
*
Offline Offline

Activity: 62
Merit: 0


View Profile
September 01, 2014, 02:01:34 AM
 #77


Alright, if my recent experience at a bar paying with bitcoin is any indication of how bitcoin transactions work, then mass adoption is very unlikely. Someone please tell me if this is how transactions must work, or it's just a Hive wallet issue.

I was at a bar that accepts bitcoin and wanted to pay my bill with btc. My Hive wallet had about $60 USD worth of coin in it. My bill was $22. The bar has a receiving address for the bill and a separate address for tipping the bartenders. I sent my $22 worth of coin to the first address. Then I went to send a $6 tip to the bartender address and my wallet said that 'Some funds are unavailable. To send this transaction you'll need to wait for your pending transactions to be confirmed'. So I waited. And waited. It took 10 minutes of sitting there (with my friend wondering why in the hell I think paying with bitcoin is so great) before I could tip the bartender and leave.

I contacted Hive and they said it depends on unspent transaction outputs. So if I had an unspent output of $58, it used that to pay the bill and was waiting for the change to come back so there wasn't another available unspent output to pay a $6 tip.

If this is how bitcoin transactions have to work, then I completely overestimated the usability of bitcoin for everyday spending. If I can't pay a bill, then immediately pay a tip, then walk outside and pay a taxi driver because I'm not aware of the unspent output amounts in my wallet then I'll just go back to cash or card.

Someone tell me this isn't how it has to work.
It is how Bitcoin works.  You have pointed out a very real shortcoming though.  I'm not sure how this could be fixed aside from allowing transactions to be created based on unconfirmed funds, which runs a risk of accidental double-spends.
Your words is full of sense. He should get closer to Bitcoin system to understand how it's exactly works
coinits
Legendary
*
Offline Offline

Activity: 1582
Merit: 1019


011110000110110101110010


View Profile
September 01, 2014, 02:09:48 AM
 #78

Why couldn't a mobile app be developed that allowed deposits to it that are confirmed and in the user control? He can send it to any address and it automatically is deducted from his balance and can not be spent again. Doesn't matter about the transaction lag time and confirms. The btc was in a secure wallet. It was confirmed on the deposit. Should be able to spend it instantly.

I am not a cryptocoder but this seems an easy thing to do to me.

Jump you fuckers! | The thing about smart motherfuckers is they sound like crazy motherfuckers to dumb motherfuckers. | My sig space for rent for 0.01 btc per week.
itsAj
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
September 07, 2014, 07:54:30 PM
 #79



Unfortunately, not solved. The bar has a separate address for the bill and bartender tips, something I do not have control over.



This is a situation the bar created for themselves. When you pay them in cash do you make 2 different payments, like if your bill is 22 dollars and you want to tip them 5 dollars do you hand them the 22 dollars and wait for them to put that in the register then hand them the 5 dollars, NO most people do not, you hand them the 27 dollars and tell them to keep the change they usually put it in a jar which at the end of the night is split between the workers. They are making you do their job. If it were me, (but I am an asshole) I simply would tell them no i will not pay the tip separately, I can either include your tipin this transaction and you document it, or I can just not tip you at all. How much do you want to bet they will say just include the tip in that transaction sir?

I will also bet the two addresses went to the same wallet just farther showing you, they are making you do their job. Its easier to look at the address at the end of the night and see how many tips came into that address and then distribute them that way rather than look and compare each transaction to see what the tip was. there are a lot of ways the bar can make that happen without inconviencing them or the customer, they just choose not to do thier job. BOTTOM LINE.
This situation was not caused by the bar, it was caused by the wallet software the OP was using. It is very well possible for someone to spend an unconfirmed input, it was just the software that was preventing it - the network would/should have accepted a 2nd transaction to the tip address.
Pages: « 1 2 3 [4]  All
  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!