Quantencomputer again

Hallo Roman,

Da das Thema QC im letzten Youtube Video angesprochen wurde (bei dem ich am Ende noch ganz kurz eine Bemerkung im Chat schrieb) und mich dieses Thema doch einigermassen interessiert und etwas beunruhigt, möchte ich das Thema doch noch einmal aufgreifen. Ich weiss, dass das schon öfters diskutiert wurde, aber meines Erwachtens nicht wirklich beantwortet. Wenn ihr daher meinen Beitrag als überflüssig betrachtet, könnt ihr ihn natürlich auch löschen - ich will ja nicht lästig sein.

Einleitend, ich bin kein Experte auf dem Gebiet, ich habe mich aber einmal mit einem Quantenphysiker darüber unterhalten und zumindest ein oberflächliches Verständnis dafür - und natürlich interessiert mich das Thema. Ich kann in einigen Dingen falsch liegen, und wenn, dann sagt mir das bitte, weil es mich ja auch beruhigen würde. Das Einzige, was mich im Moment bei der Frage wirklich beruhigt, ist, dass QC von dieser Leistungsfähigkeit hoffentlich noch in ferner Zukunft liegen; aber es gibt dazu verschiedene Aussagen. Ist halt viel Marketing dabei. Trotzdem wäre mir wohler, wenn man das Problem ernster nehmen würde. Ich selber bin aber natürlich trotzdem von Bitcoin überzeugt, habe auch selber davon (und die Keys alle natürlich auf einem Segelturn verloren :slight_smile: ), und finde eure Arbeit toll, wofür ich mich auch sehr bedanke!

Meinem Verständnis nach wären QC keine Bedrohung für die Blockchain selber, da Hashfunktionen nicht betroffen wären - das hast du ja auch selber gesagt. Aber mit dem Shor Algorithmus wären sie offenbar in der Lage, aus einem public Key den private Key zurückzurechnen, und meines Wissens ginge das auch für elliptische Kurven und im Falle von Schnorr-Signaturen.

Nun sind im Output von Transaktionen bei Segwitt keine public Keys, sondern Hashes von public Keys drin. Die wären also direkt nicht gefährdet. Sobald man aber einen solchen Output ausgeben will, muss man den public Key selber - zusammen mit der Signatur- in den Input der ausgebenden Transaktion reinschreiben, welche dann zuerst in den Mempool kommt. In dem Moment eröffnet sich ein Zeitfenster bis zum nächsten geminten Block (also ca. 10 Minuten), oder je nach Fee auch später, in dem ein QC den private Key berechnen könnte. Schafft er das in dieser Zeit, so könnte er eine konkurrierende Transaktion mit höherer Fee einspielen und die originale Transaktion verdrängen. Natürlich könnte der legitime Owner daraufhin mit einer noch höheren Fee reagieren, und eine „Fee-Spirale“ könnte zur Freude der Miner einsetzen, bis der Zufall entscheidet, welche Transaktion letzlich gemint würde. Immerhin, ein QC müsste schon sehr schnell sein, das umsetzen zu können; ausschliessen kann man das aber nicht. Theoretisch könnte der legitime User seine Transaktion natürlich auch gar nicht in den Mempool geben, sondern direkt minen lassen - was aber keine echte Lösung ist.

Schlimmer sieht es natürlich aus, wenn jemand Address Reuse macht, denn dann liegt der public Key möglicherweise schon vorher in der Blockchain. Immerhin ist das aber eine gewisse „Schuld“ der Owner: man soll ja kein Address Reuse machen.

Es gibt es aber eine Menge von alten UTX0 in der Blockchain, bei denen noch nicht gehashed wurde, z.B. die Million BTCs von Satoshi selber. Diese public Keys sind bekannt und wären somit wohl ein erstes Opfer eines solchen QC Angriffs. Ebenso alle bisher verloren geglaubten BTC aus diesen Zeiten.

Was mich ein wenig beunruhigt - aber ich weiss nicht, ob ich hier richtig liege - ist, dass Taproot kein Hashing der public Keys in den Outputs mehr vornimmt. Der vermeintliche Schutz von Segwitt würde hier also wegfallen. Liege ich da richtig?

Wie gesagt, wenn ich das falsch sehe, korrigiert mich bitte. Man sollte m.E. rechtzeitig quantensichere Algorithmen entwickeln und über einen Softfork anzubieten; wer will, kann dann seine BTCs auf diesen neuen Adressen „in Sicherheit“ bringen. Nachteile dabei sind, dass solche Algorithmen, soweit bis dato bekannt, deutlich mehr Platz und Rechenzeit benötigen, also sehr teuer wären. Ausserdem bin ich nicht sicher, ob man den Komfort von Schnorr Signaturen dann noch hätte. Es wäre wohl auch schwierig, die Fungibility zu erhalten, weil die Adressen wohl deutlich länger wären. Ausserdem löst es natürlich das Problem verlorener Keys und der Satoshi Coins nicht, aber damit (und einem gewissen inflationären Schock dadurch) müsste man wohl leben; die absolute Katastrophe wäre das wahrscheinlich nicht.

QC hätten übrigens auch eine Chance (und hier gehts etwas in Science Fiction rein), denn in der Quantenwelt gilt die non-Cloning Regel: QC können Qubits nicht kopieren, sondern nur bewegen, während klassische Computer ja „Kopiermaschinen“ sind. Das ist aber eigentlich auch genau das, was man von Geld haben möchte und eine der Hauptmotivationen eines Ledgers. QC könnten also direkt das Double-Spend Problem lösen. Allerdings blieben noch einige Probleme offen, nämlich in erster Linie die der Verifikation (was den Quantenzustand kollabieren könnte), was man mit dem Problem vergleichbar ist, die Echtheit einer Münze ohne deren Zertörung zu testen.Trotzdem halte ich es für möglich, dass solche Quantensysteme die Blockchain einmal ablösen könnten - nicht als Ersatz des Bitcoins (denn die Generierung neuer Coins wird damit ja nicht gelöst), sondern um die Transaktionen direkt umzusetzen. Als Konsequenz hätten wir dann in unseren Wallets wieder direkt die (Quanten) Token statt nur der Keys. Das ist aber, wie gesagt, Science Fiction - aber ein Lichtblick, dass QC nicht nur einfach schlecht wären.

Danke nochmals und Grüsse, klaymen

3 „Gefällt mir“