Author

Topic: no confirmations (Read 1643 times)

sr. member
Activity: 416
Merit: 277
October 28, 2010, 10:34:40 AM
#11
Here's what could happen if somebody controls 50% of the nodes-that-are-accepting-connections:

...

They could also send me a bogus version of the block chain (well, bogus back to the last compiled-in checkpoint), but that would be easy to detect (number of blocks in the chain would be different from what everybody else sees).

It's only easy to detect if you bother looking for it. Without noticing the symptoms you mention there's no reason to check.

One way to make this attack a lot more costly is to ensure that a certain small fraction of the nodes you connect to have found a hash at some point. You can do this by asking the node to sign something with the same key that was used to sign a coinbase transaction. If it can't, then it hasn't found any hashes ever.

ByteCoin
legendary
Activity: 1470
Merit: 1005
Bringing Legendary Har® to you since 1952
October 28, 2010, 10:21:41 AM
#10
Here's what could happen if somebody controls 50% of the nodes-that-are-accepting-connections:

I join the network with a node behind a firewall (so I only connect out to 8 nodes).  I have a 1-in-256 chance that all my connections are to the cheater's nodes.

If I am very unlucky and all of my connections ARE to cheater nodes, then they can:
  + refuse to relay my transactions to the rest of the network
  + refuse to send me new "block created" messages
  + send me only the addresses of other cheater nodes

They could also send me a bogus version of the block chain (well, bogus back to the last compiled-in checkpoint), but that would be easy to detect (number of blocks in the chain would be different from what everybody else sees).

They could NOT:
  + modify/"damage" transactions
  + hurt the vast majority of network nodes that have at least one connection to a non-cheater

I'm glossing over some details and possible attacks (e.g. if the attacker can hijack my internet connections -- maybe I'm using a wireless network at a cafe -- then I'm screwed because they can just redirect all of my connections to cheaters).

The bottom line is:  make sure you have the right number of blocks (bitcoinwatch.com, for one, will tell you the block count). Don't do financial transactions on untrusted networks. And if your transactions don't go through after half an hour, restart bitcoin to connect to a new set of peers.


An attacker with more than 50% of the network's CPU could prevent a specific transaction from gaining confirmations. See the wiki. There's pretty much no chance that this is happening here, though.

You might be able to do this for a while with less than 50% of the network. It depends on how lucky you are. You need to create more than 50% of blocks.

Nice. That are the kind of answers i was expecting.
Thank you for your effort guys.
legendary
Activity: 1652
Merit: 2216
Chief Scientist
October 28, 2010, 10:12:51 AM
#9
Maybe somebody is simply messing with the network using a botnet or other large scale attack ?
I would like to hear Satoshi's opinion on what would exactly happen if (50% - 1) nodes of the network started to revoke the same transactions simultaneously. I mean there would be 50% - 1 "cheaters" working together, and the rest would be honest nodes.

Would the network still work properly in that case ? Or perhaps would some transactions be irreversably damaged ? Would the network figure out which hash calculations to trust and which not ?

Here's what could happen if somebody controls 50% of the nodes-that-are-accepting-connections:

I join the network with a node behind a firewall (so I only connect out to 8 nodes).  I have a 1-in-256 chance that all my connections are to the cheater's nodes.

If I am very unlucky and all of my connections ARE to cheater nodes, then they can:
  + refuse to relay my transactions to the rest of the network
  + refuse to send me new "block created" messages
  + send me only the addresses of other cheater nodes

They could also send me a bogus version of the block chain (well, bogus back to the last compiled-in checkpoint), but that would be easy to detect (number of blocks in the chain would be different from what everybody else sees).

They could NOT:
  + modify/"damage" transactions
  + hurt the vast majority of network nodes that have at least one connection to a non-cheater

I'm glossing over some details and possible attacks (e.g. if the attacker can hijack my internet connections -- maybe I'm using a wireless network at a cafe -- then I'm screwed because they can just redirect all of my connections to cheaters).

The bottom line is:  make sure you have the right number of blocks (bitcoinwatch.com, for one, will tell you the block count). Don't do financial transactions on untrusted networks. And if your transactions don't go through after half an hour, restart bitcoin to connect to a new set of peers.
administrator
Activity: 5166
Merit: 12850
October 28, 2010, 09:38:55 AM
#8
What version are you using? Versions older than 0.3.13 will send bad transactions that most generators won't accept if you've ever received a similar bad transaction.

Run Bitcoin with the -debug switch and double-click the transaction. Paste the hash here. The hash is located under the "transaction" header:
CTransaction(hash=c3821b, ver=1, ...

Maybe that transaction didn't propagate correctly and it took that long before it was rebroadcast?

That is possible. Bitcoin waits a long time before it rebroadcasts, and it might take an especially long time if you never leave Bitcoin open for longer than a few hours.

Maybe somebody is simply messing with the network using a botnet or other large scale attack ?
I would like to hear Satoshi's opinion on what would exactly happen if (50% - 1) nodes of the network started to revoke the same transactions simultaneously. I mean there would be 50% - 1 "cheaters" working together, and the rest would be honest nodes.

Would the network still work properly in that case ? Or perhaps would some transactions be irreversably damaged ? Would the network figure out which hash calculations to trust and which not ?

An attacker with more than 50% of the network's CPU could prevent a specific transaction from gaining confirmations. See the wiki. There's pretty much no chance that this is happening here, though.

You might be able to do this for a while with less than 50% of the network. It depends on how lucky you are. You need to create more than 50% of blocks.
legendary
Activity: 1470
Merit: 1005
Bringing Legendary Har® to you since 1952
October 28, 2010, 09:08:47 AM
#7
Transactions before that one and even after that one were adding confirms. So this is odd, and actually i am starting to have some doubts about safety and reliability of bitcoin transfering Smiley

Maybe somebody is simply messing with the network using a botnet or other large scale attack ?
I would like to hear Satoshi's opinion on what would exactly happen if (50% - 1) nodes of the network started to revoke the same transactions simultaneously. I mean there would be 50% - 1 "cheaters" working together, and the rest would be honest nodes.

Would the network still work properly in that case ? Or perhaps would some transactions be irreversably damaged ? Would the network figure out which hash calculations to trust and which not ?
legendary
Activity: 1246
Merit: 1014
Strength in numbers
October 28, 2010, 04:52:00 AM
#6
Transactions before that one and even after that one were adding confirms. So this is odd, and actually i am starting to have some doubts about safety and reliability of bitcoin transfering Smiley

I'm really just speculating, hopefully someone with knowledge will come by.

Maybe that transaction didn't propagate correctly and it took that long before it was rebroadcast?
sr. member
Activity: 357
Merit: 250
October 28, 2010, 04:44:11 AM
#5
Transactions before that one and even after that one were adding confirms. So this is odd, and actually i am starting to have some doubts about safety and reliability of bitcoin transfering Smiley
legendary
Activity: 1246
Merit: 1014
Strength in numbers
October 28, 2010, 03:01:50 AM
#4
now i have 88058 blocks, and finally!!! It has started to confirm! Transaction that i made 27/10/2010 at 14.00 has 8 confirmations at 8.42 28/10/2010... i do not like that speed of transfering

Maybe you were not actually connected to peers and were not getting new blocks? Were the transactions before it still adding confirms? That would be odd.
sr. member
Activity: 357
Merit: 250
October 28, 2010, 12:44:27 AM
#3
now i have 88058 blocks, and finally!!! It has started to confirm! Transaction that i made 27/10/2010 at 14.00 has 8 confirmations at 8.42 28/10/2010... i do not like that speed of transfering
legendary
Activity: 980
Merit: 1014
October 28, 2010, 12:01:23 AM
#2
How many blocks you have so far?
sr. member
Activity: 357
Merit: 250
October 27, 2010, 11:58:26 PM
#1
I made several transactions yesterday (recieve and send) and one of that transactions still not confirmed! Look at the picture. What the hell is this? How long should i wait? It's about 150 blocks old and not has even 1 confirmation yet.
Jump to: