Der CryptoNight-Mining-Algorithmus ist ein Mining-Algorithmus, der besonders CPU-effizient und ASIC-resistent sein soll. Dies mit dem Ziel, eine stärkere Dezentralisierung des Minings der Kryptowährungen, die es anwenden, zu ermöglichen, aber auch zu ermöglichen, dass diese Kryptowährungen erweiterte Datenschutz- und Anonymitätsoptionen bieten.
UEiner der bekanntesten Mining-Algorithmen ist CryptoNacht. Dieser Mining-Algorithmus ist Teil des bekannten Konsensprotokolls Crypto. CryptoNight nutzt das Mining-Schema Arbeitsnachweis (PoW) für seinen Betrieb und ist bestrebt, eine hohe Abhängigkeit von der zu bieten CPU, Widerstand leisten ASIC, FPGA y GPU.
Sein Hauptmerkmal ist, dass es sich um einen Algorithmus handelt Hash- sehr schnell. Es ermöglicht außerdem eine gute Skalierbarkeit und führt eine Reihe kryptografischer Tests durch, die stark vom Cache-Speicher der CPU-Prozessoren abhängig sind. Aber nicht nur das: Sein kryptografischer Kern basiert auf dem AES-Verschlüsselungsalgorithmus, einem sehr sicheren Algorithmus, der in einigen Versionen sogar als Verschlüsselung auf militärischem Niveau angesehen wird.
All dies macht CryptoNight zu einem Mining-Algorithmus, der sehr auf Sicherheit ausgerichtet ist, und das ist sein wichtigster Erfolgsfaktor in der Kryptowelt. Tatsächlich ist die Tatsache, dass die Kryptowährung Monero Die Wahl als Hash-Algorithmus für den Proof-of-Work-Konsens seiner Blockchain erhöhte die Sichtbarkeit von CryptoNight und eröffnete ihm einen Platz in der Kryptowelt.
Was ist nun die Geschichte hinter CryptoNight? Wie funktioniert dieser interessante Algorithmus? Antworten auf diese und weitere Fragen erhalten Sie wie immer weiter unten.
Ursprung des CryptoNight-Algorithmus
Die Entwicklung von CryptoNight lässt sich zurückverfolgen Dezember 12 2012, wenn der Entwickler Nikolaus von Saberhagen stellte der Welt das Konsensprotokoll vor Crypto. Nicolas van Saberhagen ist ein fiktiver Name und die Identität des Entwicklers ist völlig rätselhaft, bis zu dem Punkt, dass er mit der von Satoshi Nakamoto konkurriert. Tatsächlich, Viele Experten glauben, dass Nicolas van Saberhagen und Satoshi Nakamoto dieselbe Person sind. Daher wurde in Anlehnung an diese mögliche Tatsache der Name Satoshi van Saberhagen geboren.
Aber weit entfernt vom Feld der Spekulation ist CryptoNote Realität. Die Einführung dieses Protokolls an einem solch auffälligen Datum (genauer gesagt am 12) erregte die Aufmerksamkeit der Krypto-Community. Dies liegt daran, dass CryptoNote über erweiterte Funktionen verfügte, die Dinge wie versprachen vertrauliche Transaktionen. Zusätzlich zu nicht verknüpfbaren Transaktionen, Ringsignaturen, kleineren Transaktionen und verstärkter Sicherheit.
Später im März 2013 wurde die vollständige CryptoNight-Spezifikation, der Mining-Algorithmus, der CryptoNote Wirklichkeit werden lassen würde. Hinter dieser Entwicklung stehen die Entwickler Seigen, Max Jameson, Tuomo Nieminen, Neocortex und Antonio M. Juarez.
Das CryptoNote-Projekt und sein Mining-Algorithmus wurden ursprünglich von Bytecoin (BCN) übernommen und auf ihre Blockchain angewendet. Doch erst mit der Gründung von Monero (XMR) erlangte dieses Projekt in der Kryptowelt große Bekanntheit.
So funktioniert CryptoNight
Der Betrieb von CryptoNight basiert auf einer Reihe von Eigenschaften, die es für das GPU-Mining sehr geeignet machen. Diese Eigenschaften sind:
- Verwendet native AES-Verschlüsselung. CPUs mit Hardwarebeschleunigungsfähigkeit für AES-Berechnungen können von dieser Tatsache stark profitieren und über ein größeres Mining-Potenzial verfügen.
- Verwendung sicherer Hash-Funktionen wie Keccak und Blake-256.
- Es verwendet einen Satz schneller 64-Bit-Multiplikatoren. Aus diesem Grund sind reine 64-Bit-CPU-Architekturen äußerst effizient. Auch der Einsatz auf CPUs dieses Typs ist möglich VLIW von 128 auf 512 Bit, wobei der Algorithmus die Vorteile paralleler Mining-Pools durch Leistungssteigerung nutzen könnte.
- Intensive Nutzung von CPU-Cache-Speichern. Der Algorithmus von CryptoNight passt seine Cache-Nutzung an, um das Beste daraus zu machen. Tatsächlich ist die Leistung umso besser, je mehr Cache die CPU hat.
Wenn wir uns diese vier Säulen ansehen, werden wir feststellen, dass sie alle sehr CPU-zentriert sind. Tatsächlich sind einige dieser Funktionen auf einer CPU viel effizienter als auf jeder anderen Rechenstruktur, einschließlich ASICs. Dadurch ist CryptoNight resistent gegen sie.
Aber das sind natürlich nur die Säulen und nicht die Funktionsweise des Algorithmus, das erklären wir weiter unten.
Starten des Hashing-Systems
Die Arbeit von CryptoNight beginnt mit der Initialisierung seines Arbeitsbereichs. Zu diesem Zweck verwendet CryptoNight eine Reihe kryptografischer Grundelemente:
- AES-Verschlüsselung
- Keccak-Hash-Funktion, die als Hauptvehikel zur Hash-Erzeugung innerhalb des Algorithmus verwendet wird.
- SHA-3-Hash-Funktion. SHA-3 ist eine von Keccak abgeleitete Hash-Funktion und wird zusammen mit BLAKE-256, Groestl-256, JH-256 und Skein-256 verwendet, um die Generierung kryptografischer Workspace-Hashes von CryptoNight zu stärken.
Erstellen des AES-Schlüssels und Verschlüsseln des Keccak-Hashs
Der wichtigste Teil des Prozesses ist die Erstellung des AES-Schlüssels. Dies ist während der ersten Betriebsrunde von Hash-Funktionen möglich. Zunächst nimmt CryptoNight eine Dateneingabe entgegen und leitet sie an die Keccak-Funktion weiter. Bereiten Sie dazu eine Keccak-1600-Funktion mit einer Breite von 1600 Bit vor. Im Vergleich dazu verwenden Bitcoin und seine SHA-256-Hash-Funktion 256-Bit- oder 64-Zeichen-Wörter. Während Keccak-1600 viel größere Hashes erzeugt, 1600 Bits oder 400 Zeichen insgesamt, mit einer Größe von 200 Bytes.
Anschließend werden die ersten 31 Bytes dieses Keccak-1600-Hashs in den Verschlüsselungsschlüssel für einen AES-256-Algorithmus umgewandelt, den höchsten Wert innerhalb der AES-Familie. Dazu wird dieses kleine Datenfragment in zehn Runden verschlüsselt. Der Rest des Hashs wird mit AES-256 verschlüsselt und durchläuft ebenfalls eine Runde von 10 Verschlüsselungszyklen.
Die restlichen Informationen werden dann aus dem Keccak-Hash entnommen und mit AES-256 verschlüsselt. Dieser Prozess erzeugt eine große Datenmenge, die dann an den CryptoNight-Arbeitsbereich oder das Scratchpad gesendet wird. Nach Abschluss dieses Vorgangs ist der CryptoNight-Arbeitsbereich vorbereitet und der Hash-Generierungszyklus beginnt.
Generierung des endgültigen Hashs
Die durch diese Aktionen gesammelten Daten speisen nun den Kern der Hash-Funktionen. Wie gesagt, der wichtigste ist Keccak, zu dem BLAKE-256, Groestl-256, JH-256 und Skein-256 hinzukommen.
Was CryptoNight tut, ist, den gesamten Datensatz, der im vorherigen Schritt von den AES-256- und Keccak-Funktionen erstellt wurde, durch die restlichen Hash-Funktionen zu leiten. Am Ende erhalten Sie einen endgültigen Hash, der das Ergebnis des Arbeitsnachweises von CryptoNight ist. Dieser Hash ist 256 Bit lang oder insgesamt 64 Zeichen.
Vor- und Nachteile des Algorithmus
Vorteile
- Sehr anpassbar. Daten wie das Mining-Ziel und der Schwierigkeitsgrad können zwischen Blöcken angepasst werden, ohne dass die Sicherheit des Netzwerks gefährdet wird.
- Es konzentriert sich auf die CPU. Dies macht das Mining mit ASICs komplex und teuer in der Durchführung.
- Es ist auf kryptografischer Ebene äußerst sicher. Durch den Einsatz von AES-256 und die Verbindung von Verschlüsselungstechniken und Hash-Funktionen wird in gewisser Weise gewährleistet, dass stets ein hohes Maß an Sicherheit erreicht wird.
- Es ist energie- und recheneffizient.
- Angesichts des gebotenen Sicherheitsniveaus ist der Umfang der kryptografischen Testergebnisse von CryptoNight gering. Dadurch kann die Anzahl der Transaktionen innerhalb der Blöcke maximiert werden.
- Angesichts der Art und Weise, wie CryptoNight Informationen zum Mining von Blöcken verarbeitet, besteht die Möglichkeit, auf native Weise nicht nachvollziehbare Transaktionen zu erstellen.Zu. Tatsächlich konnte Monero diese Transaktionen dank CryptoNight aufbauen.
Contras
- ASIC-Widerstandsfähigkeit nicht mehr realisierbar. Dies liegt daran, dass sich die ASICs mit großer Effizienz an meinen Algorithmus anpassen konnten.
- CryptoNight ist ein äußerst komplexer Algorithmus und schwer zu prüfen. Aus diesem Grund haben Entwickler eine große Komplexitätskurve, um diesen Algorithmus auf mögliche Fehler zu prüfen.
- Die Verwendung spezifischer CPU-Anweisungen wie AES kann dazu führen, dass der Algorithmus seitlich angegriffen wird. Es besteht die Möglichkeit, Schwachstellen innerhalb des Prozessors auszunutzen (wie im Fall von TSX oder Schwachstellen wie Spectre/Meltdown), die die Sicherheit des Algorithmus beeinträchtigen und somit die Sicherheit der Blockchain untergraben könnten, die diesen Mining-Algorithmus verwendet.
Wie viel weißt du, Kryptonaut?
Bedeutet die Aufgabe der Entwicklung von CryptoNight, dass es sich nicht mehr um einen sicheren Algorithmus handelt?WAHR!
Die Aufgabe von CryptoNight zugunsten von RandomX durch Monero (die wichtigste Entwicklergemeinschaft) wird dazu führen, dass CryptoNight nach und nach zu einem unsicheren Algorithmus wird. Wenn eine Schwachstelle oder ein Fehler entdeckt wird, wird diese möglicherweise nicht behoben. Stattdessen werden einige Projekte, die CryptoNight nutzen, sicherlich den Sprung zu anderen sichereren und aktiv gepflegten Protokollen wagen.
Entwicklung von CryptoNight
CryptoNight ist einer der wenigen kryptografischen Algorithmen, der im Laufe seiner Geschichte zahlreiche Modifikationen erfahren hat. Seit dem Erscheinen von Version 1, demonstriert in seiner Whitepaper, bis zur Entwicklung von CryptoNight-R, der neuesten von Monero entwickelten Version von CryptoNight.
Dennoch zielen die Änderungen und neuen Versionen von CryptoNight darauf ab, zu verhindern, dass ASIC-Mining die Widerstandsbemühungen des Algorithmus zunichte macht. Aber jede neue Änderung in der Struktur zu diesem Zweck führt zu mehr Komplexität und mehr Fehlerquellen. Dies war der Hauptgrund, warum seine Entwicklung gestoppt wurde (zumindest von Monero, seinem wichtigsten Mitglied in der Community).
Im Moment können wir also sagen, dass CryptoNight ein Algorithmus ist, der den Höhepunkt seiner Entwicklung erreicht hat, um zu verhindern, dass ASICs diesen Algorithmus offen ausnutzen können.
Blockchains, die den Algorithmus verwenden
Bytecoin (BTN) ist die erste Blockchain, die CryptoNight nutzt. Die nächste Blockchain, die ihn nutzte, war Monero, und tatsächlich wurde dieser Algorithmus dort am meisten entwickelt. Monero hat diesen Algorithmus jedoch zugunsten von aufgegeben ZufälligX, eine vollständige Weiterentwicklung von CryptoNight, die äußerst ASIC-resistent ist und dies zumindest für eine Weile tun wird.
Eine weitere Blockchain, die CryptoNight verwendet, ist Electroneum (ETN), die so konzipiert ist, dass mobile Geräte als vollständige Knoten und Mining-Knoten dienen können.