Sind bitcoins gefährlich? Vortrag im Rahmen der Reihe Datenschutz und IT-Sicherheit an der Fakultät für Informatik und Mathematik 29.6.2011 Prof. Dr. Jochen Hertle
Ein Blog Beitrag vom 15.5.2011 löst umfangreiche Berichterstattung in den Medien aus [ Auszug ] After month of research and discovery, we ve learned the following: 1. Bitcoin is a technologically sound project. 2. Bitcoin is unstoppable without end-user prosecution. 3. Bitcoin is the most dangerous open-source project ever created. 4. Bitcoin may be the most dangerous technological project since the internet itself. 5. Bitcoin is a political statement by technotarians (technological libertarians).* 6. Bitcoins will change the world unless governments ban them with harsh penalties. Quelle siehe (1) p. 2
Reaktion des Bundesverbands der Digitalen Wirtschaft (BVDW) am 1.6.2011 BVDW warnt Verbraucher und Händler vor Bitcoins als Zahlungsmittel [ ] Durch die Nutzung von Bitcoins als Zahlungsmittel wird die notwendige Kontrolle durch den Staat in den Fällen von Steuerhinterziehung oder Geldwäsche unmöglich. Deswegen sind Bitcoins schlichtweg gefährlich und haben das Potenzial, der gesamten Gesellschaft eben durch Steuerhinterziehung, Geldwäsche oder andere illegale Geschäfte nachhaltig zu schaden. [ ] Wir gehen davon aus, dass Ersatzwährungen wie Bitcoins über kurz oder lang auch durch den Gesetzgeber verboten werden, weil er sich in der Verantwortung sieht, seine Bürger und die Gesellschaft weitreichend zu schützen. Quelle siehe (2) p. 3
Ursprungsidee für bitcoins Paper von Satoshi Nakamoto von 2008: Bitcoin: A Peer-to-Peer Electronic Cash System (3) Vermutlich ist Satoshi Nakamoto ein Pseudonym. Die Idee für bitcoins ist jedoch sowohl technisch/kryprografisch sehr fundiert als auch revolutionär In dem Paper wird beschrieben Die Kryptografie zur Absicherung der Transaktionen Die Erzeugung von Vertrauen durch gesicherte Zeitstempel und damit eines Beweises für die korrekte Reihenfolge von Transaktionen Ein reines Peer-to-Peer (P2P) Verfahren zur Erzeugung dieser vertrauenswürdigen Zeitstempel Regeln für das P2P Netzwerk, um das Zahlungssystem komplett zu machen Ein Verfahren zur Erzeugung einer von vorneherein begrenzten Geldmenge im System Verfahren zur Optimierung des Ressourcenverbrauchs bei den Peer-Nodes Berechnungen, die beweisen, dass das Ganze funktioniert p. 4
Transaktionen Die Weitergabe von bitcoins erfolgt über eine gesicherte Kette von öffentlich gemachten Transaktionen p. 5 Abbildung aus (3)
Gesicherte, öffentliche Transaktionen Öffentlicher Schlüssel = Nummer der Geldbörse (Kontonummer) für den Geldeingang Zum Weitergeben muss man mit dem privaten Schlüssel signieren Privater Schlüssel = Lizenz zum Geldausgeben Der Hash beinhaltet die gesamte Vergangenheit des bitcoins Die Liste aller Transaktionen ist öffentlich und in einer verteilten Datenbank bei allen Peer-Nodes gespeichert Probleme: 1.) Wie verhindert man das double-spending, d.h. ein Teilnehmer gibt dieselben bitcoins zweimal aus? 2.) Falls zwei unterschiedliche Transaktionen zum selben bitcoin existieren, welche ist die Richtige? 3.) Wie verhindert man, dass Belege für Transaktionen im Nachhinein geändert werden? p. 6
Vertrauen durch Proof-of-Work Jede neue Transaktion wird in das P2P-Netzwerk ge-broadcastet Alle Peers prüfen die Signaturen und machen sich daran, diese Transaktion in einen neuen Block von Transaktionen einzubauen und mit einem SHA-256 Hash zu versehen Dabei muss der Hashwert unter einer vorgeschriebenen Grenze ( target bzw. difficulty ) liegen. Der Block enthält dafür eine Zufallszahl, die so lange variiert wird, bis sich ein Hashwert < target einstellt Sobald dieser Hashwert gefunden wird, gilt dieser Block als geprüft und vertrauenswürdig Die Peers einigen sich alle 2 Wochen auf einen neuen Wert für difficulty, so dass die Rechenleistung aller Peers gerade ausreicht um etwa alle 10 Minuten einen neuen gültigen Block zu generieren Bei steigender Rechenleistung und Anzahl Peers wird der Wert für difficulty hochgesetzt. Die 10 Minuten bleiben dadurch konstant. p. 7
Verkettung von Blöcken fixiert die Vergangenheit Vergangene Transaktionen können nicht mehr verändert werden, da man alle Blöcke danach auch ändern müsste Die verketteten Blöcke legen auch die Reihenfolge der Transaktionen fest Abbildung aus (3) Nur wer dieselbe oder eine größere Rechenleistung aufbringt als das Netz der kooperierenden Peers kann einen gültigen Block schneller generieren und damit den Inhalt der Kette verändern In diesem Sinne ist diese Methode ein verteilter Timestamping-Server, dessen Vertrauenswürdigkeit durch die Masse an Rechenleistung entsteht p. 8
Steuerung der Geldmenge Derjenige Peer, der den gültigen Hash eines Blocks gefunden hat, bekommt neue bitcoins ausgeschüttet Für die ersten 210.000 Blöcke gibt es je 50 bitcoins Für die nächsten 210.000 Blöcke nur noch 25. Dann 12, usw. Die gesamte Geldmenge ist per System-Design auf 21 Mio bitcoins begrenzt und die Ausschüttung wird bis zum Jahr 2140 dauern Bis dato wurden etwa 134.000 Blöcke erzeugt und 6,7 Mio bitcoins gefördert Durch die Ausschüttung von bitcoins an rechnende Peers wird es für Teilnehmer attraktiv, Rechenleistung zur Verfügung zu stellen Spezielle GPU-Farmen berechnen heute die meisten Blöcke Je größer die Rechenleistung im Netzwerk, desto sicherer das System p. 9
Entwicklung Rechenleistung im bitcoin Netzwerk Abbildung aus (5) p. 10
Eigenschaften des bitcoins Systems Bitcoin = verkettete Liste von signierten Transaktionen Unumkehrbare öffentliche aber anonyme Transaktionen Besitzer = Inhaber des privaten Schlüssels, an dessen öffentlichen Schlüssel das bitcoin zuletzt gesendet wurde Kontostand ergibt sich aus öffentlicher Liste aller Transaktionen Klar begrenzte Geldmenge und festgelegter Plan für Ausschüttung Keinerlei Zentralinstanz, reines Peer-2-Peer Konzept Vertrauen durch Rechenleistung (proof-of-work) Die längste Liste von gültigen Blöcken mit Transaktionen ist diejenige, der die Peers vertrauen Bitcoins = Wie Gold, aber mit den Eigenschaften von Bargeld, das im Internet unmittelbar und anonym handelbar ist p. 11
Demo Offizieller bitcoin Client Online Wallet Mybitcoin Konvertierungsbörse bitmarket.eu Blockexplorer.com p. 12
(nicht-technische) Kritik an bitcoins Anonymer Geldtransfer leistet der Kriminalität Vorschub Geldwäsche Drogenhandel Steuerhinterziehung Illegale Geschäfte im Internet wie z.b. Handel mit Kinderpornografie oder Raubkopien wird einfacher Die Anleger könnten sich bei mangelndem Vertrauen in die Finanzwelt in bitcoins flüchten Liquidität wird dem offiziellen System entzogen Handel läuft am offiziellen Warenwirtschaftssystem vorbei Geldmenge nicht staatlich regulierbar Aufgrund der Eigenschaften von bitcoins sind diese derzeit vor allem für Spekulanten interessant Lediglich spekulatives Kaufen und Verkaufen Bitcoins werden gehortet anstatt in den Warenkreislauf zu fließen Hohe spekulative Gewinne und Verluste möglich (bei Konvertierung in ) p. 13
Mögliche technische Angriffe Transaktionshistorie verändern Z.B. Transaktion aus Liste löschen -> Geld wurde gar nicht ausgegeben Erfordert Neuberechnung des Blocks und aller nachfolgenden Blöcke Benötigt eine Rechenleistung, die größer als die gesamte Rechenleistung im P2P Netzwerk Regeln für P2P Clients verändern Z.B. die Regeln für gültige Blöcke oder für gültige Transaktionen Erfordert die Veränderung der Mehrheit der installierten Clients Zugang zu den privaten Schlüsseln erlangen Diese liegen beim lokalen bitcoin Client ungesichert auf der Festplatte als Datei WALLET.DAT Bei Online Clients: Hacking der Accounts Bereits bekannte Angriffe Trojaner, der Datei WALLET.DAT per Email versendet Hacking der 60.000 Accounts in der Börse Mt.Gox am 17.6. (siehe (4)) p. 14
Literatur & Links (1) Blog Beitrag von Jason Calacanis and the LAUNCH team: The most dangerous Project We ve ever seen http://launch.is/blog/l019-bitcoin-p2p-currency-the-most-dangerous-project-weveev.html (Zugriff am 16.06.2011) (2) Pressemeldung des Bundesverbands der Digitalen Wirtschaft: BVDW warnt Verbraucher und Händler vor bitcoins als Zahlungsmittel http://www.bvdw.org/presse/news.html?tx_ttnews[tt_news]=3137&chash=b381dbd0 64226660caece99c8b1675c1 (01.06.2011) (3) Satoshi Nakamoto: Bitcoin: A Peer-to-Peer Electronic Cash System http://lnch.is/bitcoin-manifesto (29.06.2011) (4) Blog Beitrag von Marc Bevand, aka mrb: Major Attack on the World's Largest Bitcoin Exchange http://blog.zorinaq.com/?e=55 (20.06.2011) (5) Grafiken zur Rechenleistung im bitroin Netzwerk: http://bitcoin.sipa.be/ (6) Tool zum Analysieren der öffentlichen Liste von bitcoin Transaktionen: bitcoin Blockexplorer, http://blockexplorer.com/ (29.6.2011) p. 15