Bitcoin Forum
November 10, 2024, 06:43:40 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: Transaction fees and speeding up transactions  (Read 3052 times)
Meni Rosenfeld
Donator
Legendary
*
Offline Offline

Activity: 2058
Merit: 1054



View Profile WWW
July 04, 2011, 04:32:22 AM
 #21

Risky for the scammer if deals are done in person,
if the next block is solved with in a minute or two,
the seller can probably catch him before he gets out of the store.
Not really risky though for the scammer. He can just claim he lost track of what his balance was. Oops. Sorry about that. Let me pull out my other wallet... Kind of like a credit card decline. Not really a crime at all.
No, that's not how it works. The customer can't broadcast a transaction if he doesn't have the funds available. The default software client will not allow him to double-spend coins. The only problem is if he deliberately tries to double-spend with special-purpose software, and even then it's not trivial to pull off.

1EofoZNBhWQ3kxfKnvWkhtMns4AivZArhr   |   Who am I?   |   bitcoin-otc WoT
Bitcoil - Exchange bitcoins for ILS (thread)   |   Israel Bitcoin community homepage (thread)
Analysis of Bitcoin Pooled Mining Reward Systems (thread, summary)  |   PureMining - Infinite-term, deterministic mining bond
DamienBlack
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
July 04, 2011, 04:38:54 AM
 #22

Or, the business can assume the transaction will go through once transmitted with no confirmations for small transactions.

What does this assumption entail? Does it mean a customer can initiate the transaction and not actually have the funds? If so, as I stated in the OP, that's not going to work.

Why not? This has been done with checks for quite a while.
imperi
Full Member
***
Offline Offline

Activity: 196
Merit: 101


View Profile
July 04, 2011, 05:02:58 AM
 #23

Do money transfers between banks work instantaneously as well? Funny how the dollar works...
evoorhees
Legendary
*
Offline Offline

Activity: 1008
Merit: 1023


Democracy is the original 51% attack


View Profile
July 04, 2011, 05:04:21 AM
 #24

I'll prophesize here:  In the future, most people will not use wallets on their computers (due to security risks).

Most bitcoins will thus be stored at bitcoin banks, and a purchase at a burger king will be between bank and burger king. Trust will be immediate and you'll get your burger right away.

Thankfully, people won't HAVE to use banks if they don't want to, and the banks can't peddle fiat BS.
dood001
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
July 04, 2011, 05:06:37 AM
 #25

I'll prophesize here:  In the future, most people will not use wallets on their computers (due to security risks).

Most bitcoins will thus be stored at bitcoin banks, and a purchase at a burger king will be between bank and burger king. Trust will be immediate and you'll get your burger right away.

Thankfully, people won't HAVE to use banks if they don't want to, and the banks can't peddle fiat BS.

But then the bank will want a cut and we are back where we started.
imperi
Full Member
***
Offline Offline

Activity: 196
Merit: 101


View Profile
July 04, 2011, 05:07:11 AM
 #26

I'll prophesize here:  In the future, most people will not use wallets on their computers (due to security risks).

Most bitcoins will thus be stored at bitcoin banks, and a purchase at a burger king will be between bank and burger king. Trust will be immediate and you'll get your burger right away.

Thankfully, people won't HAVE to use banks if they don't want to, and the banks can't peddle fiat BS.

I think people might use wallets on their computers, but not for day to day activities. It is like keeping your money in a safe. Nobody controls it except you, and nobody can take it from you.
imperi
Full Member
***
Offline Offline

Activity: 196
Merit: 101


View Profile
July 04, 2011, 05:08:17 AM
 #27

I'll prophesize here:  In the future, most people will not use wallets on their computers (due to security risks).

Most bitcoins will thus be stored at bitcoin banks, and a purchase at a burger king will be between bank and burger king. Trust will be immediate and you'll get your burger right away.

Thankfully, people won't HAVE to use banks if they don't want to, and the banks can't peddle fiat BS.

But then the bank will want a cut and we are back where we started.

It won't be a 3% cut like credit card companies charge.
wolftaur
Member
**
Offline Offline

Activity: 112
Merit: 10


View Profile
July 04, 2011, 07:10:54 AM
 #28

It won't be a 3% cut like credit card companies charge.

What makes you think that? They'll raise the fees if they have even the slightest excuse that they think would let them get away with it. "Oh! We protect you from fraud, we DESERVE that 15%!!"

"MOOOOOOOM! SOME MYTHICAL WOLFBEAST GUY IS MAKING FUN OF ME ON THE INTERNET!!!!"
ctoon6
Sr. Member
****
Offline Offline

Activity: 350
Merit: 251



View Profile
July 04, 2011, 07:27:16 AM
 #29

i have a list of ideas, it may sound crazy, but here it is.

You place the order BEFORE you go to the restaurant.
You have an account at each restaurant where you keep funds.
Wait for a confirmation.
Bitcoin devices that attempt to be temper proof, this way the device can be trusted to not double spend.
lowering the target block rate.
open once wallets. they are made in such a way that once opened they can not be closed again. they reveal the private key of a bitcoin account that contains said amount of money. the retailer can refund any spill over coins. the open once cards must be hard to forge and reusable. they can be made of metal with a replaceable seal and private key paper. the seal could be made of the same cotton paper USD is made of  Shocked

Not so good ideas.

Banks that send bitcoins without actually using the network.
lowering the target block rate.

Eri
Sr. Member
****
Offline Offline

Activity: 264
Merit: 250


View Profile
July 04, 2011, 10:00:08 AM
 #30

the only solution that solves the "not having to wait for a confirmation" problem has already been said. you just need a trusted third party, some site that has top security and is rather popular. allows you to make a anonymous account on the fly. you sign up with a pass and user name, it gives you a btc address and you deposit money here before you need to spend it so it can be confirmed. now when you go out to burger king you let them scan your QR code from your phones display or a printed out QR code, or your read out the details it holds. which would be your user name and the site's web address. their app uses these details to request a transaction be made with what you owe them, the trusted 3rd party then sends the request back to your phone, you verify the amount/store and accept the transaction, the 3rd party them informs the store the transaction was completed and sends the BTC from their account to the stores. the speed at which this happens is as fast as they can scan the QR code and we can confirm the transaction is OK. this works because the 3rd party is trusted(by popular use and excellent security), the 3rd party knows *nothing* about you and they don't care. and even though the store doesn't have the BTC yet and may not for a few hours, because the 3rd party is Trusted, the store Knows they will get the money at some point.

That is how it would work, Awesome thing about this? you can have Many sites like this~ and you don't need HUGE ones, you just need local, state, country and international. ie, if you never leave your local area a local website to handle local stores would be best. to avoid spam from those just sending money requests to your username, the site could even have something that knows the stores location, and checks your GPS location, if you are not near the store it would simply ignore the request. at least that is how id do it. heck with a system like this, the employees wouldn't have access to the stores private key, so they cant give refunds and cant get robbed! given refunds can be useful at times Tongue maybe some sort of limited to 50$ account for refunds would be accessible to them, giving each employee their own, so in cases of theft by employee the owner knows exactly who did it.

Sandoz
Member
**
Offline Offline

Activity: 85
Merit: 10


View Profile
July 04, 2011, 03:29:00 PM
 #31

i have a list of ideas, it may sound crazy, but here it is.

You place the order BEFORE you go to the restaurant.
You have an account at each restaurant where you keep funds.
Wait for a confirmation.
Bitcoin devices that attempt to be temper proof, this way the device can be trusted to not double spend.
lowering the target block rate.
open once wallets. they are made in such a way that once opened they can not be closed again. they reveal the private key of a bitcoin account that contains said amount of money. the retailer can refund any spill over coins. the open once cards must be hard to forge and reusable. they can be made of metal with a replaceable seal and private key paper. the seal could be made of the same cotton paper USD is made of  Shocked

Not so good ideas.

Banks that send bitcoins without actually using the network.
lowering the target block rate.

Actually that's not a bad idea! You could "overpay" the burger place when you enter, they would then send you the change as soon as you place your order.

This way the trust would be placed into the store owner who couldnt really run from you...

And if you didn't pay upfront? Too bad, you will have to wait 10 minutes

Maged
Legendary
*
Offline Offline

Activity: 1204
Merit: 1015


View Profile
July 04, 2011, 08:08:43 PM
 #32

Believe it or not, but a 0-confirmation transaction is already an order of magnitude more secure than credit card transactions. After the merchant waits a few seconds to see if a conflicting transaction comes in (something which would require a specially designed client that hasn't been made yet), standard double-spends are no longer feasible. At this point, only a Finney attack could undo the transaction. Since a Finney attack requires near-exact timing for fraudulently spending the coins (unless large mining pools also agree to preform them), it would be difficult and HIGHLY RISKY to do it for in-person, low-value transactions. If you assume 1 minute to order/check-out, 1 minute to get your food/bag your items, and 1 minute to get away, you have a 30% chance (3 minutes/10 minutes) of losing the block you had to make to allow the Finney attack to work.

error
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500



View Profile
July 04, 2011, 08:16:21 PM
 #33

Believe it or not, but a 0-confirmation transaction is already an order of magnitude more secure than credit card transactions. After the merchant waits a few seconds to see if a conflicting transaction comes in (something which would require a specially designed client that hasn't been made yet), standard double-spends are no longer feasible.

blkmond can be adapted to do this. It's part of jgarzik's pushpool. Any serious merchant backoffice solution which accepts bitcoins is going to include something like it.

At this point, only a Finney attack could undo the transaction. Since a Finney attack requires near-exact timing for fraudulently spending the coins (unless large mining pools also agree to preform them), it would be difficult and HIGHLY RISKY to do it for in-person, low-value transactions. If you assume 1 minute to order/check-out, 1 minute to get your food/bag your items, and 1 minute to get away, you have a 30% chance (3 minutes/10 minutes) of losing the block you had to make to allow the Finney attack to work.

Exactly. People are not going to do the Finney attack while standing in line at the grocery store. They might not make it to the parking lot before the attack is discovered.

3KzNGwzRZ6SimWuFAgh4TnXzHpruHMZmV8
Eri
Sr. Member
****
Offline Offline

Activity: 264
Merit: 250


View Profile
July 05, 2011, 04:35:25 AM
 #34

please correct me if i'm wrong anywhere in here.

your assuming its 10 minutes, it can be 10 seconds or 50 minutes, though that technically makes it more of a gamble for them since they don't know when a block will be generated. though, couldn't they do a 0 fee transaction in the store and a .001 transaction to themself at the same time, depending how widely used the system is, they would likely get the money transferd back to themselves before the 0 fee transaction made it into a block or got rejected)?
DamienBlack
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
July 05, 2011, 04:39:01 AM
 #35

please correct me if i'm wrong anywhere in here.

your assuming its 10 minutes, it can be 10 seconds or 50 minutes, though that technically makes it more of a gamble for them since they don't know when a block will be generated. though, couldn't they do a 0 fee transaction in the store and a .001 transaction to themself at the same time, depending how widely used the system is, they would likely get the money transferd back to themselves before the 0 fee transaction made it into a block or got rejected)?

You can't send the money anywhere until it is confirmed in 6 blocks, which is statistically suppose to take an hour.
Eri
Sr. Member
****
Offline Offline

Activity: 264
Merit: 250


View Profile
July 05, 2011, 05:16:54 AM
 #36

please correct me if i'm wrong anywhere in here.

your assuming its 10 minutes, it can be 10 seconds or 50 minutes, though that technically makes it more of a gamble for them since they don't know when a block will be generated. though, couldn't they do a 0 fee transaction in the store and a .001 transaction to themself at the same time, depending how widely used the system is, they would likely get the money transferd back to themselves before the 0 fee transaction made it into a block or got rejected)?

You can't send the money anywhere until it is confirmed in 6 blocks, which is statistically suppose to take an hour.

i mean, say im running a duel client setup, both clients recognize me as the owner of the funds with well over 100 confirmations, one app sends out the transaction with 0 fee to the store, and the other sends it out to another account of mine with a .001 fee.
FreeMoney
Legendary
*
Offline Offline

Activity: 1246
Merit: 1016


Strength in numbers


View Profile WWW
July 05, 2011, 05:27:13 AM
 #37

Most of the places I go let me pay after I eat. In the real world almost no one will look you in the eyes, eat your food and pretend to pay you.

It might not be fundamentally hard to double spend with 0 confirms, but it's pretty hard to do it without the merchant hearing about your second spend right away.

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

Activity: 1204
Merit: 1015


View Profile
July 05, 2011, 05:37:49 AM
 #38

please correct me if i'm wrong anywhere in here.

your assuming its 10 minutes, it can be 10 seconds or 50 minutes, though that technically makes it more of a gamble for them since they don't know when a block will be generated. though, couldn't they do a 0 fee transaction in the store and a .001 transaction to themself at the same time, depending how widely used the system is, they would likely get the money transferd back to themselves before the 0 fee transaction made it into a block or got rejected)?
As I eluded to, it is possible that some mining pools will be designed to do Finney attacks. However, I suspect that if Bitcoin becomes big, mining for said pools will be highly illegal. As for what you suggested, all that matters (short of the mining pool trickery I suggested) is which transaction a node hears first; the fee is ignored. As a result, after a few seconds, it is almost impossible to do a standard double-spend.

Also, I was quite correct in stating that, statistically, holding on to your block for 3 minutes will result in failure 30% of the time (assuming that the difficulty perfectly results in an average of 6 blocks per hour, which hasn't been the case for some time).

DamienBlack
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1


View Profile
July 05, 2011, 05:38:57 AM
 #39

please correct me if i'm wrong anywhere in here.

your assuming its 10 minutes, it can be 10 seconds or 50 minutes, though that technically makes it more of a gamble for them since they don't know when a block will be generated. though, couldn't they do a 0 fee transaction in the store and a .001 transaction to themself at the same time, depending how widely used the system is, they would likely get the money transferd back to themselves before the 0 fee transaction made it into a block or got rejected)?

You can't send the money anywhere until it is confirmed in 6 blocks, which is statistically suppose to take an hour.

i mean, say im running a duel client setup, both clients recognize me as the owner of the funds with well over 100 confirmations, one app sends out the transaction with 0 fee to the store, and the other sends it out to another account of mine with a .001 fee.

I see. Currently, the 0 fee one and the fee one would probably both be in the same block (except that they can't be). Nowadays there isn't usually a hold up on transaction free transfers. In the future, when there is a delay for free transfers then yes, this type of attack might increase your chances for success, some, depending on whether miners decide to take the transaction with the fee even though they have seen a different one. Currently, I don't think any miner does that, they just reject the second one they see, fee or not.

On top of that, anyone connected to the network will be able to quickly see that a double spend has occurred, even before the transaction gets put in a block. Everyone in the network has access to the queued transactions, they are just unconfirmed. It is easy to see that the network has rejected the earlier transaction because of a double spend. It only takes seconds. A real attack would take a very elaborate plan and need control of much of the network. It just doesn't make sense for a burger, or anything else that someone wouldn't wait for real confirmation.
Pages: « 1 [2]  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!