Monero: Hardfork gegen Asics am 9. März, Bug ermöglicht gefälschte Einzahlungen

Mining Monero XMR Privacy Coin. Bild von BeatingBetting.co.uk via flickr.com. Lizenz: Creative Commons

Die anonyme Kryptowährung Monero wird morgen eine Hardfork veranstalten, um die Resistenz gegen Asics zu stärken. Gleichzeitig gibt es einen Bug, der es einem Miner wohl erlaubt hätte, nicht existierende Monero bei Börsen einzuzahlen. Und obendrein schlägt ein französischer Politiker vor, anonyme Kryptowährungen zu verbieten.

Heute gibt es einige News zu Monero. Wir beginnen mit der Hardfork, die morgen stattfinden wird. Wer also einen Full Node betreibt und das Upgrade noch nicht heruntergeladen und installiert hat, sollte dies schnellstmöglich tun, bevor sein Node morgen auf dem Trockenen landet. Die Dateien für das Upgrade findet man auf der Community-Webseite von Monero.

Nun zur Frage, was in der Hardfork drin ist. Anders als einfache Upgrades können Hardforks die Kerneigenschaften der Software drastisch verändern. Bei Monero gibt es einen Konsens in der Community, jedes halbe Jahr eine solche Hardfork durchzuführen, um den Code sukzessive zu verbessern. Eine Ankündigung im Monero-Subredd hebt unter anderem zwei Änderungen hervor:

Erstens wird der Algorithmus des dynamischen Blockisze-Limits korrigiert. Anlass ist, dass ein Entwickler die “Big Bang Attack” entdeckt hat. Dieser Angriff ist eigentlich trivial. Der Blocksize-Algorithmus von Monero bestimmt, dass ein Block nicht größer sein darf als der Median der letzten 100 Blöcke, was etwa vier Stunden entspricht. Wenn ein Angreifer jedoch fortlaufend die maximale Kapazität abschöpft, kann er die Blocksize alle 51 Blöcke verdoppeln. Dies würde innerhalb eines einzigen Tages dazu führen, dass das Volumen die Kapazität der Infrastruktur übersteigt. Die Entwickler beseitigen dieses Problem, indem sie ein längerfristiges Limit ergänzen, das nur einen Median-Anstieg um 1,4 alle 50.000 Blocks erlaubt. Für diesen Fix muss die Monero-Nodesoftware eine Datenbank Konversion durchführen, was jedoch nur 5-10 Minuten dauern wird.

Zweitens wird der Mining-Algorithmus zum nun dritten Mal geändert. Wie schon zuvor ist das Ziel, die derzeit bestehenden Asic-Miner auszuknocken und das Netzwerk für die Zukunft resistenter gegen Asics zu machen. Seitdem Bitmain einen Asic für Monero entwickelt hat, versucht die Community, diese vom Netz zu nehmen. Die bisherigen Upgrades des PoW-Algorithmus haben es zwar schwieriger gemacht, Monero mit einem Asic zu minen, doch offenbar hat dies nicht ausgereicht, um zu verhindern, dass immer größere Teile der Arbeitsbeweise durch die hocheffizienten Asics erbracht haben. Da es zum erklärten Ziel von Monero gehört, Asic-resistent zu sein und das Mining so egalitär wie möglich zu machen, rechtfertigt dies die Änderung des Algorihmus per Hardfork.

Ein Bug in der Wallet-Software

Gleichzeitig kam diese Woche ein Bug ans Licht, der es erlaubt, gefälschte Moneros auf etwa Börsen einzuzahlen. Die Angaben zum Bug selbst sind relativ dünn; sie wurden von den Entwicklern des mit Monero konkurrierenden Privacy-Coins Ryo gefunden und bereits vor Monaten gefixt. Monero-Chefentwickler Riccardo Spagni sprach in der Mailing-Liste eine offizielle Warnung aus: Es gäbe einen Wallet-Bug, der für jeden bedrohlich sein könnte, der eine Wallet für eine Börse, Zahlungsdienstleister oder sonst einen Service betreibe. Er fügt aber hinzu, dass dies kein Konsens-Bug sei und weder Double-Spends noch das willkürliche Erschaffen von Moneros ermögliche.

Ein Ryo-Entwickler erklärt ein wenig genauer, was es mit dem Bug auf sich hat. Die Ursache seien die Ring-Signaturen, die “extrem unsicher” seien, da der zu versendende Betrag beim User anders angezeigt wird als beim Netzwerk. Ist klar, darum geht es ja – nur Sender und Empfänger sollen erkennen, wie viel konkret bezahlt wurde. Wenn nun aber die Miner einen Block finden und sich ihre Belohnung mit einer Coinbase-Transaktion auszahlen, enthält diese den Betrag im Reintext sowie eine “null RCT Signature”, was, nehme ich an, eine Ringsignatur mit einem einzigen Teilnehmer meint, die also ebenso transparent ist wie eine normale Signatur. Wenn die Coinbase-Signatur jedoch eine “nicht-null” Ringsignatur enthält, kann sie auch einen maskierten, also für die anderen Knoten im Netzwerk unsichtbaren, Betrag übermitteln. “Das bedeutet effektiv, dass ein Angreifer den Anschein erwecken kann, er würde jede mögliche Summe auf einer Börse einzahlen.” Der Fehler ist dabei wohl, dass die Wallets darauf vertrauen, dass die Coinbase-Transaktionen eine Null-Ringsignatur haben.

Spagni hat einen zeitnahen Patch angekündigt, der vermutlich auch Teil des Hardfork-Upgrades ist. Bis dahin empfiehlt er Usern und Dienstleistern, den Befehl “set refresh-type no-coinbase” im Client zu verwenden. Dies kann als eine Notlösung verhindern, durch den Bug Schaden zu erleiden.

Etwa zur selben Zeit gab es Berichte von Kunden des französischen Hardware-Wallet-Herstellers Ledger, dass Guthaben von Wallets verschwinden. Ein User beklagt sich darüber, dass 1.680 Monero (etwa 65.000 Euro) nicht mehr angezeigt werden, nachdem er einige Überweisungen getätigt hatte. Ein Mitarbeiter von Ledger erkärte, dies sei vermutlich ein Synchronisierungs-Problem. Ob das Problem gelöst ist, ob es eine Folge des genannten Bugs ist, oder ein Fehler in der Ledger-Software, der eine falsche Wechselgeldadresse generiert hat, wie die Monero-Community vermutet, ist aber (mir) nicht bekannt.

Französische Nationalversammlung denkt über Verbot nach

Vor kurzem hat das Finanzkommittee der Französischen Nationalversammlung einen Bericht über virtuelle Währungen verfasst. Der Bericht ist ziemlich lang und nur auf französisch verfügbar. Wie von anderen Journalisten herausgefunden, enthält das relativ lange Vorwort des Kommittee-Präsidenten Éric Woerth, das sich mit Blockchains, ICOs, digitalem Gold, Kryptobörsen und vielem beschäftigt, auch einen Absatz zu Cybercrime und anonymen Kryptowährungen, den ich durch den Google-Übersetzer gejagt habe:

Aufgrund der Anonymität, mangelnden Kontrolle und spekulativen Euphorie fördern virtuelle Währungen auch betrügerische Praktiken. Wir finden Plattformen für Piraterie, die Finanzierung zweifelhafter ökonomischer Akteure, Geldwäsche und die Erleichterung von Steuerhinterziehung. Dies sind unmittelbare Probleme, die eine starke Antwort der Justiz erfordern, um das öffentliche Interesse zu schützen. Es wäre daher nützlich, eine Ausweispflicht bei der Eröffnung von Konten bei Krypto-Plattformen vorzuschreiben. Auch wäre es angebracht, vorzuschlagen, die Distribution und den Handel von Krypto-Assets zu verbieten, die eine vollständige Anonymität gewährleisten, indem sie Identifizierungsverfahren unterlaufen. Dies betrifft etwa Monero, PIVX, DeepOnion, Zcash und andere. Bisher ist eine solche Regulierung aber noch nicht gelungen.

Auch wenn es zweifelhaft ist, ob ein Verbot anonymer Kryptowährungen machbar und sinnvoll ist, stellen diese die Regulierer vor große Herausforderungen. Während Kryptowährungen mit nachvollziehbaren Transaktionsgraphen es den Akteuren im Ökosystem einfach machen, ausreichend genau festzustellen, woher eine Transaktion kommt und wohin sie geht, werden solche Maßnahmen bei Währungen wie Monero mehr oder weniger unwirksam. Bei steigender Nutzung wird dies die Regulierer wohl dazu zwingen, die finanziellen Ströme auf andere Weise offenzulegen – oder den Handel mit den Währungen zu unterbinden.

Über Christoph Bergmann (1603 Beiträge)
Das Bitcoinblog wird von Bitcoin.de gesponsort, ist inhaltlich aber unabhängig und gibt die Meinung des Redakteurs Christoph Bergmann wieder. Christoph hat vor kurzem ein Buch geschrieben: Bitcoin: Die verrückte Geschichte vom Aufstieg eines neuen Geldes. Das Buch stellt Bitcoin in seiner ganzen Pracht dar. Ihr könnt es direkt auf der Webseite Bitcoin-Buch.org bestellen - natürlich auch mit Bitcoin - oder auch per Amazon. Natürlich freuen wir uns auch über Spenden in Bitcoin, Bitcoin Cash oder Bitcoin SV an die folgende Adresse: 1BergmanNpFqZwALMRe8GHJqGhtEFD3xMw. Wer will, kann uns auch Hier mit Lightning spenden. Tipps für Stories sind an christoph.bergmann@mailbox.org immer erwünscht. Wer dies privat machen möchte, sollte meinen PGP-Schlüssel verwenden.

25 Kommentare zu Monero: Hardfork gegen Asics am 9. März, Bug ermöglicht gefälschte Einzahlungen

  1. Peter Neuer // 9. March 2019 um 10:06 // Reply

    “Paul, danke für den Kommentar, aber warum muss hier wieder ein Block über Monero rein? Ist ja nett, dass du erwähnst, dass Monero auch eine Hardfork macht. Aber vielleicht ein wenig zuviel des Guten. Das nimmt langsam ein wenig überhand, wenn unter (gefühlt) jedem zweiten Artikel von mir eine „Werbeeinblendung“ für Monero steht …”
    So ist er der Bergmann

    • 1. Sein blog, seine Regeln
      2. Der Beitrag sagt schon etwas mehr als ein Kommentar

    • Ich verstehe das Problem nicht … habe jetzt drei Mal darüber nachgedacht …

      • Peter Neuer // 10. March 2019 um 6:02 //

        Ich nehme an, dein Problem ist, schreibt jemand über einen anderen Coin außer Bcash positiv siehst du es als Werbung .
        Aber was weiß ich schon von deinen Problemen.

      • Ich finde es problematisch, wenn jemand mein Thema – ein Artikel über Bitcoin oder Ethereum – kapert, um über sein Thema, etwa Monero, vorzutragen. Daher der Kommentar. Ich denke, Paul versteht das, er steuert seit Jahren wertvolle Kommentare zu den verschiedensten Themen bei.

      • Andreas // 11. March 2019 um 0:41 //

        Ich finde es auch besser wenn ein Blogger immer nur das schreibt was man von ihm erwartet.
        Dann muss man nicht so viel nachdenken.
        Und auch nicht lesen.

      • Dafür sind wir Blogger doch da 🙂

      • Peter Neuer // 11. March 2019 um 12:29 //

        Manch Einer kapert auch den Begriff Bitcoin z.B. in seinem Blog. Soll alles vorkommen.

      • Was ist denn nun los?

        Natürlich schreibe ich auch über andere Währungen. Als das Blog gestartet hat, war Kryptowährungen = Bitcoin. Ist nicht so, dass es mir gefällt, aber das ist heute nicht mehr so, und dem versuche ich, gerecht zu werden. Macht meine Arbeit nicht eben einfacher, mich über 5-10 Coins informieren zu müssen. Aber so ist es halt.

    • Nixgeschenkt // 9. March 2019 um 19:58 // Reply

      Ich hab den Beitrag gelesen und sofort gedacht dass Paul J. sicher der erste war der etwas dazu zu sagen hatte. Hätte hier sicher auch super gepasst. Aber dieser Kommentar, ich verstehe ihn auch nicht. Paul schreib dich bitte was 😜

      • “was”, more to come today… “der Bergmann” schreibt auch immer über sinnvolle Themen wenn ich gerade anderweitig beschäftigt bin 😉

  2. “Das Blog für virtuelle Währungen”, wie es im Untertitel heißt, erlaubt und erfordert Einträge, die auch jenseits des Horizonts von BTC beschreiben, was los ist. Zumal die Neuigkeiten in Sachen Monero zur Zeit ziemlich außergewöhnlich und spannend sind.

  3. Monero leidet wie alle anderen Währungen auch an einer zu großen Blockchain die stets weiterwächst und es Einsteigen schwer macht sie vollständig zu synchrn und einen eigenen Knoten aufzusetzen. Schon gar keinen mobilen.
    So wird das erstmal nur für Enthusiasten etwas.

    Alle großen Kryptowährungen zusammen sind weniger als eine abank alleine an Geld wäscht und hinterzieht.

    Ich finde es daher lächerlich Kryptowährungen AmL und KYC aufzuerlegen oder über ein Verbot gar nachzudenken.

    • Nixgeschenkt // 10. March 2019 um 7:47 // Reply

      Man könnte auf die Frage kommen warum Moneros Blockchain so groß wird. Wo doch eigentlich nicht viel drin stehen dürfte zwecks Privacy?

      • Im Gegenteil, genau deswegen. Ringsignaturen sind nunmal viel größer, mit dem vorletzten Fork hat man Bulletproofs eingeführt und die Transaktionsgröße um 80 % gesenkt. Trotzdem sind noch die ganzen “alten” Transaktionen drin, dabei war eine Transaktion ca. 10 Mal so groß wie bei BTC.

        @Beatles ja das stimmt, aber immerhin hat Monero eine sinnvolle (vorübergehende) Methode gefunden, um die Blockchain zu prunen und trotzdem als pruned Node dem Netzwerk beizutragen
        https://www.getmonero.org/2019/02/01/pruning.html

    • Ab der Version 0.14.1 soll Pruning auch sparsame lokale Blockchains ermöglichen. Insofern ist der Betrieb eines eigenen Nodes dann einfacher.

    • Das muss man reflektieren, denn Speicher ist heutzutage in meinen Augen vernachlässigbar und Moneros gesamte Blockchain ist ca. 60GB groß, unter Linux und LMDB mit allem Overhead sind es 68GB.

      68G ./.bitmonero/lmdb

      Zudem bekommt das Monero Wallet endlich eine Pruning Funktionalität, welche den Speicherbedarf auf ca. 20GB senken sollte. Die Implementierung ist dabei auch ziemlich interessant, denn es werden die letzten 100k Blöcke komplett vorgehalten und 1/8 der restlichen Blockchain per Zufallsprinzip, sodass ein “Pruning Node” immer noch anderen “neuen” bei der Synchronisierung helfen kann. Diesen 1/8 Wert kann man (noch) nicht selbst festlegen, es sei denn man kompiliert den Quelltext selbst, aber ich bin mir ziemlich sicher, dass das bald möglich sein wird…
      In Zeiten, wenn man Speicher für ca. 20€ / TB bekommt, sollte das irrelevant sein, selbst SSD bekommt man mittlerweile für ca. 100€ / TB: https://geizhals.de/?cat=hdssd&sort=r

      Monero kennt verschiedene Arten von Wallets, die sich in der Privacy unterscheiden: https://github.com/monero-project/meta/issues/310#issuecomment-469925538
      Am besten natürlich, man betreibt selbst lokal einen Full Node und hat alles in eigenen Händen, aber das ist für Mobile Wallets auch mit Pruning kaum machbar. Die nächstbeste Möglichkeit ist einen eigenen Remote Node zu nutzen (der z.B. zu Hause steht). Es gibt aber auch öffentliche Remote Nodes, denen man lediglich zu Wissen gibt, wenn man eine Transaktion verschickt, diese ist für den Node eindeutig der IP des Users zuordenbar. Bei “Light Wallets” wie z.B. MyMonero teilt man mit dem (speziell konfigurierten) Remote Node auch den privaten View Key, damit dieser ankommende Transaktionen schneller zuordnen kann, dies ist die schnellste aber auch von der Privatsphäre her gesehen schlechteste Möglichkeit. Man sollte aber immer noch in Augen behalten, dass beim Versenden einer Transaktion egal mit welcher Methode weder die Quelladresse, die Zieladresse noch der Betrag jemals einem beteiligten Node Betreiber einsehbar sind, noch auf der Blockchain landen werden.

  4. Na wird auch wirklich Zeit, dass privacy Coins verboten werden. Wer nichts zu verbergen hat, den kümmerts auch nicht.

    • Peter Neuer // 11. March 2019 um 12:26 // Reply

      Das war der kluegste Satz den ich jemals im Leben gehoert habe.

    • Peter Neuer // 12. March 2019 um 12:09 // Reply

      Bitte bitte. Kennst du PayPal ? Ich denke das waere was fuer dich.

      • Ja Danke, Paypal ist super, nutze ich schon lange. Wenn nur die Gebühren nicht wären. Und generell der schlechte Beigeschmack, dass ich mein Geld nicht wirklich besitze. Wenn Bitcoin nur schon so anwenderfreundlich und verbreitet wäre wie Paypal … ja das wärs.

  5. Christoph, vielen Dank für den Beitrag über die Monero Hard Fork! Wie üblich hab ich diesen natürlich verpasst…

    Der Fork ist natürlich seit Tagen durch und ohne irgendwelche Nebenstränge wie zuletzt bei BCH/BSV. Es hat sich gezeigt, dass bereits ein Großteil der Hashrate von ASICs (vielleicht FPGAs, aber eher unwahrscheinlich) dominiert wurde. ASIC-Resistenz ist nicht so einfach wie es oft scheint und sech1 (einer der Anti-ASIC Entwickler) hat kommentiert, in Russland sagt man treffend “Auf dem Papier war alles glatt, aber man hat die Schluchten vergessen”. Es hat sich gezeigt, dass trotz regelmäßiger Forks trotzdem ASICs entwickelt werden und verdeckt minen, ohne diese öffentlich anzubieten. Die Hashrate ist nach dem Fork um knapp 90% gesunken, hat sich aber bei ca. 25% eingependelt, da wohl einige GPU Miner von Ethereum geswitcht sind, als kurzzeitig XMR ca. doppelt so profitabel war wie ETH.
    Man hat die Effizienz von ASICs jedoch ziemlich radikal dezimiert, denn im Vergleich zum ursprünglichen Cryptonight Algo, in dem eine x200 Effizienz pro Watt möglich war, war sie bereits beim letzten PoW Fork “nur” noch bei ca. x20 und mit dem aktuellen CryptonoteR geht man von ca. 5-6x aus, falls man tatsächlich einen ASIC herstellen kann. Beim neu konzipierten RandomX wird eine moderne CPU möglichst in allen Facetten ausgelastet, sodass ein perfekter ASIC eigentlich eine CPU ist, damit sollte die maximale Effizienzsteigerung unter x2 liegen und sich kaum lohnen, da die Produktion einer kleinen Chip-Serie deutlich teurer ist als die einer gesamten CPU-Generation.

    Der Bug ist in der Tat ärgerlich, aber man sollte unterstreichen, dass dieser nicht auf Protokollebene war, sondern auf Wallet-Ebene, insbesondere auf der RPC-API und keine HardFork für einen Bugfix nötig gewesen wäre. Er reiht sich in eine längere Reihe von Bugs ein und alle betrafen vor allem Dienstleister, die ihre Services auf die RPC API aufbauen. In der Tat ist das sehr ärgerlich, aber diese werden über eine Mailing Liste auch umgehend informiert, wenn etwas ähnliches entdeckt wird. Protokolländerungen werden mittlerweile stets durch externe Audits begleitet, wie Bulletproofs an Stelle der bisherigen Range Proofs. Auch der neu entwickelte Proof of Work RandomX wird einen solchen Audit benötigen, bevor er implementiert wird.

Leave a Reply to Peter Neuer Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s