Kurz gesagt
- Eine Sybil-Attacke ist ein Angriff auf Bitcoin oder andere Netzwerke.
- Der Angreifer erzeugt massenhaft falsche Identitäten, um eine Mehrheit vorzutäuschen.
- Bitcoin schützt sich mit Proof of Work dagegen.
Was ist eine Sybil-Attacke?
Im Beitrag über das Problem der byzantinischen Generäle ging es darum, dass einzelne Teilnehmende eines Netzwerks unehrlich sein können. Bei einer Sybil-Attacke geht ein unehrlicher Teilnehmer noch einen Schritt weiter: Er vervielfältigt sich selbst. Mit vielen falschen Identitäten verschafft er sich ein Stimmgewicht, das ihm nicht zusteht, und verfälscht so die gemeinsame Entscheidung des Netzwerks.
Der Name geht auf das Buch «Sybil» aus dem Jahr 1973 zurück, in dem eine Frau mit vielen verschiedenen Persönlichkeiten beschrieben wird. Der Informatiker John Douceur übernahm ihn 2002 für diese Art von Angriff.
Ein Beispiel
Eine Einigung im Netzwerk setzt eine ehrliche Mehrheit voraus. Nehmen wir drei Teilnehmende, die abstimmen: zwei ehrliche, die angreifen wollen, und einen Verräter, der den Rückzug will. Bei einer fairen Abstimmung steht es 2 zu 1 für den Angriff.
Jetzt erzeugt der Verräter zwei zusätzliche, gefälschte Identitäten. Statt einer Stimme für den Rückzug erhalten die anderen nun drei. Es steht 3 zu 2 für den Rückzug – der Verräter hat sein Ziel erreicht, obwohl er allein ist.
In einem Computernetzwerk ist das besonders einfach: Eine neue Identität ist nur ein weiterer Eintrag, ein weiterer Rechner oder ein weiteres Programm. Ohne Gegenmassnahmen könnte ein Angreifer Tausende davon erzeugen.
Wie man sich schützt
Das Netzwerk muss sicherstellen, dass jede echte Teilnehmerin nur eine Stimme hat. Bei politischen Wahlen übernimmt das eine zentrale Stelle: Der Staat stellt Ausweise aus und führt das Stimmregister. Eine Blockchain wie Bitcoin hat aber keine zentrale Stelle. Statt ihrer Identität müssen die Teilnehmenden deshalb beweisen, dass hinter ihrer Stimme echte Mittel stehen. Die Frage lautet nicht «Wer bist du?», sondern «Was setzt du ein?». Wer sich vervielfältigt, muss seine Mittel auf alle Identitäten aufteilen – und gewinnt dadurch nichts.
Proof of Work
Bei Bitcoin zählt die Rechenleistung. Wer einen Block erstellen will, muss durch Mining nachweisen, dass er echte Rechenarbeit geleistet hat. Spezialgeräte und Strom kosten Geld. Tausend falsche Identitäten ohne Rechenleistung haben zusammen kein Gewicht; eine einzige mit viel Rechenleistung hat viel Gewicht. Sich zu vervielfältigen, bringt also nichts.
Proof of Stake
Andere Kryptowährungen nutzen Proof of Stake. Dort wird ausgewählt, wer den nächsten Block erstellt, je nachdem, wie viele Münzen jemand als Pfand hinterlegt hat. Wer mehr hinterlegt, hat grössere Chancen. Auch hier lohnt sich eine Sybil-Attacke nicht, weil das Pfand auf alle Identitäten aufgeteilt werden müsste. Der Nachteil: Wer am meisten besitzt, hat auch am meisten Einfluss.
Wie sich Bitcoin gegen das doppelte Ausgeben derselben Münze schützt, erkläre ich in Was ist ein Doublespend?