PrivateSend und InstantSend

PrivateSend

Diese Dokumentation beschreibt, wie Dash Core dazu verwendet werden kann, Dash anonym zu versenden. PrivateSend wurde als DarkSend in RC4 des DarkCoin Clients implementiert und im Mai 2016 in PrivateSend umbenannt. Hierbei handelt es sich um eine Methode des Transaktionensequenzierens (auch als „Mischen“ bekannt), die nicht auf Drittanbieter vertraut und verhindert, dass ein externer Beobachter bestimmen kann, welches die Quelle einer PrivateSend-Transaktion ist. Dash ist somit ebenso anonym wie Bargeld, das von einem Geldautomaten abgehoben wurde. Der Misch- und Denominationierungsprozess läuft einfach und automatisch ab, wobei der Nutzer selbst nicht in den Vorgang eingreifen muss. Die momentane PrivateSend-Version der Dash Core Wallet erlaubt es Nutzern jede beliebige Menge an Dash zu mischen, damit diese später für PrivateSend-Transaktionen gebraucht werden können. Der Stand im Dezember 2018 ist, dass keine andere Dash Wallet PrivateSend unterstützt.

Das Wissen um die exakte Nummer an Runden, mit denen PrivateSend-Beträge gemischt wurden, führt zu einem quantifizierbaren Effekt, der es erleichtert den Ursprung einer PrivateSend-Transaktion zu erkennen. Aus diesem Grund ist die empfohlene (und als Standard eingestellte) Nummer an PrivateSend-Mischrunden auf vier festgesetzt, kann aber verändert werden.

Mehr zur Theorie hinter PrivateSend und dem exakten Verfahren gibt es hier.

Konfiguration

  1. Dash Core Wallet öffnen und unter Einstellungen den Punkt Konfiguration auswählen. Die entsprechenden Einstellungen befinden sich in der Registerkarte Wallet.

    ../../_images/privatesend-options.png
  2. Neben PrivateSend Runden kann eine Zahl von 1-16 eingegeben werden. Jede Runde stellt einen vollständigen PrivateSend-Mischvorgang da. Eine höhere Rundenanzahl erhöht den Grad an Anonymität und verringert die Chance der Enttarnung durch böswilliger Nodes. Momentan ist 16 das Maximum an Runden, die hintereinander gemischt werden können.

    HINWEIS: Um den Missbrauch des Systems zu verhindern wird ca. alle zehn Runden eine Gebühr von 0.0001 Dash erhoben.

  3. Unter Anzahl anonymisierter Dash kann ein Zielbetrag eingegeben werden. Dieser Wert stellt die untere Grenze an Dash da, die anonymisiert werden, wenn sie verfügbar sind. Je nachdem welche Denominationen geschaffen wurden, kann die Gesamtmenge am Ende den Zielbetrag übersteigen. Der Client wird alle verfügbaren Denominationen zum PrivateSend-Prozess hinzufügen. Der am Ende anonymisierte Betrag kann höher sein als der Zielbetrag, er sollte sich diesem allerdings annähern.

  4. Über OK werden die Einstellungen gespeichert.

  5. PrivateSend ist standardmäßig deaktiviert. Es wird nur aktiviert wenn nach dem Setzen der Runden und des Zielbetrags auch der Knopf mit der Aufschrift Starte Mixen gedrückt wurde, der sich unter der Registerkarte Übersicht befindet.

Mischen starten

Der PrivateSend-Prozess wird gestartet, wenn der Knopf mit der Aufschrift Starte Mixen gedrückt wurde, der sich unter der Registerkarte Übersicht der Dash Core Wallet befindet. Mischen ist nur erfolgreich, wenn die folgenden Bedingungen erfüllt sind:

  • Die Wallet beinhaltet ausreichendes nicht-anonymisiertes Guthaben, mit dem ein Minimum an denominierten Guthaben geschaffen werden kann
  • Der Nutzer hat PrivateSend nicht über den Konfigurationsdialog deaktiviert
  • Der Zielbetrag des Konfigurationsdialogs ist größer als 0

Wenn die Wallet verschlüsselt wurde (dies wird sehr eindringlich empfohlen), muss das Wallet-Passwort vor dem Mischen angegeben werden. Über Wallet für den Mischvorgang entsperren kann ausgewählt werden, dass die Wallet nur zum Mischen entsperrt wird.

../../_images/mixing-password.png

Ein Passwort nur zum Mischen für PrivateSend eingeben

Dies wird die Wallet entsperren und den PrivateSend-Mischvorgang starten. Die Wallet bleibt entsperrt, bis der Mischvorgang beendet wurde und sperrt sich dann automatisch selbst.

../../_images/mixing.png

PrivateSend-Schnittstelle nach dem Drücken des Knopfes mit der Aufschrift Starte Mixen. Als Status wird Aktiviert angezeigt.

PrivateSend wird damit beginnen, Transaktionen zu schaffen und das PrivateSend-Guthaben wird kontinuierlich wachsen. Dieser Vorgang kann einige Zeit in Anspruch nehmen. Im folgenden Abschnitt wird erklärt, wie dieser Vorgang genauer beobachtet werden kann.

Jede der folgenden Aktionen wird den Mischvorgang unterbrechen. Da die Transaktionen atomar sind (sie finden entweder ganz statt der gar nicht), ist es sicher PrivateSend zu jedem Zeitpunkt zu unterbrechen.

  • Den Knopf mit der Aufschrift Stop Mixing in der Übersicht-Registerkarte drücken
  • Den Client schließen, bevor der Mischvorgang beendet wurde
  • PrivateSend-Guthaben aus einer Wallet verschicken, bevor die PrivateSend-Runden beendet wurden
  • PrivateSend deaktivieren, bevor der Prozess beendet wurde

Mischen beobachten

Um PrivateSend mit mehr Details zu beobachten, müssen erweiterte Funktionen der Wallet aktiviert werden. Unter Einstellungen den Punkt Konfiguration auswählen und die entsprechenden Einstellungen in der Registerkarte Wallet auswählen. Bei „Coin Control“-Funktionen aktivieren und Erweiterte PrivateSend Schnittstelle anzeigen muss ein Haken gesetzt werden.

../../_images/privatesend-settings.png

Erweiterte PrivateSend-Funktionen in den Dash Core Wallet-Einstellungen aktivieren

Hierdurch können der Fortschritt und einzelne PrivateSend-Operationen, die im Hintergrund stattfinden, beobachtet werden.

../../_images/mixing-progress.png

PrivateSend Fortschritt beobachten

Da PrivateSend eine Vielzahl an neuen Adressen erschafft, die zum Senden und Empfangen der anonymisierten Denominationen verwendet werden, erscheint eine Warnung, sobald die verfügbare Zahl der Schlüssel gesunken ist. Dies ist kein Grund zur Sorge, da die Wallet sehr einfach neue Schlüssel generieren kann, wenn dies notwendig ist. Diese Schlüssel werden jedoch in einem vorhergehenden Backup der Wallet nicht existieren, weswegen es wichtig ist die Wallet erneut zu sichern, nachdem neue Schlüssel generiert wurden.

Der PrivateSend-Fortschritt wird auch ersichtlich, wenn die Transaktionen, die wegen des Mischvorgangs stattfinden, in der Transaktionen Registerkarte beobachtet werden.

../../_images/privatesend-transactions.png

Transaktionen, die wegen PrivateSend in der Transaktionen Registerkarte beobachtet werden können

Die folgende Tabelle beschreibt die PrivateSend-Transaktionstypen, die in der Typ-Spalte der Transaktionen Registerkarte aufgeführt werden:

PrivateSend Transaktions-Typ Transaktionsbeschreibung
PrivateSend Sicherheits-Eingänge machen (Mixing) Wallet-Guthaben wurde zu den Kollateral-Inputs bewegt, die dazu verwendet werden Kollateral-Zahlungen durchzuführen. Dies geschieht, damit der Ursprung des Kollaterals verschleiert wird.
PrivateSend Stückelung erzeugen (Mixing) Wallet-Guthaben wurde in PrivateSend-Denominationen aufgeteilt (Schritt 1 hier)
PrivateSend Stückelung (Mixing) Eine Transaktion wurde an eine Masternode gesandt, um eine Mischrunde einzuleiten (Schritt 3 hier)
PrivateSend Sicherheits-Zahlung (Mixing) Das Kollateral der Mischrunde wurde beansprucht. Diese Gebühr wird in ~10% der Mischrunden erhoben, damit Spam-Angriffe verhindert werden können.
PrivateSend (Zahlung) Gemischtes Guthaben wurde dazu verwendet eine Zahlung an jemanden zu versenden. Hinweis: Anders als bei den bisherigen 4 Transaktions-Typen, handelt es sich hierbei nicht um einen Teil des Mischvorgangs.

Über die Funktion Coin Control ist es möglich zu sehen, welche Adressen gemischte Denominationen enthalten und für PrivateSend Transaktionen verwendet werden können. In der Registerkarte Überweisen kann Coin Control über das Feld Inputs angewendet werden. Hier kann gesehen werden, welche Adressen Denominationen beinhalten und wie oft diese gemischt wurden. Hierdurch können gezielt Adressen verwendet werden, durch die nicht zu viel Wechselgeld entsteht, da PrivateSend aufrunden muss, damit ein Input vollständig ausgegeben wird. Das momentan nötige Guthaben, um eine PrivateSend-Transaktion durchführen zu können, liegt bei 0.00100010 Dash.

../../_images/privatesend-addresses.png

Der Coin Selection Dialog zeigt Adressen, die gemischte PrivateSend-Guthaben in unterschiedlichen Denominationen beinhalten

Mit PrivateSend bezahlen

PrivateSend kann zum Bezahlen verwendet werden, sobald genug Dash gemischt wurden, um damit den Gesamtbetrag zu versenden. Da der Mischvorgang einige Zeit in Anspruch nimmt, sollte er bereits unabhängig von einer Transaktion durchgeführt worden sein. Eine PrivateSend-Transaktion unterscheidet sich kaum von einer normalen Transaktion, doch sie wird nur aus solchen Adressen gespeist, die gemischte Denominationen enthalten. Da meistens mehrere Denominationen verwendet werden müssen, nimmt sie mehr Platz auf der Blockchain ein (in kb) und ist daher auch ein wenig teurer als normale Transaktionen.

Um eine Zahlung per PrivateSend zu versenden muss über die Registerkarte Überweisen die Option PrivateSend aktiviert werden. Das angezeigte Guthaben wird nun nur die bereits gemischten Beträge anzeigen. Empfänger, Bezeichnung und Betrag werden wie üblich eingetragen und zum Versenden wird ebenfalls der Knopf mit der Aufschrift Überweisen verwendet. Die Zahlung wird aufgerundet und es ist notwendig auf die geringste Denomination (momentan 0.001 Dash) aufzurunden. Zur Bestätigung muss das Passwort eingegeben werden, bevor eine vollständige Analyse der Transaktionskosten angezeigt werden, mit denen die PrivateSend-Transaktion durchgeführt werden kann.

../../_images/privatesend-send.png

Dash Core ist bereit eine PrivateSend-Transaktion durchzuführen. Hierfür muss PrivateSend aktiviert sein und der Transaktionsbetrag darf nicht die verfügbare PrivateSend-Gesamtsumme übersteigen.

InstantSend

Einleitung

Diese Dokumentation beschreibt, wie InstantSend dazu verwendet werden kann, sofortige Dash-Transaktionen rund um die Erde durchzuführen. Dash InstantSend wird von vielen verschiedenen Wallets und Händlern verwendet, zu denen auch (aber nicht nur) die folgenden gehören:

  • Dash Core Wallet
  • Dash Android Wallet
  • Dash iOS Wallet
  • My Dash Wallet
  • Kraken
  • Bitrefill
  • und viele mehr…

Mehr zur Theorie hinter InstantSend und dem exakten Verfahren gibt es hier.

Mit InstantSend bezahlen

InstantSend wird dadurch gewährleistet, dass es ein Quorum aus 10 Masternodes deterministisch festsetzt, damit jedes Quorum den Input einer InstantSend-Transaktion absichert. Die Masternodes untersuchen den Input und wenn eine Mehrheit diesen bestätigt, wird die Transaktion akzeptiert. Der Input wird nun von den Masternodes unter Verschluß gehalten, bis dieser durch 6 Blöcke bestätigt wurde, wodurch er erneut für eine InstantSend-Transaktion freigegeben wird. InstantSend unterscheidet sich dadurch von normalen Transaktionen, die nach einer Block-Bestätigung bereits weiterversandt werden können, selbst wenn sie aus einer InstantSend-Transaktion stammen. Laut der Gebührentafel wird für InstantSend-Transaktionen mit mehr als 4 Inputs eine höhere Gebühr erhoben. Wichtig ist, dass die empfangende Wallet InstantSend erkennt, da sie die Transaktion sonst wie eine normale Transaktion behandeln und nicht als sofort bestätigt ansehen würde. In diesem Fall müsste der Nutzer abwarten, bis die normalen Bestätigungen durch die Blockchain stattfinden.

Um mit InstantSend zu bezahlen muss lediglich ein Haken im entsprechenden Kästchen eingefügt werden. Die folgenden Screenshots zeigen wo sich dieses Kästchen in der Dash Core, der iOS und der Android Wallet befinden.

../../_images/instantsend-android.png ../../_images/instantsend-ios.png
../../_images/instantsend-dashcore.png

Dash Wallets mit InstantSend Option