|
Technische Angriffsmöglichkeiten auf Bitcoin
Können Quantencomputer Bitcoin brechen?
|
In "normalen" Computern
werden Algorithmen Schritt für Schritt abgearbeitet. Je schwieriger die
Aufgabe, und je grösser die Zahlen, desto grösser ist der Algorithmus,
und desto länger braucht der Computer.
Kryptographische Aufgaben sind derart schwierig, und die verwendeten Zahlen so unermesslich
gross, dass selbst mit aller irdischen
Rechenkapazität niemals auch nur ein einziger Key aus einer Adresse
berechnet werden kann. Möglichkeiten in der Art, dass Computer in 100
Jahren möglicherweise 1 Million mal so schnell sein werden wie heute,
ändern nichts daran, das Problem wäre in 100 Jahren gleichermassen
unlösbar.
Weiter oben wurde bereits die trivial anmutende Feststellung gemacht, dass der Kern des Problems, bzw.
die Grenze der heute verfügbaren Computertechnik darin besteht, dass
mit wachsender Komplexität der Aufgabe die Zeitdauer für ihre Lösung
ansteigt.
Der entscheidende Punkt ist, dass Quantencomputer genau dieses Problem nicht haben !
Um Bitcoin zu brechen, bringt die Erhöhung der Arbeitsgeschwindigkeit
vorhandener Technik also nichts. Man braucht daher einen vollkommenen
anderen Ansatz.
Was sind Quantencomputer?
Quantencomputer
haben mit heutigen Computern nicht das Geringste zu tun. Es sind
vollkommen andersartige Geräte, und zwar bezüglich
- nutzbar gemachter physikalischer Effekte (Quantenmechanik)
- dahinter stehender mathematischer Methoden
- technologischer Realisierung
"Normale" Computer wurden erfunden, um Aufgaben schneller lösen zu
können. Ob es sich dabei um echte Rechenaufgaben, oder
Datenverarbeitung im Allgemeinen handelt, ist nebensächlich.
Bei Quantencomputern ist die Denkrichtung anders herum:
"In der Physik wurden sehr interessante Effekte entdeckt. Mit denen
kann man ganz tolle Sachen machen. Die Frage ist, wie kann man das
nutzbringend einsetzen?"
Das theoretische Modell "Quantencomputer", insbesondere einige darauf
ausführbare Algorithmen, existiert spätestens seit den 1980er Jahren,
also lange bevor das erste funktionierende Gerät gebaut wurde.
Bereits vor dem ersten funktionierenden Gerät wurden schon Algorithmen
dafür entwickelt, mit denen man aktuelle Probleme schneller lösen kann
als mit "normalen" Computern.
Während bei "normalen"
Computern jedes Bit lediglich mit einer einzigen Null oder Eins belegt
werden, jedes Bit also gleichzeitig nur mit einer Null oder einer Eins
rechnen kann, kann man jedes Bit eines Quantencomputers mit theoretisch
beliebig vielen, sagen wir, Zuständen belegen, und mit allen Zuständen
gleichzeitig rechnen. Diese Bits nennt man Qbits, doch das ist
vollkommen nebensächlich.
Die Arbeitsgeschwindigkeit
von Quantencomputern beruht darauf,
- dass man in ein
Qbit viel mehr Information hineinpacken,
- sich dadurch über mehrere Qbits hinweg unzählige mögliche Zustandskombinationen (-->Verschränkung) ergeben können,
- mit denen man sogar gleichzeitig rechnen kann.
Ein weiterer, noch weit gewichtiger Grund ist, dass durch die Natur, wie Qbits funktionieren, bestimmte Aufgaben der Komplexitätsklasse
NP auf genial einfache Weise, und damit in kürzester Zeit, gelöst
werden können. Alle bei Bitcoin verwendeten kryptographischen Methoden sind davon betroffen.
Die Funktionsweise von Quantencomputern kann man ohne gewisse
Kenntnisse in Physik, Mathematik und Informatik nicht ansatzweise
verstehen. Der Verfasser, selbst Physiker, hat für die einfachen
Grundlagen mehrere Stunden gebraucht. Deshalb soll an dieser
Stelle eine Analogie helfen.
1. Eine Analogie
Angenommen, wir wollten die Untiefen eines Sees kartieren. Mit
"klassischer" Technik würde man den gesamten See Stück für Stück
abfahren, und, abhängig von der verfügbaren Technik, alle Untiefen mehr
oder weniger schnell, jedenfalls nacheinander finden. Wäre der See 10
mal so gross, dann würden wir wahrscheinlich 10 mal so lange dafür
brauchen. Wäre der See sehr tief, dann würden wir vermutlich sehr
viel länger brauchen, weil die Aufgabe dadurch schwieriger wird.
Nun betrachten wir das Ganze aus einem anderen Blickwinkel.
Wir haben einen Zauberstab gefunden. Irgendwann stellt jemand fest,
dass man damit schlagartig beliebige Mengen Wasser verschwinden lassen
kann.
Ab dem Zeitpunkt fragen wir uns, was man damit Nützliches anstellen
könnte, und finden schliesslich durchaus ein paar Anwendungsfälle.
Jeder davon ist sehr speziell, aber alle sind so gut, dass sie bis dato
bekannte Verfahren um Längen schlagen. Ein Anwendungsfall ist die
Kartierung von Untiefen in Gewässern. Durch Gebrauch des Zauberstabs
können wir jedes beliebige Gewässer schlagartig entleeren, sodass wir
alle Untiefen auf einmal zu Gesicht bekommen. Davon machen wir ein Foto, ggfs von einem Satelliten aus.
Bei dieser Methode spielt es kaum eine Rolle, wie gross oder tief das
Gewässer ist, denn auf den Zauberstabsalgorithmus hat beides keine
Auswirkung. Die Verarbeitung aller Informationen bezüglich Untiefen
geschieht parallel, und in diesem Beispiel sogar sehr schnell.
Den Zauberstab mag man gut finden oder nicht, jedenfalls zeigt dieses Beispiel alle wesentlichen Aspekte auf:
- Die Funktionsweise, überhaupt das Beispiel an sich (~ Quantenmechanik), erscheint an den Haaren herbeigezogen.
- Deswegen ist es ein gutes Beispiel.
- Die "Entwicklungsgeschichte" von Quantencomputern: Zuerst wurde
das Verfahren entdeckt (~Quantenmechanische Verschränkung), danach hat
man sich auf die Suche nach dafür geeigneten Aufgaben gemacht.
- Die Zeitdauer für die Lösung der Aufgabe wird wesentlich von der
Natur der Aufgabe bestimmt, ist aber nahezu unabhängig vom Umfang der
Aufgabe.
- Die Lösungsmethode ist Uneingeweihten nur sehr schwer vermittelbar (~ Operationen an quantenmechanischen Zuständen).
- Das Werkzeug ist praktisch sehr schwer herzustellen (Es wird wahrscheinlich nie wirklich brauchbare Quantencomputer geben)
2. Der Algorithmus von Deutsch
David Deutsch fand ca. 1990 einen Algorithmus, der auf heutigen Quantencomputern tatsächlich praktisch funktioniert.
Auf die Analogwelt übertragen kann man es so beschreiben: Dieser Algorithmus kann durch Betrachten lediglich einer Seite einer Münze folgende Fälle unterscheiden:
- Beide Seiten sind gleich (entweder 2 x Kopf oder 2 x Zahl --> Fälschung)
- Beide Seiten sind unterschiedlich (1 x Kopf und 1 x Zahl)
Der Algorithmus schaut sich also lediglich eine Seite an, und weiss dann, welcher der beiden Fälle zutrifft.
Bei diesem tatsächlich funktionierenden Anwendungsfall mag man sich fragen, wozu das gut sein soll.
Aber
immerhin zeigt es, dass der Algorithmus von Deutsch systematisch kürzer
ist als die klassische Methode, die die Betrachtung beider Seiten
erfordern würde.
Dieser
Algorithmus funktioniert genauso schnell für z.B. 10 Münzen: Er schaut
sich von allen Münzen nur jeweils eine Seite an, und das für alle
gleichzeitig, und weiss hinterher, welcher Fall für jede Münze im
einzelnen zutrifft. Wichtig ist, dass in einem einzigen Schritt alle
Münzen gleichzeitig behandelt werden. Jede klassische Methode würde die
Betrachtung beider Seiten aller Münzen erfordern, was in diesem Fall
20 Schritten entspricht.
Dieses
Beispiel zeigt deutlich, dass der Rechenaufwand allein durch die Natur
der Aufgabe bestimmt wird, wohingegen der Umfang der Aufgabe keinen
Einfluss hat.
3. Der Algorithmus von Shor
Etwa
um 2000 fand Peter Shor einen Algorithmus, mit dem man die kryptographischen Verfahren, die Bitcoin nutzt, insbesondere
die SHA256 Hashfunktion, in polynomialer Zeit brechen kann. Dadurch kann
man die eigentlich der Komplexitätsklasse NP zugeordnete SHA256
Hashfunktion mit einem Aufwand brechen, der dem einer der Komplexitätsklasse P
zugeordneten Aufgabenstellung entspricht: Die ursprünglich unlösbare
Aufgabe "Brechen der SHA256 Hashfunktion" würde effizient lösbar.
Die
Folgen für Bitcoin wären auch in diesem Fall dieselben wie bereits zweimal angedeutet, und werden später diskutiert.
Real existierende Quantencomputer
Die heute existierenden Quantencomputer können "normalen" Computern nicht das Wasser reichen. Das hat folgende Gründe:
- Heute praktisch funktionierende Quantencomputer sind viel zu
klein, d.h. die Anzahl Qbits ist viel zu gering, um praktisch
einsetzbar zu sein.
- Die Technik von "normalen" Computern ist so ausgereift, dass sie jede Aufgabe, die heutige Quantencomputer überhaupt lösen könnten, 1. viel schneller, 2. mit vergleichsweise geradezu lächerlichem Aufwand lösen.
- Die Technik heutiger Quantencomputer ist extrem aufwendig, extrem anfällig und extrem instabil.
- Um zu ermitteln, dass 15 durch 3 teilbar ist, braucht man
Laborausrüstung, über die nur wenige Einrichtungen verfügen, einen Stab
von Wissenschaftlern, der das Ganze bedient und überwacht, und das
alles schliesslich für ein Gerät, das lediglich wenige Minuten pro Tag einsatzbereit
ist, und sich dabei meistens sogar verrechnet (sic).
Es ist wichtig zu erkennen,
dass die Methode an sich grundsätzlich funktioniert, ihr praktischer
Einsatz aber am technologischen Stand scheitert.
Grundsätzlich gilt:
Was heute technologisch nicht funktioniert, kann morgen bereits
funktionieren. Daher ist es gefährlich zu sagen, eine bestimmte Technik
wird sich nicht etablieren.
Andererseits verkennt man die Situation vollkommen, wenn man sagt, es
scheitere "lediglich" an der verfügbaren Technologie, und es sei daher nur
eine Frage der Zeit (siehe z.B. Kernfusion).
Im Falle von Quantencomputern muss man grundsätzlich festhalten:
- Es ist selbst auf Jahrzehnte betrachtet kein wesentlicher Fortschritt feststellbar.
- Wenn irgendwo auf der Welt ein Quantencomputer realisiert wird,
dann raunt es durch die Medien, die gelösten Aufgaben sind extrem
einfach, und danach hört man jahrelang nichts mehr.
- Die praktischen Probleme sind so gravierend, dass keine Lösung in Sicht ist.
- Das Hauptproblem ist, die Qbits einerseits vom Rest der Welt
für längere Zeit so abzuschotten, dass sie als quantenmechanische
Objekte existieren können, andererseits sie dennoch von aussen (also
vom Rest der Welt aus) manipulieren zu können (= Rechenoperationen
durchführen).
Nach Einschätzung des Verfassers wird es praktisch verwendbare Quantencomputer nie geben, zumindest nicht im 21. Jahrhundert.
Sollte er sich täuschen: Die Folgen für Bitcoin wären
auch in diesem Fall dieselben wie bereits mehrfach
angedeutet. Dies wird im folgenden Kapitel näher beschrieben.
Datenschutzhinweise