I know that bitcoin prevents sybil attacks through proof of work - which takes into account the computing power of each participating node . So how does bitcoin get this information ?


Most nodes these days do not mine at all, nor do they care who exactly is contributing hashpower to the network.

Proof of work does not prevent a sybil attack from occurring, rather the required work to create a block makes it costly for a successful sybil attacker to feed the victim a tailored chain-tip. Unless uses immense hashpower, they can at best hand the victim a doublespend transaction while withholding the new blocks and transactions relayed on the rest of the network. Simply waiting for one or more confirmations corresponding to the value of the transaction largely mitigates the dangers of a sybil attack.

On the other hand, sybil attacks itself are difficult because Bitcoin nodes initiate eight outbound connections to random peers in the network preferring nodes in different IP ranges. Whereas an attacker could perhaps gain control of a lot of inbound connections after identifying the victim's IP address, replacing the outbound connections would be a lot more difficult. Yet, as long as the node connects to just a single honest peer, a doublespend attack as mentioned above would be foiled.


A Bitcoin client does not know, nor need to know the computing power of the nodes it connects to. It only needs to know the computational power that went into the chain of blocks that the connected nodes are sending.

While this does not fully prevent sybil attacks, it makes them much more difficult. A node will independently verify the work that has gone into a chain, so that is something that cannot be spoofed. If there is a discrepancy between the amount of work that two connected nodes claim (communicated by the blocks they broadcast), then a client knows that the one with the least work is probably doing something malicious.

Only if an attacker can ensure that they control all the nodes the victim has ever connected to, can they really pull off a sybil attack. Even so, the owner of that node can compare his own node's blockchain state against that of an online blockchain explorer, and quickly see that something is amiss.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.