Hallo Habr!
Heute werde ich darüber sprechen, wie wir einen Transaktionsmixer für unseren Messenger entwickelt haben. Bisher werde ich über das Konzept als Ganzes sprechen. Ich hoffe, es wird sowohl für Entwickler als auch für diejenigen interessant sein, die sich leidenschaftlich für Anonymität, Datenschutz und den Rest der Chiffrierbank interessieren.
Kurzer Hintergrund. Wie Sie bereits wissen, arbeitet unser Messenger mit einer eigenen Blockchain und implementiert die Übertragung mehrerer Kryptowährungen in Chatrooms. Hinzufügen: Die Verbindungen zwischen den Brieftaschen sind öffentlich. Daher ist die Tatsache der Korrespondenz und Übertragung von Token in der Blockchain verfügbar und bestätigt. Aber manchmal ist es die Tatsache der Kommunikation (oder des Geldtransfers), die Kompromisse eingehen kann! Jeder erinnert sich an die drei Musketiere und die Anhänger der Königin, oder?

Unsere Benutzer haben uns darauf hingewiesen, dass es Zeit ist, diese "Datenschutzlücke" zu beseitigen. Daher haben wir zunächst Nachrichtentransaktionen und Servicetransaktionen aus unserem Block-Explorer entfernt. Daher kann ein gewöhnlicher Benutzer jetzt nicht die Tatsache der Entsprechung zwischen zwei Nummern feststellen.
Transaktionen werden jedoch weiterhin in der Blockchain gespeichert, und ihre Metadaten können mithilfe der API abgerufen werden. Aus diesem Grund haben wir uns entschlossen, einen Transaktionsmixer zu erstellen, der angeschlossen werden kann, wenn es wichtig ist, die Tatsache der Übertragung oder Korrespondenz zu verbergen.
So funktioniert es: zusammenbauen und teilen
Wir haben uns für eine Technologie entschieden, die der von bekannten anonymen Kryptowährungen ähnelt: Z-Cash, Monero und andere.
Der Mischer fungiert hier als Vermittler. Wie jeder Benutzer unseres Messenger hat er seine eigene eindeutige Adresse. Wenn eine Nachricht oder Übersetzung über den Mixer gesendet wird, wird in der Blockchain ein Datensatz angezeigt, in dem Benutzer A eine Transaktion mit der Mixeradresse durchgeführt hat.
Der Mixer sammelt Nachrichten und Übersetzungen und sendet sie von ihrer Adresse an die Empfänger. Benutzer B erhält eine Nachricht nicht von Benutzer A, sondern vom Mixer.
Je mehr Menschen den Dienst nutzen, desto mehr Anonymität bietet er. Wenn der Mixer viele eingehende und ausgehende Transaktionen hat, ist es schwierig zu verfolgen, an welche Adresse Benutzer A eine Nachricht gesendet hat. Darüber hinaus führt der Mixer Zwischentransaktionen zwischen internen Geldbörsen durch.
Niemandem kann vertraut werden
Im Internet kann niemandem vertraut werden, einschließlich eines Mischpults. Deshalb haben wir es so gemacht, dass der Vermittler den Nachrichtentext nicht entschlüsseln konnte - nur die Adresse des Empfängers. Dies wird dadurch erreicht, dass die Nachricht zweimal verschlüsselt wird.
Klassischer Sendemechanismus
MischersendemechanismusLassen Sie mich in Worten erklären, wie der Prozess abläuft.
- Alice verschlüsselt zuerst den Nachrichtentext mit Bobs Schlüssel.
- Dann fügt er Bobs Adresse hinzu und verschlüsselt sie erneut mit der Mixer-Taste.
- Der Mixer kann nur seinen Teil entschlüsseln und Bobs Adresse erhalten.
- Danach fügt der Mixer ihre Adresse zu Alices verschlüsselter Nachricht hinzu und verschlüsselt sie mit Bobs Schlüssel.
- Bob extrahiert die Nachricht aus der Blockchain, bei der ersten Entschlüsselung erkennt er den Absender, bei der zweiten den Nachrichtentext.
Der Mixer kennt jedoch die Adressen von Absendern und Empfängern, und es besteht ein potenzielles Risiko, diese Informationen offenzulegen. Mit einer höheren Cyber-Paranoia können Sie sich mit einem System aus mehreren Mischern um 146% verteidigen.
Noch etwas Haute Cuisine
Kryptowährungszahlungen in unserem Messenger können auch über einen Mixer erfolgen. Dadurch wird die Verbindung zwischen den Brieftaschen ausgeblendet. Der Absender gibt den Übertragungsbetrag, die Adressen und die maximale Zeitverzögerung an, und der Mischer sendet Token in Teilen und zu unterschiedlichen Zeiten. Es sammelt Transaktionen mehrerer Benutzer und führt Transaktionen zwischen internen Brieftaschen durch, wodurch die Verbindung zwischen Empfängern und Absendern verborgen wird.

Gleichzeitig wird die Kryptowährung einige Zeit in seinen Brieftaschen gespeichert. Daher muss dem Mischer vertraut werden. Um Betrug unrentabel zu machen, werden wir eine Gebühr für die Registrierung öffentlicher Mixer erheben und Bewertungen abgeben.
Die Gründer des Mixers haben die Wahl, ob sie öffentlich (für jedermann zugänglich) veröffentlicht werden sollen, während sie Transaktionsgebühren erheben und Gewinne erzielen. Oder registrieren Sie es nicht in der allgemeinen Registrierung. Dann ist der Mixer anonym, erhält aber auch keinen Gewinn aus Transaktionen. Dies ist eine Option für diejenigen, die den Service für sich selbst konfigurieren möchten - beispielsweise für die Korrespondenz von Mitarbeitern des Unternehmens.
Wenn wir das Konzept erfolgreich umsetzen, werde ich etwas später einen „technischen“ Beitrag zum gleichen Thema verfassen.