Zerocoin

Aus Bitcoin Wiki
Dies ist die bestätigte sowie die neueste Version dieser Seite.
Wechseln zu: Navigation, Suche
Zerocoin logo

Zerocoin ist eine Kryptowährung, die der Professor der Johns Hopkins University, Matthew D. Green, und seine Doktoranden Ian Miers und Christina Garman als Erweiterung des Bitcoin-Protokolls vorgeschlagen haben, um Bitcoin-Transaktionen eine echte kryptographische Anonymität zu verleihen. Zerocoin wurde zuerst in eine voll funktionsfähige Kryptowährung implementiert, die von Poramin Insom als Zcoin veröffentlicht wurde. Zerocoin sorgt für Anonymität durch die Einführung eines separaten Mixing-Service, der als ZeroCoin bezeichnet wird und in der Bitcoin-Blockchain gespeichert wird. Obwohl ursprünglich für die Verwendung mit dem Bitcoin-Netzwerk vorgeschlagen, kann Zerocoin in jede Kryptowährung integriert werden.

Beschreibung[Bearbeiten]

Was ist Zerocoin? (SUPER Einfach)

Bitcoin-Transaktionen werden alle standardmäßig in einem öffentlichen Hauptbuch (der Blockchain) gespeichert, auf das alle zugreifen können. Diese Transaktionen bieten Privatsphäre durch Pseudonymität, da jede Transaktion der öffentlichen Adresse des Absenders und des Empfängers zugeordnet ist, die Namen der Besitzer dieser Adressen jedoch zu keinem Zeitpunkt dem Bitcoin-Netzwerk bekannt gemacht werden. Um die Privatsphäre zu erhöhen, kann jede Person beliebig viele öffentliche Adressen erstellen, was die Verknüpfung von Transaktionen mit derselben Person erschwert. Wenn zusätzliche Privatsphäre erforderlich war, ist es möglich, Bitcoin über einen vertrauenswürdigen Dritten zu waschen, wobei die eingegebenen Münzen in einem großen Pool gemischt und an eine neue Adresse ausgegeben werden

Ungeachtet der besten Vorsichtsmaßnahmen wird es durch Data Mining der Blockchain in bestimmten Fällen möglich, einen Satz öffentlicher Adressen mit einer bestimmten (unbenannten) Person zu verknüpfen. Dies könnte zum Beispiel durch die Analyse der Ausgabegewohnheiten oder durch die Änderung einer Transaktion von einer öffentlichen Adresse an eine andere erfolgen. Durch die Verwendung von Informationen außerhalb der Blockchain, wie beispielsweise öffentliche Bitcoin-Adressen, die auf einer Website veröffentlicht sind, oder die Postadresse, die bei einem Bitcoin-Kauf verwendet wird, besteht außerdem die Möglichkeit, dass jede einzelne Bitcoin-Transaktion einer bestimmten Person bestimmt werden kann.

Zerocoins werden mit Bitcoin in festen Nennwerten durch eine Zerocoin-Münztransaktion erworben. Später können diese Zero-Münzen durch eine Zero-Coin-Auszahlungstransaktion gegen Bitcoin an eine andere Bitcoin-Adresse eingelöst werden. Durch die Verwendung kryptographischer Akkumulatoren und digitaler Commitments mit Zero-Knowledge-Proofs ist es nicht möglich, die Bitcoin-Adresse, die zum Prägen des ursprünglichen Nullcoin verwendet wurde, mit der Bitcoin-Adresse zu verknüpfen, die zum Einlösen des Nullcoin verwendet wurde.

Zerocoin protocol[Bearbeiten]

Die Zero-Coin-Erweiterung für Bitcoin hätte als Geldwäschepool fungieren können und Bitcoins temporär als Gegenleistung für eine temporäre Währung namens Zero-Coins zusammengefasst. Zwar ist der Wäschepool ein etabliertes Konzept, das bereits von mehreren Währungs- wäschediensten verwendet wird, aber Zerocoin hätte dies auf Protokollebene implementiert, wodurch das Vertrauen auf vertrauenswürdige Dritte entfällt. Es anonymisiert den Austausch zum und vom Pool nach kryptografischen Prinzipien. Als vorgeschlagene Erweiterung des Bitcoin-Protokolls hätte es die Transaktionen innerhalb der bestehenden Blockchain von bitcoin aufgezeichnet.

Die durch ZeroCoin gebotene Anonymität ist das Ergebnis kryptografischer Vorgänge, die mit separaten Zerocoin-Münz- und Ausgabentransaktionen verbunden sind. Um einen Nullmünzen zu prägen, erzeugt eine Person eine zufällige Seriennummer S und verschlüsselt diese in eine Münze C unter Verwendung der zweiten Zufallszahl r. In der Praxis ist C eine Pedersen-Verpflichtung. Die Münze C wird von Bergarbeitern zu einem kryptographischen Akkumulator hinzugefügt, und gleichzeitig wird die Menge an Bitcoin, deren Wert gleich dem Nennwert des Nullcoin ist, zu einem Nullcoin-Treuhandpool addiert.

Um das Zerocoin in Bitcoin einzutauschen (vorzugsweise in eine neue öffentliche Adresse), muss der Besitzer der Münze zwei Dinge anhand eines Zero-Knowledge-Beweises beweisen. (Ein Zero-Knowledge-Beweis ist eine Methode, mit der eine Partei einer anderen Aussage beweisen kann, dass eine bestimmte Aussage wahr ist, ohne zusätzliche Informationen zu übermitteln, abgesehen von der Tatsache, dass die Aussage tatsächlich wahr ist.) Die erste ist, dass sie eine Münze C kennen das gehört zur Menge aller geprägten Nullmarken (C1, C2, ... Cn), ohne zu enthüllen, um welche Münze es sich handelt. In der Praxis wird dies schnell durch Verwendung eines Einwegakkumulators erreicht, der die Mitglieder des Satzes nicht anzeigt. Die zweite ist, dass die Person eine Nummer r kennt, die zusammen mit der Seriennummer S einem Nullcoin entspricht. Der Nachweis und die Seriennummer S werden als Zero-Münzen-Auszahlungsbuchung gebucht, wobei Bergleute den Nachweis überprüfen und die Seriennummer S zuvor noch nicht ausgegeben wurde. Nach der Verifizierung wird die Transaktion in die Blockchain gebucht, und die Bitcoin-Menge, die dem Zerocoin-Nennwert entspricht, wird aus dem ZeroCoin-Escrow-Pool übertragen. Die Anonymität in der Transaktion ist gewährleistet, da die geprägte Münze C nicht mit der zur Einlösung der Münze verwendeten Seriennummer S verbunden ist.

Der für den Zero-Knowledge-Beweis verwendete Akkumulator müsste bei jeder Verifizierung einer Spendentransaktion erneut berechnet werden, und obwohl dies inkrementell erfolgen kann, wenn der Akkumulatorprüfpunkt von früheren Blöcken auf den neuen Block übertragen wird, würde er dennoch hinzufügen etwas Aufwand für den Überprüfungsprozess. Zusätzlich müssten jedem Bitcoin-Block sowohl der Akkumulator-Checkpoint als auch alle Seriennummern von ZeroCoin hinzugefügt werden, wodurch die Größe erhöht wird (wenn auch nicht wesentlich).

Da der Verifizierungsprozess für Zerocoins viel rechenintensiver ist als für Bitcoins, würde sich die Verifizierungszeit für einen Block je nach Verhältnis zwischen Bitcoins und ZeroCoins um das 6-Fache erhöhen. Vorläufige Tests, die von den Entwicklern durchgeführt wurden, zeigen, dass die Überprüfungszeit für einen gesamten Block selbst bei einer erhöhten Verifizierungszeit und doppelt so großen Blöcken der aktuellen Bitcoin-Blöcke nicht mehr als fünf Minuten betragen würde, und da alle zehn Minuten ein neuer Bitcoin-Block erstellt wird Im Durchschnitt sollte die erhöhte Überprüfungszeit kein Problem darstellen.

Zcoin (XZC)[Bearbeiten]

Zerocoin wurde zuerst in eine voll funktionsfähige Kryptowährung namens Zcoin (XZC) implementiert, ein Projekt, das am 28. September 2016, 12 Uhr UTC, live ging. Die testnet-Software des Projekts wurde erstmals am 18. Dezember 2015 unter dem Namen Moneta (nicht Moneta Verde (MCN)) veröffentlicht, bevor sie Zcoin genannt wurde. Roger Ver war einer der ersten Investoren von Zcoin, genau wie Zcash.

Private Instant Verified Transaction (PIVX)[Bearbeiten]

PIVX ist die erste Kryptowährung, die das Zerocoin-Protokoll implementiert hat. Zerocoin ist am 16. Oktober 2017 bei PIVX online gegangen.

Siehe auch[Bearbeiten]

Ressourcen[Bearbeiten]