The Sybil Attack

AbstractLarge-scale peer-to-peer systems face security threats from faulty or hostile remote computing elements. To resist these threats, many such systems employ redundancy. However, if a single faulty entity can present multiple identities, it can control a substantial fraction of the system, thereby undermining this redundancy. One approach to preventing these “Sybil attacks” is to have a trusted agency certify identities. This paper shows that, without a logically centralized authority, Sybil attacks are always possible except under extreme and unrealistic assumptions of resource parity and coordination among entities.
Year2002
Link to the paperhttps://www.microsoft.com/en-us/research/wp-content/uploads/2002/01/IPTPS2002.pdf
Relevance scoreVery relevant
Quality score4
LabelsClassic referenceSybil resistance insights

This is the seminal paper defining the notion of a Sybil attack. It also alludes to some nice impossibility results, regarding the difficulties of validating separate identities via “proof of resources”.


Section 1: Introduction

It is tempting to envision a system in which established identities vouch for other identities, so that an entity can accept new identities by trusting the collective assurance of multiple (presumably independent) signatories, analogous to the PGP web of trust [37] for human entities. However, our results show that, in the absence of a trusted identification authority (or unrealistic assumptions about the resources available to an attacker), a Sybil attack can severely compromise the initial generation of identities, thereby undermining the chain of vouchers.

Section 2: formal model

Section 3: results

Three ways to validate an identity:

We will show the following 4 lemmas:

For direct validation, we show:

For indirect validation, we show:

Direct identity validation

If we assume that the resources of any two entities differ by at most a constant factor (i.e. there is a minimum amount of acceptable resources to participate of the network), a local entity can demand proof of a remote entity’s resources before accepting its identity.

However, this leaves us with the following limitation:

💡
Lemma 1: If ρ\rho is the ratio of the resources of a faulty entity ff to the resources of a minimally capable entity, then ff can present g = ρ\lfloor \rho \rfloor distinct identities to local entity ll.

Examples of this “proof of resources”:

To be effective, these resource challenges must be issued to all identities simultaneously:

💡
Lemma 2: If local entity ll accepts entities that are not validated simultaneously, then a single faulty entity ff can present an arbitrarily large number of distinct identities to entity ll. (The resources required for each presentation are used and then freed for the subsequent presentation.)

Indirect identity validation

In addition to accepting identities that it has directly validated using one of the challenge mechanisms described above, an entity might also accept identities that have been validated by a sufficient count of other identities that it has already accepted.

An obvious danger of accepting indirectly validated identities is that a group of faulty entities can vouch for counterfeit identities:

💡
Lemma 3: If local entity ll accepts any identity vouched for by qq accepted identities, then a set FF of faulty entities can present an arbitrarily large number of distinct identities to ll if either 1. |F| ≥ q, or 2. The collective resources available to F at least equal those of q + |F| minimally capable entities. (This case is so that FF can impersonate qq identities, on top of the ones they need to validate their own)
💡
Lemma 4: If the correct entities in set CC do not coordinate time intervals during which they accept identities, and if local entity ll accepts any identity vouched for by qq accepted identities, then even a minimally capable faulty entity ff can present g=C/qg = \lfloor |C| / q \rfloor distinct identities to ll. (Just partition CC into disjoint groups of cardinality qq.)

Thus, multiple entities need to issue their challenges concurrently.

Like Lemma 1, the result of Lemma 4 is that a faulty entity can amplify its influence. A system that can tolerate a fraction φ of all identities being faulty can tolerate only φ/g of all entities being faulty. In some systems, this may be acceptable.