fbpx

Was ist Mimblewimble und wie funktioniert es, was sind Grin und Beam und sollte man in diese neue Technologien investieren oder nicht?

Intro:

Mimblewimble (MW) ist gerade in aller Munde, doch nur die allerwenigsten verstehen wirklich, wie die Technologie funktioniert. Dies ist immer gefährlich, vor allem, wenn man dann sein hart verdientes Geld in etwas investiert. Hier möchte ich dir Mimblewimble auf einfache Art und Weise erklären, dir die Unterschiede zwischen Beam und Grin aufzeigen und dir bei der Entscheidung helfen, ob sich eine Investition lohnt, oder nicht. Ich werde dies nicht zu technisch gestalten, sondern wirklich einfach halten. In der Crashcourse Kryptographie Serie, gehe ich dann wirklich tief in die kryptografischen Details (https://www.youtube.com/watch?v=itsUgeDK62k&list=PLjwO-iVuY1v173y1kOBWF5vHKtI0tIsws). So viel vorab: MW ist seit langem wieder etwas, das mich tief begeistert, weil es eben ein neuer Ansatz für einige Probleme ist – aber schauen wir uns das mal an. Und noch etwas, nur weil ich hier über MW spreche, heißt das nicht, dass ich andere Privacy Coins wie Monero nicht toll finde – ganz im Gegenteil.


Was ist Mimblewimble:

MW ist ein neues Protokoll um ein zensurresistentes digitales Geldsystem zu schaffen, das 100% Privatsphäre bietet.


Welches Problem löst Mimblewimble:

Vergleicht man MW mit mit Bitcoin oder mit Monero bzw. anderen Privacy Coins, so sieht man:

Bitcoin: 100% Transparenz, gesamte Blockchain sichtbar

Monero: Top Kryptographie (bespreche ich auch im Crashcourse Kryptographie) – durch andere Mathematik erlaubt MW eine deutlich bessere Platzersparnis.


Wie funktioniert ein neues Protokoll:

Für eine Transaktion bei Bitcoin, muss ich folgendes wissen:

  1. Von (Public Adresse signiert mit Sender Private Key)
  2. An (Public Adresse)
  3. Anzahl (UTXO – Unspent Transaction Output)

Bitcoin hat kein Account-System, sondern ein UTXO System (anders als zum Beispiel Ethereum). Vergleicht man das mit Geldscheinen, so wäre ein jeder Geldschein ein UTXO. Bekommst du 1 x 5 Euro, 1 x 10 Euro und 1 x 50 Euro, so kannst du, ohne zu wissen wieviel du gesamt hast (65 Euro), einfach nur die erhaltenen Scheine einzeln anschauen und ausgeben. Du weißt also, dass du wiederum 1 x 5 Euro, 1 x 10 Euro, 1 x 50 Euro ausgeben kannst. Wenn du Geldscheine erhältst, bezeichnet man sie bei Bitcoin als Unspent (also noch nicht ausgegeben) Transaction Output. Wenn du sie verwendet hast, also ausgegeben hast, sind sie “Spent”. Zur Information: Eine Wallet macht bei Bitcoin dann nichts anderes um die Gesamtsumme darzustellen, indem sie alle UTXOs welche deinen private keys zugeordnet sind zusammenaddiert. Ethereum hingehen, verwendet ein Account System, bei dem nicht UTXOs zusammenaddiert werden, sondern bei jedem Block der “State” aller Accounts upgedatet wird. Natürlich kann man bei digitalem Geld UTXOs aufteilen, was man bei einem 5 Euro Schein nicht kann. Einen 5er UTXO kann man bei Bitcoin also in zum Beispiel 2 + 3 aufteilen – einen Schein zerschneiden, ginge hingegen nicht.  

Bitcoin speichert die gesamte Historie von allen Von und Zus ab. Diese Update-Historie bezeichnen wir als Blockchain. Diese wächst in ihrer Größe stetig und ist Anfang 2019 knapp 200 GB groß. Zusätzlich werden trotzdem eine Liste aller UTXOs gespeichert, um Nodes es leichter zu gestalten sich zu vergewissern, ob eine Transaktion auf eine valide UTXO zurückgreift, oder nicht. Diese Liste beinhaltet bei Bitcoin derzeit ca. 50 Mio UTXOs und ist ca. 3 GB groß.

https://statoshi.info/dashboard/db/unspent-transaction-output-set

Der Grund, warum das alles bei Bitcoin und den meisten anderen Kryptowährungen abgespeichert wird ist, weil so drei Dinge relativ gut garantiert werden können:

  1. Niemand kann Coins aus dem Nichts kreieren
  2. Nur der Empfänger kann empfangene Coins auch wieder verschicken
  3. Kein Double Spending möglich

Schafft man die drei Dinge jedoch anders, braucht man die gesamte Historie (also die Blockchain) nicht, und hat neben anderen, vor allem drei enorme Vorteile:

  1. Komplette Privatsphäre, weil keine Transparenz mehr existiert.
  2. Fungibilität der Coins. Jeder Coin ist gleich wie ein anderer.
  3. Bessere Skalierung, da nur mehr ca 2% der Daten gespeichert werden müssen (ein bisschen mehr sind es dann realistisch aufgrund von Range Proofs – dazu gleich mehr) – es sind dann effektiv ca 5% Daten.

Monero und andere Privacy Coins lösen dies auf ihre Art und Weise. Im August 2016 kam eine neue Möglichkeit auf ähnlich mysteriöse Art und Weise auf, wie schon damals 2008 mit Bitcoin – welche deutlich speichereffizienter ist, als bisher alle anderen Coins (obwohl ich anmerken möchte, dass Monero mit den Beryllium Bullets enorm effizient geworden ist und ich selbst ein großer Fan von Monero bin.) Dieses neue Protokoll heißt Mimblewimble.


Die Geschichte um Mimblewimble:

  • Im August 2016 postete ein anonymer Nutzer namens Tom Elvis Jedusor, was der richtige Name von Voldemort in der französischen Übersetzung der Harry Potter Serie ist, ein Whitepaper in einen Bitcoin Developer IRC Chat: https://scalingbitcoin.org/papers/mimblewimble.txt
  • Der Name Mimblewimble kommt von einem Zauberspruch in der Harry Potter Serie, der als “Zungenverdreher” bekannt ist und sein Opfer nicht mehr sprechen lässt.
  • Wichtig zu erwähnen ist hier, dass ähnlich wie bereits bei Bitcoin, auch bei Mimblewimble nicht wirklich etwas Neues kreiert wurde, sondern auf bereits bestehende Konzepte wie zum Beispiel OWAS (One-Way Aggregate Signatures), Confidential Transactions (CTs) und CoinJoin (CJ), welche schon Jahre zuvor von Bitcoin Core Developern beschrieben worden sind, aufbaut. Wir werden einige davon vereinfacht besprechen.
  • Anfangs dachte man noch, dass man Bitcoin mit MW upgraden kann, doch dies gestaltet sich aufgrund der fehlenden Scripting Language nicht so einfach – deshalb wird hier eher angedacht, dies ev. als Sidechain zu integrieren.
  • MW ist also als Protokoll zu verstehen – die Umsetzung davon wird derzeit von zwei Projekten versucht: Grin und Beam – doch mehr dazu später.

Mimblewimble Kryptografie ELI5:

Wie gesagt, wir gehen hier auf eine “Explain it like I am 5” Erklärung von MW ein, die mathematisch detaillierte Variante gibt es im Crashcourse Kryptografie [https://www.youtube.com/watch?v=itsUgeDK62k&list=PLjwO-iVuY1v173y1kOBWF5vHKtI0tIsws]. Zum Unterschied zu allen anderen Protokollen, gibt es bei Mimblewimble KEINE Adressen – weil es auch keine Blockchain gibt. Man sieht auch keine Transaktionsmengen. Schaut man sich eine Mimblewimble Tx also an, so schickt ein Unbekannter eine unbekannte Menge an Coins and einen anderen Unbekannten. Und das ganze MUSS so funktionieren, dass:

  1. Keine neuen Coins entstehen können, obwohl Aussenstehende nicht sehen dürfen, wie viel verschickt worden ist.    
  2. Der neue Unbekannte muss ganz klar seine Coins als einziger verschicken dürfen und niemand anders – ohne, dass ein Aussenstehender sieht, wer das überhaupt ist.  
  3. Trotzdem darf kein Double Spend vorkommen und niemand darf Coins kreieren können.

Waaassss? Mind Blown, oder? 🙂 Jeder, der das zum ersten Mal hört, wird sich wahrscheinlich die Frage stellen wie das funktionieren soll. Drei Konzepte kombiniert erlauben dies bei MW:

  1. CoinJoin
  2. Confidential Transactions
  3. Dandelion

Sprechen wir diese vereinfacht durch.

Coin Join:

Bei einer Mimblewimble Transaktion braucht es vereinfacht gesagt drei Dinge:

  1. Versender private key = Von – allerdings geheim.
  2. Empfänger private key = An –  allerdings geheim.
  3. UTXO des Versenders = Anzahl der Coins – allerdings geheim.

Durch das Signieren des Versenders der Tx, entsteht ein Tx Hash. Anstatt, dass dieser einzelne Hash wie bei Bitcoin in eine Blockchain integriert wird, wird sie bei MW per CoinJoin (ein Konzept das von Gregory Maxwell definiert wurde und ähnlich wie zum Beispiel bei Schnorr Signaturen funktioniert: https://bitcointalk.org/index.php?topic=279249 ) mit anderen Tx Hashes aufmultipliziert. Durch das Aufmultiplizieren zu einem MW Block, was als CoinJoin bezeichnet wird, kann zwar eine Tx klar in einem Block bewiesen werden, das Rückrechnen ist jedoch nicht möglich. So bekommt MW einen Skalierungsvorteil: Anstatt alle Tx Hashes bei einem Block zu speichern, braucht man nur mehr den finalen Hash zu speichern.

Jetzt muss noch gelöst werden, wie alles von Sender, Empfänger und Menge geheim bleibt.

Confidential Transactions

Confidential Transactions (zu Deutsch: geheime Transaktionen) funktionieren anhand von Pederson Commitments: http://diyhpl.us/wiki/transcripts/gmaxwell-confidential-transactions/ Vereinfacht ausgedrückt, lassen sich Dinge streichen, wenn sie 0 ergeben. Als Beispiel ist es gar nicht wichtig als Außenstehender zu wissen, wie viele Coins wirklich verschickt worden sind, sondern es ist vielmehr wichtig zu wissen, dass dabei KEINE NEUEN Coins kreiert worden sind. Mathematisch vereinfacht, kann man also sagen:

Alter UTXO minus Neuer UTXO muss 0 sein. So wurden keine Coins vernichtet oder kreiert.

Nimmt man dies in der Mathematik noch vereinfacht weiter, so kann man sagen, dass es für einen Außenstehenden nicht mal wichtig ist zu wissen, wer denn Empfänger und Versender sind, so lange die es selbst wissen und die auch die Menge der Coins wissen.

Dies funktioniert über einen Blinding Factor (zu Deutsch: Verschleierung), welcher die Darstellung nach außen verschleiert, aber jedem, der den Blinding Factor kennt, Durchblick bei einer Transaktion erlaubt.

Vereinfacht gesagt entsteht nach Außen eine Tx ID, welche einer Zahl entspricht. Die Zahl zu kreieren, kann man aber nur, wenn die Inputs gleich den Outputs sind (also keine Coins kreiert oder zerstört worden sind) und wenn man den Blinding Faktor weiß. Zum Beispiel muss man bei A x B = 119 vereinfacht wissen, was denn A und was B ist. Es gibt nur eine einzige Lösung. Man muss hier relativ lang rumprobieren: Lösung 7 x 17 = 119. Schafft man es also bei MW die Zahlen korrekt zu berechnen, so können Außenstehende davon ausgehen, dass keine Coins kreiert wurden und der Versender auch tatsächlich die Coins verschicken hat dürfen, ohne die Details zu kennen.

Wer aufgepasst hat, wird aber merken, dass es theoretisch auch möglich gewesen wäre, 1 x 119 zu multiplizieren. Damit gewisse Zahlen bei MW eben nicht verwendet werden dürfen, braucht es Rangeproofs (zu Deutsch: Beweis der Zahl). Mann muss bei den mathematischen Berechnungen beweisen, dass man gewisse Zahlen NICHT verwendet hat, denn sonst könnte man schummeln. Ohne Range Proofs, könnte man zum Beispiel sagen:        

Alter UTXO: 5

Neuer UTXO-A: 10

Neuer UTXO-B: -5

Ein Außenstehender sieht die einzelnen UTXOs nicht, er sieht nur: Dass die alten UTXOs (5), gleich groß sind, wie die neuen (10-5 = 5), obwohl bei den neuen 1×10 Coins kreiert worden sind. Range Proofs sind also unglaublich wichtig bei MW, denn nur so kann sichergestellt werden, dass alles korrekt abgelaufen ist, ohne die Details zu wissen.


Extra Vertiefung:

Um ein bisschen tiefer noch reinzugehen, ohne wirklich kompliziert zu werden, so kann man sich vorstellen, dass man folgendes berechnen können muss:

(A + UTXO alt – UTXO neu) x B = 119

Wenn ich A und B weiß, kann ich das nur lösen, indem UTXO alt und UTXO neu gleich groß sind – denn dann canceln sich die beiden aus und ich habe:

(A + 0) x B = 119

Und A x B = 119 kann ich lösen. Dies ist nun aber Extra Credit – die Vertiefung machen wir im Kryptographie Crashcourse.

Sobald ein UTXO spent ist, braucht man ihn bei MW nicht mehr zu speichern. Es reicht, die neuen UTXOs zu speichern. Dies ist ein riesiger Unterschied zu traditionellen Blockchains, wo die gesamte Historie gespeichert wird. Dies erlaubt eine enorme Platzersparnis auf ca. 2%. Nachdem jedoch die Rangeproofs gespeichert werden müssen, ist die MW Blockchain ca 5% so groß wie Bitcoin.

Wie wird nun Double Spend verhindert? Nachdem ja nicht die Historie, sondern nur der aktuelle Stand an UTXOs bei MW gespeichert wird, müssen hier die auszutauschenden Parteien online sein, um sicher zu stellen, dass auch wirklich ein UTXO nicht doppelt verwendet wird. Dies übernehmen bei den MW Protokollen jedoch die Wallets und lösen dies auf diese Art und Weise. Eine dritte Methode um Privatsphäre bei MW zu erhöhen ist Dandelion.  


Dandelion:

Dandelion (zu Deutsch: Pusteblume) besprechen wir hier nur ganz kurz. Dandelion erlaubt durch eine verzögerte Weiterleitung von Tx, nicht klar zu sehen, wer wann eine Tx ins Netzwerk schickt. Dies ist nicht wirklich ein kryptographisches Problem, sondern vielmehr ein Netzwerk Problem. Man kann sich das so vorstellen, als wenn man bei einer Transaktion wie bei einer Pusteblume die unterschiedlichen Partikel unterschiedlich nach Außen bringt. Manche schneller, manche langsamer. So ist für einen Außenstehenden nicht klar, wer an wen was geschickt hat.

Dies sind alles super tolle Vorteile, doch was ist die Kehrseite der Medaille?


MW Nachteile:

  1. MW hat keine scripting language wie Bitcoin etc. Das heißt Logik (Lightning, etc.) ist nicht so ganz einfach zu integrieren. Es arbeiten jedoch Leute bei Blockstream an Dingen wie scriptless scripts. Dies ist auch eine Hürde um MW direkt bei BTC zu integrieren.
  2. Theoretisch müssen die Teilnehmer gleichzeitig Online sein bei einer Transaktion um alles zu signieren und Double Spend zu vermeiden. Wallets erlauben dies jedoch auf einfache Art.
  3. Range Proofs sind extrem aufwendig zu berechnen. Das wird sich nicht ändern.
  4. Regulatorisch wird MW wie alle anderen Privacy Coins auch immer fragwürdig sein. Für was werden komplette Privacy Coins verwendet?! Dies ist ein Thema, das ich in “Kryptowährungen einfach erklärt” genau bespreche: https://amzn.to/2Uk8Nxc    
  5. Bei MW muss man der Kryptographie voll vertrauen. Es ist kein Auditing möglich, da alles geheim bleibt und es auch keine Blockchain gibt. Was ja in diesem Fall gewünscht ist.
  6. Neue Technologien macht es immer schwierig für Exchanges und Wallets. Dies bringt uns auch zum nächsten Punkt: MW ist lediglich das Protokoll, also die mathematische Idee – die Umsetzung davon passiert dann von Projekten – davon gibt es derzeit (Anfang 2019) zwei.

Grin vs. Beam:

GrinBeam
Webseitehttps://grin-tech.org/ https://www.beam.mw/
GestartetQ4 2016 / Q1 2017Q1 2018
HintergrundCommunity projekt gestartet von Ignotus Peverell (Unbekannter Pseudonym aus Harry Potter)Israelische Firma
FinanzierungCommunityTeil des Mining Rewards
Philosophie Vergleich“Linux”“Apple / Microsoft”
ProgrammierspracheRustC++
LaunchAls zweites, kurz nach Beam.Zuerst: Anfang 2019
MiningAsic resistant: Cuckoo CycleAsic resistant: Equihash
CapKein CapCap bei 263m Coins
Exchangeshttps://www.coingecko.com/en/coins/grinhttps://coinmarketcap.com/currencies/beam/#markets

Investieren – Ja oder Nein – Und in was?:

Wie bei jedem Coin, muss man sich die folgenden drei Fragen stellen:

  1. Gibt es einen klaren Use-Case der ein Real-World-Problem löst
  2. Wie gut ist die UX (Nutzbarkeit) – wie gut sind also die Wallets, etc.
  3. Wie groß ist das Netzwerk – der Wert der meisten Coins korreliert mit dem tatsächlichen Netzwerk (User, Exchanges, Applikationen, etc…)

Viel davon, hängt vom Team ab und das ist komplett konträr bei den beiden: Community bei Grin vs. Firma bei Beam. Aus heutiger Sicht, kann man hier noch keine klare Aussage treffen, auch wenn derzeit Beam leicht vorne ist. Wenn du also in MW investieren willst und du für dich hier keine klaren Überzeugungen findest, dann investiere in beide Coins.

Ein wichtiger Punkt jedoch: Beide Coins haben reguläres Mining – heißt, derzeit gibt es gerade enorme Inflation. Der Mining Reward schwächt exponentiell wie bei BTC ab. Gerade am Anfang, kann hier also ein hoher Verkaufsdruck stattfinden.

Ich habe mir von beiden Coins etwas gekauft und sehe das langfristig als Absicherung gegen starke Regulation gegenüber Bitcoin. Was du machst – musst du natürlich selbst entscheiden. Lass mich dies gerne drunter in den Kommentaren wissen!

Hast du Fragen? Irgendetwas unklar? Feedback? Oder einfach nur “Danke” sagen? Ich freu mich immer auf einen Kommentar.

Teile diesen Artikel bitte, sodass mehr Leute MW verstehen und gib mir einen Daumen hoch.


Bis zum nächsten Mal,

Julian

Weiters, falls du mir noch nicht auf Social Media folgst, hier die wichtigsten Kanäle:

Twitter: http://twitter.com/julianhosp

Instagram: http://instagram.com/julianhosp

YouTube: http://youtube.com/julianhosp

DE Facebook: http://facebook.com/groups/kryptoganzeinfach

EN Facebook: http://facebook.com/groups/cryptofit

Falls du neu im Thema Kryptowährungen bist, hol dir mein Buch “Kryptowährungen einfach erklärt”: https://geni.us/krypto_einfach

Dr. Julian Hosp (www.julianhosp.com) ist ein weltweit bekannter Blockchain-Experte. Er war Mitbegründer eines Unternehmens mit Sitz in Singapur, das über 100 Millionen US-Dollar an Finanzmitteln erhielt. Zuvor war Julian 10 Jahre Profisportler und Arzt.

Er ist Autor mehrerer Bestseller wie „Kryptowährungen einfach erklärt“ und „Blockchain 2.0 – mehr als nur Bitcoin“, die in 15 Sprachen übersetzt wurden und über 100.000 Exemplare verkauft haben: www.cryptofit.community

Er zählt zu den weltweit bekanntesten Experten für Blockchain, Kryptowährungen und Dezentralisierung und arbeitet mit der Europäischen Union in Blockchain-Gruppen zu Themen wie Regulierung, soziale Auswirkungen und Wirtschaft.

Als Sprecher des Washington Speakers Bureau wird er häufig zu globalen Tech- und Unternehmerveranstaltungen sowie Regierungsgipfeln auf der ganzen Welt eingeladen. Darüber hinaus ist er regelmäßig in den Medien zu aktuellen Blockchain-Trends, der Zukunft von Kryptowährungen und Unternehmerthemen präsent.