Probleme bei BitCoin – gesellschaftstheoretisch und technisch
Das komplett dezentrale auf kryptographie basierende Zahlungssystem BitCoin hat es in letzter Zeit zu einiger Berühmtheit gebracht. Das Konzept werde ich hier nicht nochmal erklären, das ist z. B. in der Wikipedia nachzulesen.
Die für diese Betrachtung relevanten Haupteigenschaften von Bitcoin sind:
- Das System ist dezentral und völlig unkontrollierbar
- Zahlungen sind nicht umkehrbar
- Neues Geld wird (beschränkt) ständig erstellt und anteilig nach beteiligter Rechenleistung an die aktiven Teilnehmer verteilt
Die Unkontrollierbarkeit wird als Vorteil gesehen – kein Staat kann willkürlich Konten oder Guthaben einfrieren, auch kann kein Staat einfach so Geld drucken. Bitcoins verhalten sich in einigen Aspekten wie Bargeld – insbesondere sind sie weg, wenn sie mal gestohlen werden.
Gesellschaftstheoretisch
Die Unkontrollierbarkeit kann gesellschaftstheoretisch aber auch als Problem gesehen werden: Anonymität und Unkontrollierbarkeit für Kommunikation und Meinungsäußerung finde ich generell gut, auch wenn sie missbraucht werden kann, einfach weil der Nutzen überwiegt und die Gefahren nicht soo groß sind. Bei der Aufklärung von Straftaten sehe ich „follow the money“ statt Kommunikationsüberwachung als guten Ansatz an. Man kann sich natürlich auf den Standpunkt stellen, dass der Staat möglichst wenig Macht haben soll, und es daher gut ist, wenn seine Macht beschränkt wird. Hier wird aber eine sehr wichtige Aufgabe des Staates übersehen: Er soll eine demokratische Kontrolle von Macht sicherstellen und wo nötig „schwache“ vor „starken“ schützen. Verurteilt ein Gericht jemanden, einem anderen z. B. eine Entschädigung für etwas zu zahlen, kann dieser es entweder tun, oder der Gerichtsvollzieher kommt und pfändet. Das – und damit die Durchsetzung des Rechts! – würde deutlich schwieriger, wenn Geld nicht mehr auf Bankkonten sondern auf verschlüsselten und redundanten USB-Sticks liegen würde.
Nimmt man dem Staat jede Macht, hat man zunächst eine Anarchie, letztlich herrschen diejenigen, die Ressourcen kontrollieren oder die Macht haben, andere Menschen unter Druck zu setzen. Mit anderen Worten: Warlords, die in der Lage sind, sich genug Söldner zu mieten und/oder genug Waffen haben. Irgendwo habe ich ein „interessantes“ Szenario gelesen – was, wenn jemand eine Plattform anbietet, wo man per Bitcoin Kopfgelder auf Personen ausschreiben kann? Oder Belohnungen für terroristische Anschläge? Das geht mit „normalem“ Geld nur sehr eingeschränkt, wäre mit Bitcoin aber anonym umsetzbar. Auch wenn reiche Menschen auch in westlichen Demokratien deutlich mehr Macht haben, bietet ein demokratischer Staat eine gewisse Kontrolle. Gibt man diese auf, hat man eine reine Plutokratie – das will man eigentlich nicht.
Die Einführung von Bitcoin als Zahlungsmittel würde den Staat nicht abschaffen, aber seine Position schwächen. Das hat auch Vorteile, man kann es befürworten, und eine abschließende Meinung dazu habe ich nicht – aber es hat eben auch Nachteile, die oft vergessen werden, und die ich daher hier nennen wollte.
Technisch
Die weiteren Probleme sind technischer Art. Das Gesamtkonzept sieht solide aus und da bisher noch keiner einen Fehler darin gefunden hat, dürfte es auch relativ solide sein. Das Geld, was einem gehört, ist über private Schlüssel gesichert – wer diese Schlüssel hat, kann es ausgeben. IT-Kriminalität wird dadurch ein ganz neues Tor geöffnet: Bisher mussten Kriminelle eine Online-Überweisung manipulieren, um ein Bankkonto leerzuräumen. Bei Bitcoin reicht ein simpler Trojaner auf dem Rechner des Opfers. Experten haben gewisse Chancen, ihre Maschinen sicher zu halten – 95% der Computernutzer dürften aber mit IT-Sicherheit hoffnungslos überfordert sein und viele handeln sich regelmäßig Schadsoftware ein. Ergänzung: Dieser Fall, wo genau das mit Bitcoins im Wert von 500.000 USD passiert sein soll, war Anlass für diesen Artikel. Ich gehe davon aus, dass der (Ex-)Besitzer in Sachen Computersicherheit noch auf jeden Fall zu den Top 10% zählt, auch wenn er sehr sehr viel falsch gemacht hat. Update: Heise über Bitcoin-Trojaner.
BitCoin basiert auf einem P2P-Netzwerk. Sollte es jemand schaffen, eine Sicherheitslücke, welche Code Execution (d.h. das Einschleusen von Malware) erlaubt, im Bitcoin-Client zu finden, kann er einen Wurm schreiben, der sich über das Bitcoin-Netz selbst verbreitet und so innerhalb kürzester Zeit alle zu dem Zeitpunkt aktiven Bitcoin-Teilnehmer gleichzeitig hacken und ihre Konten leerräumen. Aber auch wenn die Software selbst sicher sein sollte, kann ein Angreifer über das P2P-Netz herausfinden, wer alles an Bitcoin teilnimmt, inklusive deren IP-Adressen. Sollten die Systeme andere, von außen erreichbare Schwachstellen haben, kann er diese nutzen, um in die Systeme einzubrechen und die privaten Schlüssel zu stehlen – mit denen er dann die Bitcoins an sich überweisen kann.
Ein weiteres Problem ist, dass der Besitz von Bitcoins durch den (alleinigen) Besitz des privaten Schlüssels gekennzeichnet ist. Das Verfahren gilt als sicher, d.h. es ist nicht möglich diese Schlüssel zu knacken – noch. Was aber, wenn in 20 Jahren Quantencomputer existieren oder das Verfahren auf andere Art und Weise geknackt wird? Man kann Bitcoin mit ein paar Schwierigkeiten auf ein neues Verfahren migrieren, aber das muss passieren bevor das alte Verfahren angegriffen wird. Wird das Verschlüsselungsverfahren was in Bitcoin eingesetzt wird geknackt, hat der Angreifer, dem das gelungen ist, die Möglichkeit, Geld aus beliebigen Bitcoin-Konten zu überweisen, und es gibt keine Möglichkeit, Angreifer und legitimen Besitzer mehr zu unterscheiden (wie auch in anderen Fällen, wo der Angreifer den private key gestohlen hat).
Durch das Investieren von Rechenzeit („Mining“) kann man Bitcoins generieren, allerdings ist das ein Zufallsprozess – ein normaler Mensch mit einer einzelnen normalen Grafikkarte (Grafikprozessoren können die nötigen Operationen schneller ausführen als CPUs, mit CPUs rechnen ist nahezu sinnlos) dürfte sehr lange rechnen, bis er Bitcoins sieht. Daher gibt es sogenannte Mining-Pools, bei denen mehrere Menschen zugleich minen und im Erfolgsfall der Gewinn dann auf die Beteiligten aufgeteilt wird. Diese Mining-Pools konzentrieren große Mengen an Rechenleistung. Das ist insofern ein Problem, als dass die Sicherheit des Netzes darauf basiert, dass die Mehrheit der beteiligten Rechenleistung von ehrlichen Teilnehmern kontrolliert wird. Die Pools kontrollieren jeweils über ihre Teilnehmer sehr viel Rechenleistung, und die einzelnen Teilnehmer können nicht (direkt) prüfen, ob der Pool „ehrlich“ arbeitet. Falls einer der großen Pools die Mehrheit der Rechenleistung kontrolliert, könnte er diese missbrauchen. Soweit ich sehe ermöglicht das jedoch „nur“ das doppelte ausgeben von Bitcoins, und es dürfte laut dem Konzept von Bitcoin lohnenswerter sein, die Leistung wie vorgesehen für die Unterstützung des Netzes zu nutzen statt sie zu missbrauchen. Dieses Problem dürfte also nicht allzu groß sein. Sollte allerdings eine Lücke in den Mining-Clients gefunden werden, könnte einer der Pool-Betreiber (oder jemand, der ihn hackt!) die Kontrolle über zahlreiche beteiligte Rechner übernehmen und deren Bitcoin-Börsen plündern.
Da es Geld für Rechenleistung gibt, wird es sicherlich früher oder später Schadsoftware geben, die fremde (übernommene) Rechner benutzt, um Bitcoins zu erzeugen (falls es das nicht schon längst gibt). Wenn Firmen mit großen Rechenzentren wie Amazon, Google oder Facebook sich entscheiden würden, bei Bitcoin einzusteigen, könnten sie wohl allein mit unbenutzten Servern in kürzester Zeit (bevor der Algorithmus die Erzeugung bremst) riesige Mengen an Bitcoins erzeugen (oder das Netzwerk zerstören, wovon sie aber nichts hätten). Diese Möglichkeit könnte gerade in einem Krisenfall die Stabilität der Währung massiv gefährden.
In den Zeiten, wo das Bitcoin-Netz noch klein war, konnten einzelne Personen große Mengen an Bitcoins erzeugen – dadurch haben einige „early adopter“ unglaublich große Geldmengen, und könnten dadurch vermutlich den Kurs massiv beeinflussen. Außerdem ist Bitcoin Ziel von zahlreichen Spekulanten. Der aktuelle Wert der Bitcoins, meist definiert über den Umtauschkurs in USD bei MtGox, kann sich also sehr schnell ändern und ist soweit ich weiß vor einiger Zeit innerhalb eines Tages von 30 USD auf 15 USD gefallen.
Auch die vielgerühmte Anonymität bei Bitcoin ist keineswegs so toll, wie viele glauben – im Gegenteil: Bedingt durch die Dezentralität des Netzes sind alle Transaktionen komplett öffentlich, mit Sender, Betrag und Empfänger. Sender und Empfänger sind jedoch keine Personen, sondern Bitcoin-Konten, und es wird empfohlen, für jede Transaktion ein neues Konto anzulegen. Selbst wenn jemand dieser Empfehlung folgt – wenn ich jemandem Geld schicke, sehe ich, was er damit weiter macht und kann der Spur weiter folgen. Er kann das Geld natürlich an ein weiteres Konto überweisen, und ich weiß nicht, ob es noch ihm oder jemandem anderen gehört. Aber angenommen ich führe meine Überweisung an einen mir bekannten Empfänger X auf Konto 1 durch, und sehe, dass innerhalb von Minuten mein ganzes überwiesenes Geld auf Konto 2 geht, dort drei Tage liegen bleibt, dann ein bestimmter Betrag auf Konto 3 geht und von dort auf ein Sammelkonto 4, was wie bekannt ist einem Pornohändler gehört: Dann kann ich davon ausgehen, dass in einem Versuch, das Geld zu anonymisieren, der Empfänger X sein Geld auf ein zweites Konto (Konto 2) von sich verschoben hat, und sich später davon bei besagtem Pornohändler Pornos zu kaufen, indem er das Geld an die für ihn erstellte Bezahladresse des Händlers (Konto 3) überweist – bevor der Händler es auf sein bekanntes Hauptkonto (Konto 4) zieht. Anhand des Betrages und der Preisliste des Händlers kann ich vielleicht ja sogar sehen, was genau der Kunde gekauft hat. Anonymisierungsdienste (bzw. Geldwäschedienste) sind möglich und existieren, man kann also mit etwas Aufwand Bitcoin anonym nutzen. Bitcoin als „anonym“ zu bezeichnen ist jedoch schlicht falsch. Um die Anonymität muss man sich selbst kümmern, und dafür dürften 95% der Nutzer zu unerfahren sein, viele wissen nicht einmal, dass es eigentlich nötig ist, geschweige denn, wie es geht.
Zusammenfassung
Bitcoin ist also sowohl extrem anfällig für IT-Kriminalität und kann vor allem schlagartig zusammenbrechen, plötzlicher und heftiger als die „schlechten, instabilen, altmodischen“ Währungen und Geldsysteme. Die Halbwertszeit dürfte sogar darunter liegen. Als Zahlungssystem könnte Bitcoin, sobald sich der Wert etwas stabilisiert hat, sogar taugen, als alternatives Weltwährungssystem eher nicht. Bei einem Zusammenbruch westlicher Währungen könnte es natürlich sein, dass Menschen anfangen, es als Ersatz zu nutzen, weil man außer Naturalien nichts anderes hat (und darauf dürften auch einige der Bitcoin-Spekulanten spekulieren). Eine langfristige Lösung ist das aber nicht.
An dieser Stelle möchte ich anmerken, dass ich Bitcoin unter theoretischen Gesichtspunkten extrem gut finde: Technisch ist es eine bemerkenswerte Leistung – in einem dezentralen Netzwerk ohne zentrale vertrauenswürdige Stelle ein System mit solchen Sicherheitseigenschaften und darauf basierend ein Zahlungssystem aufzubauen, was das doppelte Ausgeben von Geld verhindert, kontrollierte Inflation beinhaltet, einen gewissen Grad an Anonymität bietet und zumindest vom Konzept her sicher ist, ist schlicht und einfach eine reife Leistung. Das Konzept ist solide und hat sogar praktische Anwendungen. Nur der darin gesetzte Hype ist übertrieben und man sollte sich davor hüten, die Probleme auszublenden und ein solches System als die ultimative Lösung für die Geldsystemproblematik anzusehen.
„Durch das Investieren von Rechenzeit („Mining“) kann man Bitcoins generieren, allerdings ist das ein Zufallsprozess“
Wo kommt der Zufall dafür her?
Du versuchst einen Wert X zu finden, sodass der Hash von irgendwas vorgegebenen verkettet mit diesem Wert eine bestimmte Form hat. Solange die Hashfunktion sicher ist, kannst du nur wild raten, d.h. du probierst verschiedene Werte für X aus, berechnest den Hash und schaust ob/hoffst dass es der richtige ist. Liegst du daneben, nimmst du halt einen anderen und probierst es nochmal. Wenn du Glück hast ist der erste Versuch ein Treffer, wenn du Pech hast, dauerts ewig.
Wer lässt denn 500.000$ einfach so rumliegen? Dass das unsicher ist, ist kein Problem der Bitcoins! Oder würdest du 15 kg Gold einfach so (nicht im Tresor, sondern offen zugänglich) in deiner Wohnung rumliegen lassen?!
Wenn sich Bitcoins als Zahlungsmittel durchsetzen, wird es auf dem Markt vermutlich eine Lösung dieser Art geben: Es wird sich eine „Bank“ etablieren, die (größere Mengen deiner) Bitcoins aufbewahrt, und dafür großen sicherheitstechnischen Aufwand betreibt. Nur gegen Identifizierung (PIN/TAN o.ä.) bekommst du sie dann in deine lokale Wallet ausbezahlt.
Und wenn ich deine 4-stellige PIN in die Finger bekomme, sind deine BitCoins trotzdem weg.
Wenn BitCoin als Alternative zu Papierwährung, dann brauchen wir kleine Microcomputer mit so LCD-Anzeige und Nummernpad-Tastatur. Dort müssen die BitCoins gelagert werden und Auszahlen geht nur über die Nummernpad-Tastatur. Das Protokoll (USB-Anschluss oder Ethernet) muss so simpel gestrickt sein, dass da einfach keine Sicherheitslücken drin sein KÖNNEN (ich hatte mal sowas gemacht, um zwischen einem suidroot-Prozess und seinem abgeforkten Tochterprozess, der wieder unter normaler Nutzerkennung läuft eine Kommunikation zu realisieren – Protokoll sah so aus: suidroot-Prozess schreibt ein Byte (egal welches) Child Antwort mit einem unsigned long (das war der Puffer-Füllstand) – selbst wenn da Unsinn ankommt, führt das nur zu falscher Annahme über den Pufferfüllstand – 0xffffffff war übrigens „voll“ und 0x00000000 „leer“).
Aber die gesellschaftlichen Probleme sind ernst zu nehmen.
Die Beschlagnahme von Bargeld ist heute genau so ein Problem wie bei Bitcoins.
„BitCoin basiert auf einem P2P-Netzwerk. Sollte es jemand schaffen, eine Sicherheitslücke, welche Code Execution (d.h. das Einschleusen von Malware) erlaubt, im Bitcoin-Client zu finden, kann er einen Wurm schreiben, der sich über das Bitcoin-Netz selbst verbreitet und so innerhalb kürzester Zeit alle zu dem Zeitpunkt aktiven Bitcoin-Teilnehmer gleichzeitig hacken und ihre Konten leerräumen.“
-> Die Schnittstellen sind extrem einfach gehalten um eben genau solche Angriffe zu verhindern. Der Client, der online ist, sollte auch niemals über größere Summen verfügen. Wegen anderer Angriffsvektoren schon. Soll ja Early Adopter geben, die auf ihrem Laptop ohne Passwort tausende BTC rumschleppen, aber die sind doch selber schuld.
„Was aber, wenn in 20 Jahren Quantencomputer existieren“
Elliptische Kurven sind nicht anfällig für Quantencomputer. Klar kann das Verfahren schwach werden, aber das wird langsam von statten gehen wie bei anderen Verfahren vorher auch. Eine Challenge wird gewonnen, wo *ein* privater Schlüssel berechnet wird, … und das Verfahren wird weiterentwickelt.
„Falls einer der großen Pools die Mehrheit der Rechenleistung kontrolliert, könnte er diese missbrauchen.“
Ja, kann er. Wenn er es aber übertreibt, werden seine „Sklaven“ zu einem anderen Pool wechseln.
„Soweit ich sehe ermöglicht das jedoch „nur“ das doppelte ausgeben von Bitcoins“
Doppeltes Ausgeben ist Betrug. Der Empfänger der Zahlung wird dagegen vorgehen. Das doppelte Ausgeben lässt sich nicht heimlich machen. In Bitcoin ist nichts verschlüsselt.
Ich sehe ein größeres Potential im Verweigern von „fremden“ Blöcken, womit man mit 50% Rechenleistung 100% der Geldausschüttung absahnen kann. Wenn man vom Mehrgewinn nur 10% abgibt, ist man schnell der Pool, wo man effektiver mined, als andere Pools, was halt leider auch Nutzer anlockt.
„Da es Geld für Rechenleistung gibt, wird es sicherlich früher oder später Schadsoftware geben, die fremde (übernommene) Rechner benutzt, um Bitcoins zu erzeugen (falls es das nicht schon längst gibt).“
Gibt es.
„Wenn Firmen mit großen Rechenzentren wie Amazon, Google oder Facebook sich entscheiden würden, bei Bitcoin einzusteigen, könnten sie wohl allein mit unbenutzten Servern“
Nein, könnten sie nicht. All diese Internetfirmen haben keine Grafikkarten. Ihre Hash-Performance ist mickrig. Rechne mal nach. https://en.bitcoin.it/wiki/Mining_hardware_comparison dürfte hilfreich sein.
„in kürzester Zeit (bevor der Algorithmus die Erzeugung bremst) riesige Mengen an Bitcoins erzeugen (oder das Netzwerk zerstören, wovon sie aber nichts hätten).“
Selbst *wenn* jemand die Performance des Netzwerks auf einen Schlag zu Beginn einer neuen Difficulty aufdoppelt, könnte er lediglich die nächste Iteration von 2016 Blöcken, die normal im Schnitt 10 Minuten dauern auf 5 Minuten reduzieren. In der Summe wären das also 7 Tage statt 14 Tagen.
Er könnte damit für die nächste Iteration wieder aussteigen und den Rest des Netzes die höhere Difficulty ausbaden lassen. Die würden dann 28 Tage brauchen. Juhuu. Viele Gamer würden abschalten, weil sich der Strom nicht rechnet. Die eigentlichen Miner würden sicher weiter machen, aber vielleicht verlängert sich die Iteration auf 50 Tag. 40 Minuten zur Bestätigung einer Transaktion. Tolle Sache, aber mei … geht vorbei :)
Ja, wenn jemand solche Rechenleistungen nach Belieben zu und wegschalten kann, kann er das System zum oszillieren bringen. Aber bitte zeig mir mal, wer solche Rechenleistungen zur Verfügung hat.
„Um die Anonymität muss man sich selbst kümmern“
Was für eine Erkenntnis. Ja, das ist richtig. Einmaliges Verschieben genügt aber für eine plausible Abstreitbarkeit.
Nö. Bargeld liegt an einer Stelle, dort kann man es beschlagnahmen. Klar kann es gut versteckt sein, aber es ist immer noch nur an einer Stelle.
Bitcoins liegen auf n verschlüsselten USB-Sticks, wenn du n-1 davon einsackst stört mich das nicht, ich komm immer noch an mein Geld, und da sie verschlüsselt sind, kannst du mir selbst wenn du ALLE Sticks findest das Geld zwar wegnehmen, es aber nicht benutzen.
Anderer Meinung: http://en.wikipedia.org/wiki/Elliptic_curve_cryptography#Quantum_computing_attacks
(„Elliptic curve cryptography is vulnerable to a modified Shor’s algorithm for solving the discrete logarithm problem on elliptic curves.“, mit Quellenangaben)
Stimmt, interessanter Angriff. Die anderen Sachen durch 50% Rechenleistung hab ich ja auch als eher unwahrscheinlich drin.
Amazon hat Grafikkarten. Und auch wenn eine GPU (2000 MHash/s) gleich 20 CPUs (100 Mhash/s) ersetzt, diese Firmen haben VIELE CPUs. Und wenn sie minen würden, würden sie die Bitcoins für andere auch massiv verknappen.
Huiuiui :) Ein Jahr später und ich bin immer noch stolzer Besitzer einiger Bitcoins und überzeugt, dass Bitcoins binnen 1-2 Jahren eine große Rolle spielen werden. Es juckt mich, all Deine Kritik zu widerlegen oder zumindest zu relativieren, aber mir ist nicht so ganz klar, ob das überhaupt noch jemand (incl. Dir) liest ;)
Ich hab’s gelesen :-P
Ja nu, was soll ich jetzt mit dem Kommentar anfangen? Einer hats gelesen und ich weiß nichtmal, ob einer ein Bitcoin Fan oder Kritiker ist. Findest Du den OP schlüssig und willst ne Gegenmeinung hören? Ein Leser in 20 Tagen ist’s fast nicht wert.
Ich liebe nach wie vor das BitcoinDrama. Ein Scammer mit ? sitzt grad auf 500,000 Bitcoins und alle warten fieberhaft, ob er zahlt, nachdem er eine Woche im Verzug ist.
Heute hab ich mich von einigen Bitcoins getrennt bei $10.55. Jetzt steht er bei $11.20. Gnah.