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.

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

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 ?

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.

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.

How often do you get the chance to work on a potentially world-changing project?

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.

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.