Das Quantenproblem: Was zum Teufel ist Quantencomputing?

Bitcoin Magazin
Das Quantenproblem: WTF ist Quantencomputing?
Was ist Quantencomputing? Worin unterscheidet sich ein Quantencomputer von einem herkömmlichen Computer? Was hat das mit Bitcoin zu tun?
Neue Bitcoin-Nutzer stoßen unweigerlich auf diese Fragen und müssen sich mit den Problemen auseinandersetzen, die sie im Hinblick auf Bitcoins Anfälligkeit für eine durchaus existenzielle Bedrohung aufwerfen: der Entwicklung eines funktionsfähigen Quantencomputers.
Dass man Bitcoin besitzen kann, beruht auf der grundlegenden Annahme, dass nur die Person, die über einen privaten Schlüssel verfügt, mit den durch diesen Schlüssel gesicherten Coins Transaktionen signieren kann – solange niemand sonst direkt eine Kopie des Schlüssels erhält. Quantencomputing stellt diese Annahme infrage.
Quantencomputer sind nicht einfach nur „Computer, aber schneller“. Sie funktionieren auf grundlegend andere Weise als klassische Computer und sind deshalb beiganz bestimmten Arten von Berechnungendeutlich effizienter. Natürlich werde ich hier nicht auf vier Seiten im Detail erklären, wie Quantencomputer funktionieren. Ich werde dir aber die grundlegende Vorstellung davon vermitteln, worin sie sich grundsätzlich von klassischen Computern unterscheiden.
Schauen wir uns also an, wie beide Arten von Computern mit Dingen wie großen kryptografischen Schlüsseln umgehen.
Klassische Computer
Alles, was in einem klassischen Computer (oder ab jetzt einfach: Computer) gespeichert ist, wird als Folge von Einsen und Nullen abgelegt. Jede Bit (1 oder 0) ist genau eine 1 oder eine 0; es gibt keine Mehrdeutigkeit. Wenn Daten gespeichert werden, bestehen sie aus 1en und 0en. Wenn Daten verarbeitet oder verändert werden, geschieht das Bit für Bit, Schritt für Schritt, für jede einzelne 1 oder 0.
So funktioniert ein Computer. Er verändert die diskreten, eindeutigen Datenelemente, die er speichert, linear und Schritt für Schritt, eines nach dem anderen. Er kann keine Schritte überspringen oder abkürzen (bezogen auf die Schritte, die er ausführt, nicht auf mathematisch effizientere Vorgehensweisen); er muss die Schritte der jeweiligen Berechnung einzeln durchlaufen.
Wenn du mit einem Computer einen privaten Schlüssel erzeugst, ermittelt er einen Zufallswert (etwa durch Würfeln, allgemeine Nutzereingaben oder Zufallswerte der Gerätehardware) und speichert diesen im Arbeitsspeicher als 1en und 0en. Anschließend muss er diesen Wert mit dem Generatorpunkt der elliptischen Kurve multiplizieren, um einen öffentlichen Schlüssel zu erhalten. Das geschieht mithilfe eines Algorithmus, der auf seine grundlegendste Ebene heruntergebrochen buchstäblich aus Anweisungen besteht, welche Bits zu verwenden und wie sie zu verändern sind und durch welche Schaltungen sie auf physischer Ebene „geschickt“ werden müssen, um dies zu erreichen. Am Ende wird der neue, Bit für Bit veränderte Wert wieder im Arbeitsspeicher abgelegt.
Es sind noch weitere Schritte nötig, um eine tatsächlich gültige Adresse zu erhalten. Für die Zwecke dieses Artikels müssen wir darauf jedoch nicht näher eingehen (sie ähneln dem oben beschriebenen Schritt: Es handelt sich lediglich um Schritt-für-Schritt-Anweisungen dazu, wie die 1en und 0en im Arbeitsspeicher verändert werden).
Was wäre also, wenn jemand mit einem Computer versuchen wollte, den privaten Schlüssel einer anderen Person zu erraten?
Es gibt 2256 mögliche private Schlüssel. Das sind 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 verschiedene mögliche Schlüssel.
Ein Computer müsste jeden einzelnen dieser möglichen privaten Schlüssel ausprobieren, einen nach dem anderen (oder so viele auf einmal, wie er parallel verarbeiten kann), Schritt für Schritt nach den genauen Anweisungen oben zur Generierung von Schlüsseln. Je mehr davon du parallel überprüfen lässt, desto mehr Rechenleistung brauchst du – und es gibt keine Möglichkeit, diese Kosten durch Abkürzungen zu umgehen.
Je weniger Rechenleistung du verwenden möchtest, desto länger dauert es. Je kürzer es dauern soll, desto mehr Rechenleistung brauchst du.
Diese Aufgabe ist mit einem Computer unmöglich zu bewältigen. Auf der einen Seite steht ein Rechenaufwand, den kein Computer auf der Erde bewältigen kann, und auf der anderen Seite ein Zeitaufwand, der so hoch ist, dass jeder Stern im Universum erlöschen würde, bevor du alle Schlüssel überprüft hättest.
Um dein Ziel tatsächlich zu erreichen, brauchst du eine andere Möglichkeit, als die Schlüssel linear einzeln oder parallel zu überprüfen. Hier kommt Quantencomputing ins Spiel.
Quantencomputer
Quantencomputer arbeiten nicht mit diskreten Zuständen. Alles ist genau eine 1 oder eine 0. Die grundlegendste Informationseinheit in einem Quantencomputer ist ein Qubit (die Quantenvariante eines Bits). Anders als ein Bit befindet sich ein Qubit in einer Superposition wobei es gleichzeitig sowohl eine 1 als auch eine 0. Es nimmt erst dann einen der beiden diskreten Zustände an, wenn es beobachtet wird.
Dies ist einer der wichtigsten Bausteine, die es einem Quantencomputer ermöglichen, anders zu rechnen. Der andere ist die Verschränkung. Qubits werden nicht einfach isoliert gespeichert; die physikalischen Atome, die sie repräsentieren und bei der Beobachtung in einen diskreten Zustand kollabieren, sind verschränkt miteinander. Das bedeutet: Wenn verschränkte Atome beobachtet werden und in einen einzigen Zustand kollabieren, kollabieren die verschränkten Atome in denselben Zustand, egal, wie weit sie voneinander entfernt sind.
Jetzt wird es seltsam, und ich muss etwas vage bleiben; trotzdem solltest du ein intuitives Verständnis dafür mitnehmen, warum sich Quantencomputer grundlegend von klassischen Computern unterscheiden. Ein Algorithmus auf einem klassischen Computer ist eine Abfolge von Anweisungen, die eine bestimmte Menge von Bits nimmt und sie Schritt für Schritt gemäß den Anweisungen des Algorithmus verändert, bis der Vorgang abgeschlossen ist und die fertige Menge neuer Bits ausgegeben wird. Der Algorithmus wandelt also Schritt für Schritt einen diskreten Zustand in einen anderen um.
Qubits speichern keine diskreten Zustände, bis sie beobachtet werden und in einen davon kollabieren. Sie speichern Wahrscheinlichkeiten. Wenn du eine beliebig große Menge verschränkter Qubits hast (wie in diesem hypothetischen Fall 2256), hat jeder mögliche Zustand, in den sie kollabieren kann, eine bestimmte Wahrscheinlichkeit dafür, dass sie in diesen Zustand kollabiert.
Quantenalgorithmen sind keine Schritt-für-Schritt-Anweisungen zur Verarbeitung diskreter Zustände, sondern eine Reihe von Anweisungen dazu, wie man auf diese verschränkten Qubits so einwirkt, dass sich die Wahrscheinlichkeiten verschiedener Ergebnisse verändern. Konstruktive Interferenz wird verwendet, um die Wahrscheinlichkeit eines korrekten Ergebnisses zu erhöhen, und destruktive Interferenz um die Wahrscheinlichkeit falscher Ergebnisse zu verringern (beachte, dass dies NICHT das Rauschen oder die Interferenz ist, die es physischen Quantencomputern erschwert, korrekt zu funktionieren – das ist ein anderes Konzept).
Während ein klassischer Computer also jeden einzelnen privaten Schlüssel nacheinander prüfen müsste, um den zu finden, der zu einem bestimmten öffentlichen Schlüssel passt, kann ein Quantencomputer mit dem richtigen Algorithmus einfach ein paar Berechnungen durchführen und zur richtigen Antwort gelangen. Es tut dies nicht dadurch, dass er „alle Möglichkeiten auf einmal überprüft“. Er verändert lediglich die Wahrscheinlichkeiten dafür, in welchen Zustand eine Superposition kollabiert.
Deshalb könnte ein Quantencomputer die Annahmen brechen, auf denen die Kryptografie mit elliptischen Kurven beruht, während ein klassischer Computer das nicht könnte (und deshalb sind Quantencomputer auch nur für bestimmte Arten von Berechnungen mit einem riesigen Suchraum möglicher Antwortkandidaten nützlich, den es zu überprüfen gilt).
Keine Panik
Dieser grundlegende Unterschied zwischen klassischer und Quantenberechnung bedeutet: Ja, wenn tatsächlich ein brauchbarer Quantencomputer gebaut wird, der korrekt funktioniert, ist die Annahme, auf der die Sicherheit der einzelnen Bitcoins aller Bitcoin-Nutzer beruht, hinfällig. All diese Gelder sind dann nicht mehr sicher.
Ja, das ist ein ernstes Risiko, wenn ein solches Gerät tatsächlich hergestellt wird und funktioniert. Doch wir sind nicht völlig unvorbereitet. Wir verstehen das Problem und die damit verbundenen Risiken, und eine ganze Reihe möglicher Lösungen für die verschiedenen Aspekte des Problems nimmt Gestalt an.
Atme tief durch und entspann dich. Im weiteren Verlauf dieser Ausgabe führen wir dich Schritt für Schritt durch das gesamte Problem.
Dieser Beitrag ist in der neuesten Printausgabe des Bitcoin Magazine, „The Quantum Issue“, zu finden. Hier geben wir vorab einen Einblick in die Ideen, die in der gesamten Ausgabe behandelt werden.
Dieser Beitrag „The Quantum Issue: Was zur Hölle ist Quantencomputing?“ erschien zuerst im Bitcoin Magazine und wurde von Shinobi verfasst.
Quelle: BitcoinMagazine