A Sybil attack is an attack on a peer-to-peer network performed by a single entity generating and acting as multiple fake digital identities.
A Sybil attack is a type of security threat in which a single user attempts to overtake an online network through multiple fake accounts, nodes, or computers. These attacks often occur in peer-to-peer networks where they can gain control of a network, includingsuch inas social media networks or in decentralized systems, where a single user with multiple fake accounts (including bots) can influence or overtake a network. The result of a Sybil attack can provide the attacker with the ability to perform unauthorized actions in a system, including creating several identities whichthat are recognized as real to block other users in a system, gain access to private and sensitive information, and to carry out a 51% attack.
The name of the Sybil attacks originally came from the title of an 1873 book by F. R. Schreiber, Sybil, whose titular character - Sybil Dorsett -character—Sybil sufferedDorsett—suffered from dissociative identity disorder. The term was coined by Microsoft researchers Biran Zill and John R. Douceur, who defined a Sybil attack in the early 2000s in a research paper. The name was chosen as a reference to the psychological case of Sybil Dorsett as outlined in the previously mentioned book.
In order toTo launch a Sybil attack, a perpetrator requires many accounts on a given network, which are used to impersonate legitimate users, while also gaining access to a legitimate account to impersonate a legitimate user. A legitimate account can be accessed by compromising an email address or password. The use of a legitimate account offers the attacker the accountsaccount history whichthat, especially if the user is a trusted user, offers the attacker a chance to create trust for the illegitimate accounts, thereby creating more "trust" around the attacker to allow them greater access to the network.
Sybil attacks are not limited to blockchain -, although with the decentralized nature of blockchains and theretheir relative popularity, Sybil attacks tend to affect them more than other systems. Other than blockchain, these attacks can happen on other P2P networks, such as social media, where an attacker can use fake accounts to create greater implied trust or authority around a main account.
There are a few types of Sybil attacks, whichand helpthe classification helps explain how Sybil attacks work overall. The types of Sybil attacks are generally broken down onaccording to how malicious and authentic nodes communicate on the same network,. andThey tendstend to be classified into either direct or indirect attacks, busy or idle, simultaneous or non-simultaneous, and insider or outsider.
In a direct attack, Sybil nodes directly influence honest nodes on a network, with the malicious nodes communicating with authentic nodes while also mimicking honest nodes. In a direct attack, the real nodes do not realize which, if any, nodes are inauthentic and can therefore be leadled astray, accepting influence from the inauthentic nodes.
In an indirect attack, there will exist a set of nodes which act as middlemen. theseThese unsuspecting nodes will be under the influence of the Sybil nodes, remaining compromised, but keeping the communication between the Sybil nodes and honest nodes indirect. These types of attacks attempt to allow Sybil nodes to influence a network in a more undetectable way than a direct attack.
This type of Sybil attack occurs when only a few Sybil accounts or identities participate in the network, and others remain idle;, and where the power of the attacker comes from the number of identities they hold. The attacker can enhance this type of attack by making these identities appear more realistic, including making them leave and join the network multiple times. This type of attack still requires a certain amountnumber of identities in order to ensure there are enough accounts to perpetuate an attack.
In a simultaneous Sybil attack, the attacker works to use all of their malicious identities at the same time to perform an attack;, or a single node can change its identities in regular time periods to appear as if all the identities are being used at the same time.
In a non-simultaneous attack, an attacker may bring identities into a network slowly over a period of time, and only uses a few identities at a given time. This is often achieved by pretending a certain identity - oridentity—or set of identities - leaveidentities—leaves the network while other malicious identities are loaded on at the same time. This type of attacker can also use several different physical identities where they can switch among other identities on these devices to perform the attack.
One of the more "popular" areas for Sybil attacks areis on blockchains. Becausebecause the blockchain is inherently decentralized and peer-to-peer networks where theare developmentbased ofon multiple identities and can lead to the control of various nodes. And sinceSince the nodes are pseudonymous, there are no clear connections between a given node and an offline entity. This makes it difficult to distinguish between fake nodes and genuine nodes, making a Sybil attack a more inviting avenue for an individual interested in compromising a given blockchain. The attacker can flood the network with the fake identities and fake nodes and mislead honest nodes - withnodes—with sufficient influence on the network - tonetwork—to accept alternative truths on the network.
The vulnerability to Sybil attacks depends on how quickly and cheaply new nodes can be created. If the generation process is free and requires little to no computational effort, launching a Sybil attack can be easy. If the vulnerability is a question of trust, such as a system that places trust in nodes in the network without evidence of the nodes' history of honesty is easier to exploit. However, these vulnerabilities can be reduced, such as requiring an economic cost for node generation, or a system wherein which trustworthiness has to be earned.
Whether a blockchain, or other peer-to-peer or social network, there are several ways to protect against or prevent a Sybil attack. In some cases, the Sybil attack is considered to be fairly easy to avoid with a few simple or, common security practices. Some, ofincluding the most common ways includefollowing:
Many methods of preventing a Sybil attack have nothing to do with making it impossible to create a Sybil node, but ratherthey make it inefficient to make a Sybil node. With oneA mainprimary purpose of the Sybil attack is to manipulate the blockchain for financial gain,. ifIf the cost of creating a node makes it outweigh any potential financial gain, then a Sybil attack is less likely to happen. This is one reason why Bitcoin is rarely targeted for a Sybil attack, becauseattack—because the cost of creating a new block, especially a fake block, is too expensive to make it worth the attack.
Beyond creating an application fee, or a cost of developing a single new node, an effective barrier to Sybil attacks can be to make the action more expensive. This can include requiring users to invest in resources, or show a proof of mining, making the network in this way too expensive to make a Sybil attack worth the effort and cost. However, this can go too far and begin to discourage legitimate users, and some Sybil attackers may be motivated by more than money. and withWith deep enough pockets, they could engage in a Sybil attack by throwing money at the problem until they have successfully attacked the network.
Since Sybil attacks require the creation of various new identities, one potential way of reducing attacks is to create a reputation in which different members have different levels of authority in the network based on their established trust. This means those users who have been in the network longer will be able to perform more interactions, and it discourages attackattacks as this type of network would require a potential Sybil attacker to wait a while and interact honestly in the network for a while to establish that trust, creating another type of cost. This type of system can be difficult to implement, and can place a lot of responsibility in the hands of individual users, but it allows those nodes with trust to override potential Sybil nodes.
In a system where privacy is a concern, and discouraging an attack is not considered to be not enough, the network can work to validate each user's identity. There are several techniques to validate identity. In a blockchain, the network can use direct validation where a central authority validates each identity, or an indirect validation where already-accepted identities vouch for new identities. In direct validation, users are often required to submit information, such as a telephone number, IP address, or a credit card. While this tends to be simple and generally reliable, it can be susceptible to attack through spoofing techniques. Meanwhile, indirect validation can be a little more resistant to identity proxies, but it tends to be more time-consuming when adding a new identity.
Another way to try and prevent Sybil attacks is to ensure that only a single identity is able to control each node. It relies on strict validation for each identity creation, with users required to pass a test to ensure that they are real humans and that they are not in control of other nodes. There are a few ways to achieve this, such as Captcha tests, conversationconversations with other users, or a pseudonym party (which requires users to go to a specific website at a designated time). This works to validate identities without requiring personal identification. However, this type of validation needs to be designed so that it does not frustrate real users but can weed out bots and potential Sybil attacks.
A social trust graph works to analyze connectivity data among nodes. These tools consider the activity within a blockchain, so abnormal nodes can be identified and halted. Depending on the social trust garphgraph, different techniques are used, such as sparsity-based metrics, while others analyze user attributes within a topographical structure. The graph will then try to partition the portion of the network with Sybil nodes and keep them from altering honest nodes.
Sybil attack happens when a single attacker takes control of multiple nodes on a network. Since it is a decentralized network, no one would know that the nodes are being controlled by the same attacker. Such an act would subvert the reputation system of the peer-to-peer network because it allows them to gain a disproportionately large influence.
The proof of work (PoW) used by the Bitcoin network is the Sybil resistance model. To be rewarded, each individual in the network must perform an involuntary and equal amount of computational work. In other words, each Sybil person has to do as much work as every honest person, which makes the Sybil attack too expensive.
In Proof of Stake (PoS), consensus is reached in a network of validators that have "locked" or "stake" a considerable amount of capital for a certain period of time. An attacker who wants to carry out a Sybil attack on the PoS network must block at least the same stake that is blocked by honest validators.
Although the initial cost of an attack may not be immediately obvious (lock capital -> execute attack -> get staked after a certain period), it is assumed that the PoS model works because:
-the amount of capital that the attacker can stake is limited, since the sum of the attacker's stake plus all other stakes cannot exceed the total turnover;
-by performing a Sybil attack, the attacker devalues the public trust (and value) of the underlying protocol/asset, thereby reducing or eliminating any profitability of the attack.
Sybil's attacks are often confused with Eclipse attacks. However, in the latter case, fake IDs do not attempt to completely mislead the network; instead, they drive individual nodes into the network, monopolizing all of their P2P connections. By isolating certain elements, the attack can display a false state of the network to them. Thus, Eclipse attacks affect a small part of the network, while Sybil attacks disrupt the entire network. You can read more about Eclipse attacks here:
People often think that Bitcoin is safe if at least 51 percent of the mining power is honest, but this guarantee is based on the assumption that all parties see valid blocks/transactions. However, Bitcoin relies on its own peer-to-peer network to deliver its information. Therefore, if you control the peer-to-peer network, you control the information flow and then you can control the blockchain. An attacker attacks the Bitcoin peer-to-peer network and uses Eclipse's "obscuring information" attack to undermine the security of Bitcoin.
A Sybil attack is a type of security threat in which a single user attempts to overtake an online network through multiple fake accounts, nodes, or computers. These attacks often occur in peer-to-peer networks where they can gain control of a network, including in social media networks or in decentralized systems, where a single user with multiple fake accounts (including bots) can influence or overtake a network. The result of a Sybil attack can provide the attacker with the ability to perform unauthorized actions in a system, including creating several identities which are recognized as real to block other users in a system, gain access to private and sensitive information, and to carry out a 51% attack.
The Eclipse attack is a means of attacking a decentralized network by which an attacker seeks to isolate and attack a specific user(s) rather than attacking the entire network (as in the Sybil attack). A successful Eclipse attack allows a potential attacker to isolate and subsequently thwart their goal of gaining a true picture of real network activity and the current state of the registry.
The name of the Sybil attacks originally came from the title of an 1873 book by F. R. Schreiber, whose titular character - Sybil Dorsett - suffered from dissociative identity disorder. The term was coined by Microsoft researchers Biran Zill and John R. Douceur, who defined a Sybil attack in the early 2000s in a research paper. The name was chosen as a reference to the psychological case of Sybil Dorsett as outlined in the previously mentioned book.
In order to launch a Sybil attack, a perpetrator requires many accounts on a given network which are used to impersonate legitimate users, while also gaining access to a legitimate account to impersonate a legitimate user. A legitimate account can be accessed by compromising an email address or password. The use of a legitimate account offers the attacker the accounts history which, especially if the user is a trusted user, offers the attacker a chance to create trust for the illegitimate accounts, thereby creating more "trust" around the attacker to allow them greater access to the network.
This attack is made possible because the decentralized network does not allow all nodes to connect to all other nodes on the network at the same time. Instead, for efficiency, the node connects to a selected group of other nodes, which in turn connect to their own selected group.
For example, Bitcoin has 117 incoming TCP connections and a maximum of 8 outgoing TCP connections by default. These connections form a gossip network for the circulation of bitcoin transactions and blocks. The attack only targets Bitcoin nodes that accept incoming connections because not all nodes accept incoming connections.
Sybil attacks are not limited to blockchain - although with the decentralized nature of blockchains and there relative popularity, Sybil attacks tend to affect them more than other systems. Other than blockchain, these attacks can happen on other P2P networks, such as social media, where an attacker can use fake accounts to create greater implied trust or authority around a main account.
There are a few types of Sybil attacks, which help explain how Sybil attacks work overall. The types of Sybil attacks are generally broken down on how malicious and authentic nodes communicate on the same network, and tends to be classified into either direct or indirect attacks, busy or idle, simultaneous or non-simultaneous, and insider or outsider.
In a direct attack, Sybil nodes directly influence honest nodes on a network, with the malicious nodes communicating with authentic nodes while also mimicking honest nodes. In a direct attack, the real nodes do not realize which, if any, nodes are inauthentic and can therefore be lead astray, accepting influence from the inauthentic nodes.
An attacker will seek to capture all of these links. The effort required to achieve this depends on the design, size, and nature of the network, but as a general rule, the attacker must control a botnet of host nodes (each with its own IP address) and develop (essentially through trial and error) neighboring nodes of the intended victims. The next time the victim node logs out and then rejoins the network (dropping their connections and forcing them to find a new set of nodes to connect to), the attacker has a good chance of gaining control of all of the victim's connections.
In an indirect attack, there will exist a set of nodes which act as middlemen. these unsuspecting nodes will be under the influence of the Sybil nodes, remaining compromised, but keeping the communication between the Sybil nodes and honest nodes indirect. These types of attacks attempt to allow Sybil nodes to influence a network in a more undetectable way than a direct attack.
This type of Sybil attack occurs when only a few Sybil accounts or identities participate in the network and others remain idle; and where the power of the attacker comes from the number of identities they hold. The attacker can enhance this type of attack by making these identities appear more realistic, including making them leave and join the network multiple times. This type of attack still requires a certain amount of identities in order to ensure there are enough accounts to perpetuate an attack.
In a simultaneous Sybil attack, the attacker works to use all of their malicious identities at the same time to perform an attack; or a single node can change its identities in regular time periods to appear as if all the identities are being used at the same time.
How do attackers profit from an Eclipse attack?
Once the attacker has quarantined the user by taking control of all outgoing connections, he can exploit them, for example, by performing a double-spend attack with zero confirmation. If user A is an attacker, user B is an isolated host, and user C is another network entity, then user A will be able to send a payment to user C and then send the same transaction to user B. User B does not know that these funds have already been spent because all of their outgoing connections go through user A, who can suppress the information user B receives. User B will accept the coins, and only later, when he connects to the "true" block chain, will he discover that they have been scammed and in fact nothing got.
In a non-simultaneous attack, an attacker may bring identities into a network slowly over a period of time, and only uses a few identities at a given time. This is often achieved by pretending a certain identity - or set of identities - leave the network while other malicious identities are loaded on at the same time. This type of attacker can also use several different physical identities where they can switch among other identities on these devices to perform the attack.
This describes whether a Sybil attacker is inside or outside the attacked network. If the attacker holds at least one real identity, then they are called an insider. Otherwise, if they do not hold a real identity, they are called an outsider. Both types can introduce fake identities. An insider can pretend to communicate with other nodes, including their authentic node, with those fake identities to create greater authenticity around the insider. Whereas, for an outsider, introducing Sybil identities can be more difficult, especially if the network employs some kind of authentication procedure.
One of the more "popular" areas for Sybil attacks are on blockchains. Because the blockchain is inherently decentralized and peer-to-peer networks where the development of multiple identities can lead to the control of various nodes. And since the nodes are pseudonymous, there are no clear connections between a given node and an offline entity. This makes it difficult to distinguish between fake nodes and genuine nodes, making a Sybil attack a more inviting avenue for an individual interested in compromising a given blockchain. The attacker can flood the network with the fake identities and fake nodes and mislead honest nodes - with sufficient influence on the network - to accept alternative truths on the network.
An attacker can also use the eclipse attack to attack the blockchain itself by capturing the mining power of the isolated node(s). The victim, seeing only the registry that the attacker shows, will support this variant of the chain. If an attacker can attack enough users (and keeping in mind that some miners can control significant amounts of hash power), they can create their own chain as a legitimate fork to the "true" ledger. Get enough support and it becomes a ledger.
The vulnerability to Sybil attacks depends on how quickly and cheaply new nodes can be created. If the generation process is free and requires little to no computational effort, launching a Sybil attack can be easy. If the vulnerability is a question of trust, such as a system that places trust in nodes in the network without evidence of the nodes history of honesty is easier to exploit. However, these vulnerabilities can be reduced, such as requiring an economic cost for node generation, or a system where trustworthiness has to be earned.
Whether a blockchain, or other peer-to-peer or social network, there are several ways to protect against or prevent a Sybil attack. In some cases, the Sybil attack is considered to be fairly easy to avoid with a few simple or common security practices. Some of the most common ways include:
Many methods of preventing a Sybil attack have nothing to do with making it impossible to create a Sybil node, but rather make it inefficient to make a Sybil node. With one main purpose of the Sybil attack to manipulate the blockchain for financial gain, if the cost of creating a node makes it outweigh any potential financial gain, then a Sybil attack is less likely to happen. This is one reason why Bitcoin is rarely targeted for a Sybil attack, because the cost of creating a new block, especially a fake block, is too expensive to make it worth the attack.
Beyond creating an application fee, or a cost of developing a single new node, an effective barrier to Sybil attacks can be to make the action more expensive. This can include requiring users to invest in resources, or show a proof of mining, making the network in this way too expensive to make a Sybil attack worth the effort and cost. However, this can go too far and begin to discourage legitimate users, and some Sybil attackers may be motivated by more than money and with deep enough pockets could engage in a Sybil attack by throwing money at the problem until they have successfully attacked the network.
Since Sybil attacks require the creation of various new identities, one potential way of reducing attacks is to create a reputation in which different members have different levels of authority in the network based on their established trust. This means those users who have been in the network longer will be able to perform more interactions, and it discourages attack as this type of network would require a potential Sybil attacker to wait a while and interact honestly in the network for a while to establish that trust, creating another type of cost. This type of system can be difficult to implement, and can place a lot of responsibility in the hands of individual users, but it allows those nodes with trust to override potential Sybil nodes.
In a system where privacy is a concern, and discouraging an attack is considered to be not enough, the network can work to validate each user identity. There are several techniques to validate identity. In a blockchain, the network can use direct validation where a central authority validates each identity, or an indirect validation where already-accepted identities vouch for new identities. In direct validation, users are often required to submit information such as a telephone number, IP address, or a credit card. While this tends to be simple and generally reliable, it can be susceptible to attack through spoofing techniques. Meanwhile, indirect validation can be a little more resistant to identity proxies, but tends to be more time-consuming when adding a new identity.
Another way to try and prevent Sybil attacks is to ensure that only a single identity is able to control each node. It relies on strict validation for each identity creation, with users required to pass a test to ensure that they are real humans and that they are not in control of other nodes. There are a few ways to achieve this, such as Captcha tests, conversation with other users, or a pseudonym party (which requires users to go a specific website at a designated time). This works to validate identities without requiring personal identification. However, this type of validation needs to be designed so that it does not frustrate real users but can weed out bots and potential Sybil attacks.
A social trust graph works to analyze connectivity data among nodes. These tools consider the activity within a blockchain, so abnormal nodes can be identified and halted. Depending on the social trust garph, different techniques are used, such as sparsity-based metrics, while others analyze user attributes within a topographical structure. The graph will then try to partition the portion of the network with Sybil nodes and keep them from altering honest nodes.
An attacker will seek to capture all of these links. The effort required to achieve this depends on the design, size, and nature of the network, but as a general rule, the attacker must control a botnet of host nodes (each with its own IP address) and develop (essentially through trial and error) neighboring nodes of the intended victims. The next time the victim node logs out and then rejoins the network (dropping their connections and forcing them to find a new set of nodes to connect to), the attacker has a good chance of gaining control of all of the victim's connections.
How do attackers profit from an Eclipse attack?
Once the attacker has quarantined the user by taking control of all outgoing connections, he can exploit them, for example, by performing a double-spend attack with zero confirmation. If user A is an attacker, user B is an isolated host, and user C is another network entity, then user A will be able to send a payment to user C and then send the same transaction to user B. User B does not know that these funds have already been spent because all of their outgoing connections go through user A, who can suppress the information user B receives. User B will accept the coins, and only later, when he connects to the "true" block chain, will he discover that they have been scammed and in fact nothing got.
An attacker can also use the eclipse attack to attack the blockchain itself by capturing the mining power of the isolated node(s). The victim, seeing only the registry that the attacker shows, will support this variant of the chain. If an attacker can attack enough users (and keeping in mind that some miners can control significant amounts of hash power), they can create their own chain as a legitimate fork to the "true" ledger. Get enough support and it becomes a ledger.
The Eclipse attack is a means of attacking a decentralized network by which an attacker seeks to isolate and attack a specific user(s) rather than attacking the entire network (as in the Sybil attack). A successful Eclipse attack allows a potential attacker to isolate and subsequently thwart their goal of gaining a true picture of real network activity and the current state of the registry.
This attack is made possible because the decentralized network does not allow all nodes to connect to all other nodes on the network at the same time. Instead, for efficiency, the node connects to a selected group of other nodes, which in turn connect to their own selected group.
For example, Bitcoin has 117 incoming TCP connections and a maximum of 8 outgoing TCP connections by default. These connections form a gossip network for the circulation of bitcoin transactions and blocks. The attack only targets Bitcoin nodes that accept incoming connections because not all nodes accept incoming connections.
In Proof of Stake (PoS), consensus is reached in a network of validators that have "locked" or "stake" a considerable amount of capital for a certain period of time. An attacker who wants to carry out a Sybil attack on the PoS network must block at least the same stake that is blocked by honest validators.
Although the initial cost of an attack may not be immediately obvious (lock capital -> execute attack -> get staked after a certain period), it is assumed that the PoS model works because:
-the amount of capital that the attacker can stake is limited, since the sum of the attacker's stake plus all other stakes cannot exceed the total turnover;
-by performing a Sybil attack, the attacker devalues the public trust (and value) of the underlying protocol/asset, thereby reducing or eliminating any profitability of the attack.
Sybil's attacks are often confused with Eclipse attacks. However, in the latter case, fake IDs do not attempt to completely mislead the network; instead, they drive individual nodes into the network, monopolizing all of their P2P connections. By isolating certain elements, the attack can display a false state of the network to them. Thus, Eclipse attacks affect a small part of the network, while Sybil attacks disrupt the entire network. You can read more about Eclipse attacks here:
People often think that Bitcoin is safe if at least 51 percent of the mining power is honest, but this guarantee is based on the assumption that all parties see valid blocks/transactions. However, Bitcoin relies on its own peer-to-peer network to deliver its information. Therefore, if you control the peer-to-peer network, you control the information flow and then you can control the blockchain. An attacker attacks the Bitcoin peer-to-peer network and uses Eclipse's "obscuring information" attack to undermine the security of Bitcoin.
The proof of work (PoW) used by the Bitcoin network is the Sybil resistance model. To be rewarded, each individual in the network must perform an involuntary and equal amount of computational work. In other words, each Sybil person has to do as much work as every honest person, which makes the Sybil attack too expensive.
Attack done by multiple fake identities
A Sybil attack is an attack on a peer-to-peer network performed by a single entity generating and acting as multiple fake digital identities.