Qubic Krypto-Details

Verfasst von

Qsilver

31.12.2023

In der inoffiziellen provisorischen Whitepaper (Qubic inoffizielles provisorisches Whitepaper) bin ich nicht auf die genauen Krypto-Algorithmen eingegangen und für diejenigen, die sich nicht wohl dabei fühlen, C++-Code zu lesen, habe ich dieses kleine Addendum geschrieben:

Anstelle von SHA256-Hashing verwendet Qubic K12 (Keccak-Team), was eine Verbesserung gegenüber SHA256 und natürlich schneller ist. Abgesehen von der Substitution von K12 für SHA256 verwendet Qubic die Standard-Public-Key-/Privat-Key-Kryptographie auf übliche Weise! Einer der wenigen Bereiche, in denen alles gleich ist.

Extern wird ein 55-stelliges kleingeschriebenes Alpha Seed verwendet, aber dieser wird auf binäre Werte von 0 bis 25 abgebildet und dann zweimal mit K12 gehasht, um den tatsächlichen 256-Bit-Privat-Key zu erzeugen. Der Public Key wird aus dem Private Key mit einem ecc_mul_fixed-Aufruf generiert. Die vom Benutzer sichtbaren Adressen werden aus den Bits des Public Keys mit einer Prüfsumme, die auf K12 des Public Keys basiert, generiert. All dies und selbst das Erstellen eines TxHashs erfolgt in 100 Zeilen leicht verständlichen Codes in qubic-cli/keyUtils.cpp

Aufmerksame Leser werden bemerken, dass, da intern der Seed auf einen 256-Bit-High-Entropy-Privat-Key abgebildet wird, eine Wallet 24 BIP39-Wörter implementieren könnte, um Benutzeradressen anstelle der qubic-spezifischen 55-Zeichen-Seeds zu verwalten.

Jedes Mal wird ein neuer Satz von Computern basierend auf der Leistung der vorherigen Epoche vom Schiedsrichter bestimmt. Die Liste der 676 Computer wird vom Schiedsrichter ausgestrahlt, und dies ermöglicht es allen Knoten, zu überprüfen, dass der richtige Computer einen bestimmten Tick signiert hat. Jeder Tick wird der nächste Computer auf der Liste zum Tick-Leader und wird ihn signieren, wenn er Quorum erreicht. Somit kann die Tick-Daten verifiziert werden, indem eine Signatur vom richtigen Computer vorhanden ist.

Natürlich kann dann jede Transaktion verifiziert werden, um zu überprüfen, ob sie vom entsprechenden Private Key unterschrieben wurde. Dies macht alles in Qubic kryptographisch verifizierbar, auch wenn keine explizite Verbindung zwischen den Blöcken besteht.

Selbst der leere Tick muss von einem Quorum zugestimmt werden, dass der Tick leer war, sodass Knoten nicht dadurch angegriffen werden können, dass ihnen ein leerer Tick gesendet wird, wenn er tatsächlich nicht leer war.

© 2024 Qubic. Alle Rechte vorbehalten.

German

© 2024 Qubic. Alle Rechte vorbehalten.

German

© 2024 Qubic. Alle Rechte vorbehalten.

German