Can anyone please provide a clear definition for what a Sybil attack is? I was asked how the cryptocurrency I am developing would prevent Sybil attacks.
2 Answers
A Sybil attack is an attack where a single adversary is controlling multiple nodes on a network. It is unknown to the network that the nodes are controlled by the same adversarial entity. For example, an adversary can spawn up multiple computers, virtual machines, and IP addresses. They can create multiple accounts with different usernames and e-mail addresses and pretend that they all exist in different countries.
Avoiding Sybil attacks is a difficult problem. In centralized systems they are typically avoided through heuristics that do not provide cryptographic assurance of Sybil resilience. For example, a centralized entity may try to avoid Sybil attacks by requiring that an individual IP cannot create more than a specific number of user accounts in a given time interval.
Sybil attacks are avoided in Bitcoin by requiring block generation ability to be proportional to computational power available through the proof-of-work mechanism. That way, an adversary is limited in how many blocks they can produce. This provides strong cryptographic guarantees of Sybil resilience.
-
@dionyziz Can you elaborate on how bitcoin avoids sybil attack? I am finding it difficult to understand. Please help.– AdityaCommented Oct 29, 2017 at 11:04
-
4@Aditya The adversary has limited computing power. If the adversary present themselves as one entity to the network, the adversarial computing power will all be concentrated on that one entity. If the adversary presents themselves as 100 entities to the network – a Sybil attack –, then each of the entities will have 1/100th of the total adversarial power. Because in bitcoin what matters is the computational power, not the number of entities by count, creating more identities does not help the adversary produce more blocks.– dionyzizCommented Oct 29, 2017 at 23:41
-
1
-
Thanks for the explanation! The wiki page says "the attacker subverts the reputation system of a peer-to-peer network by creating a large number of pseudonymous identities, using them to gain a disproportionately large influence." I have difficulty in understanding what the "influence" is in the case of bitcoin. It doesn't seem to be the hashrate because in that case a mining pool can gain much more influence than a regular user.– yaobinCommented Oct 17, 2018 at 22:32
-
Ah, never mind. I just found the Bitcoin Wikipedia page gives examples of potential issues that Sybil attack can cause.– yaobinCommented Oct 17, 2018 at 22:38
Please see Ethereum EIP 819 (https://github.com/ethereum/EIPs/pull/918) which researched the first sybil-attack-resistant design for an ERC20 Ethereum Token. This design achieves sybil attack resistance by using Proof Of Work to ensure that neither the deployer nor any other entity is unfairly receiving massive amounts of tokens for free during the distribution. Not other distribution scheme (airdrop, ico) can prevent that.