John Tromp: Making Computer Science Great Again

John Tromp Making Computer Science Great Again

“PoW (Proof-of-Work) sorgt für eine gerechtere Verteilung der Coins, da alle unter gleichen Bedingungen konkurrieren müssen. Eine gleichbleibende Belohnung, die zu linearer Ausschüttung führt, verlängert diesen fairen Wettbewerb bis in alle Ewigkeit.”

John Tromp

Key Takeaways

  • Cuckoo-Cycle ist ein speichergebundener Proof-of-Work-Mining-Algorithmus, der versucht, einen Kreislauf innerhalb eines bestimmten Diagrammtyps, eines zweigeteilten Diagramms, zu finden. Ein Diagramm ist, vereinfacht gesagt, eine Menge von Punkten, die mit Linien verbunden sind.
  • Es gibt mindestens zwei Hersteller von Mining-Maschinen, die ASICs für Cuckoo-Cycle-Blockchains herstellen, insbesondere für eine Blockchain, die als Grin bekannt ist. Diese beiden Unternehmen sind Obelisk und InnoSilicon .
  • Es gibt einige Projekte, die den Cuckoo-Cycle-Mining-Algorithmus von Tromp implementieren. Aeternity , das in Liechtenstein ansässige Blockchain-Einhorn-Projekt, verwendet Cuckoo-Cycle, so auch das Blockchain-Protokoll MimbleWimble, das die Privatsphäre schützt.

John Tromp vom Cuckoo Cycle

John Tromp (1) ist der Erfinder des Cuckoo-Cycle(2)-Mining- Algorithmus und seiner Varianten (Cuckatoo-Cycle und Cuckaroo- Cycle). Überdies zählt er zu den Kernentwicklern der Blockchain Grin(3), die sich auf den Datenschutz konzentriert. Dabei kommt das MimbleWimble72-Protokoll zum Einsatz, ein Protokoll zum Schutz der Privatsphäre. MimbleWimble wendet seinen Cuckoo-Cycle(4)-Mining- Algorithmus an. Darüber hinaus ist Tromp dafür bekannt, eine Mining- Softwareimplementierung bzw. einen Solver des Equihash(5) Mining-Algorithmus für Zcash(6) entwickelt zu haben. Tromp ist einer der intelligentesten Informatiker im Krypto-Bereich, mit dem wir uns unterhalten durften. Er ist nicht nur einer der klügsten Köpfe in diesem Bereich, sondern auch einer der bescheidensten.

Was ist der Cuckoo-Cycle?

Laut Tromp ist Cuckoo-Cycle ein speichergebundener Proof of-Work-Mining- Algorithmus, der versucht, einen Kreislauf innerhalb eines bestimmten Diagrammtyps, eines zweigeteilten Diagramms, zu finden. Im Falle des Cuckoo- Cycle bedeutet speichergebunden, dass die Lösungsrate, die ein Miner erreichen kann, von der Speicherbandbreite des Miners abhängt, im Gegensatz zur Speicherkapazität oder der Verarbeitungsleistung eines Miners. Ein Diagramm ist, vereinfacht gesagt, eine Menge von Punkten, die mit Linien verbunden sind. Ein zweigeteiltes Diagramm besteht aus zwei Punktsätzen, bei denen es keine Linien zwischen den Punkten innerhalb dieser Gruppe gibt, sondern nur Linien, die Punkte zwischen den beiden Gruppen verbinden. Wenn die Linien zwischen diesen Gruppen einen Kreislauf bilden, oder anders ausgedrückt, eine Schleife, wird dieser Kreislauf als zweigeteiltes Diagramm bezeichnet.

Tromp verglich den Cuckoo Cycle mit dem Hashcash (7) Mining-Algorithmus von Bitcoin und beschreibt den Cuckoo-Cycle eher als einen Proof-of-Work als einen Hashcash, da es enorm arbeitsintensiv ist, eine Lösung zu finden. Tromp betrachtet Hashcash daher auch eher als einen Proof-of-Luck als einen Proof-of-Work. Damit ein Miner den Cuckoo-Cycle-Proof of-Work lösen kann, muss er einen Kreislauf der Länge 42 finden. Sobald ein solcher Kreislauf gefunden wurde, wird ein zusätzlicher Filter des Hashcash-Algorithmus auf das Ergebnis des aufgefundenen Kreislaufs angewendet. Laut Tromp ermitteln Cuckoo-Cycle Miner die Geschwindigkeit einer Maschine anhand ihrer gemessenen Graphrate anstatt anhand der Maßzahl der Hashrate, die zur Berechnung der Miner-Geschwindigkeit von Hardware für Blockchains wie Bitcoin und Ethereum herangezogen wird. Hashrate bedeutet schlichtweg, wie viele Hashes ein Miner pro Sekunde berechnen kann. Die Graphrate zeigt an, wie viele Diagramme pro Sekunde berechnet werden können. Tromp hat außerdem die Genauigkeit („fidelity“) definiert. Hierbei handelt es sich um die Wahrscheinlichkeit, dass ein Miner einen Kreislauf der Länge 42 findet. Daher messen die Cuckoo-Cycle-Miner die Geschwindigkeit ihrer Hardware mittels einer Kombination aus Graphrate und Genauigkeit, um ihre Mining-Geschwindigkeit zu bestimmen.

Variationen des Cuckoo-Cycle

Das ursprüngliche Cuckoo Cycle-Whitepaper (8) wurde im Jahr 2014 verfasst. Seitdem gab es eine Reihe von Neuerungen, die im ursprünglichen Whitepaper nicht behandelt werden. Tromp präsentierte den Cuckoo-Cycle zunächst als ASICresistenten Proof-of-Work. ASIC-resistent bedeutet, dass ein zur Berechnung des Cuckoo Cycle programmierter ASIC einem Miner nicht notwendigerweise einen Wettbewerbsvorteil gegenüber anderen Formen des Minings bietet, beispielsweise gegenüber einem GPU-Miner. Nachdem Trump ursprünglich der Meinung war, dass der Cuckoo Cycle ASIC-resistent sei, hat er seine Position geändert und vertritt jetzt die Ansicht, dass eine Variante des Cuckoo-Cycle ASIC-freundlich ist und dass ASICs so hergestellt werden könnten, dass sie Speichermodule nutzen können. Die andere Variante des Cuckoo-Cycle könne jedoch ASIC-resistent sein. Diese Vermutung muss jedoch noch geprüft werden, da sich zukünftige Entwicklungen möglicherweise anders auswirken.

Es gibt mindestens zwei Hersteller von Mining Maschinen, die ASICs für Cuckoo- Cycle-Blockchains herstellen, insbesondere für eine Blockchain, die als Grin bekannt ist. Diese beiden Unternehmen sind Obelisk(9) und InnoSilicon(10). Eine
Variante des Cuckoo-Cycle, die ASIC-resistent ist, heißt Cuckaroo-Cycle. Die
andere, Cuckatoo(11)-Cycle, ist speziell dafür konzipiert, ASICs gegenüber
„aufgeschlossen“ zu sein.

Welche Projekte benutzen Cuckoo-Cycle?

Es gibt einige Projekte, die den Cuckoo-Cycle-Mining Algorithmus von Tromp implementieren. Aeternity(12), das in Liechtenstein ansässige Blockchain-Einhorn- Projekt, verwendet Cuckoo-Cycle, so auch das Blockchain-Protokoll MimbleWimble, das die Privatsphäre schützt. Die Blockchain-Projekte Grin und Beam(13) verwenden ebenfalls das MimbleWimble-Protokoll und beruhen daher auch auf dem Cuckoo-Cycle. Es gibt sogar ein Forschungsprojekt namens cuckoohttp(14), das mit dem Cuckoo-Cycle experimentiert, um Denial-of- Service-Angriffe auf Webserver zu verhindern(15).

MimbleWimble

MimbleWimble ist eine Blockchain-Protokoll Implementierung, die sich um den Schutz der Privatsphäre bemüht und deren Name der fiktionalen Harry-Potter Buchreihe entlehnt ist. Laut der offiziellen MimbleWimble Dokumentation(16) wurde „MimbleWimble als Idee anonym veröffentlicht. Es ist eine Blockchain auf Proof-of Work-Basis, aber mit sonst fast nichts.“ Die erste Implementierung von MimbleWimble wurde von einer anonymen Online- Persönlichkeit namens Ignotus Peverell vorgeschlagen, die ihren Namen einer Figur aus der Harry-Potter-Reihe verdankt. Die Anlehnung an den ähnlich anonymen Ursprung Bitcoins, der vom unbekannten Satoshi Nakamoto geschaffen wurde, fällt leicht ins Auge. Diese erste Implementierung wurde schließlich als Grin bekannt. Tromp war besonders begeistert von MimbleWimble und Grin und deren Entscheidung, Cuckoo-Cycle als Mining-Algorithmus zu verwenden. Schließlich wurde er zum Kernentwickler und Mitwirkenden von Grin. Tromp bezeichnete das Emissionsmodell von Grin(17) als besonders interessant für ihn, da es seiner Ansicht nach viele Vorteile gegenüber Modellen anderer Blockchains habe.

Fazit

Wir haben Tromp gefragt, wie es sich anfühlt, ein ganzes Ökosystem innerhalb der Mining-Branche ins Leben gerufen zu haben. In seiner Bescheidenheit spielte er die Bedeutung, die ihm in der Blockchain-Gemeinschaft zukommt, herunter. Aus unserer Sicht ist er jedoch äußerst einflussreich und wird von vielen in der Krypto-Szene als Computerwissenschaftler hoch angesehen. Als wir Tromp nach seiner Perspektive auf die Mining-Industrie von Kryptowährungen fragten, bezeichnete er das Mining als sehr kniffliges Geschäft und konstatierte, dass es viele Leute bereuten, sich mit dem Mining anstatt mit dem unmittelbaren Kauf von Kryptowährungen beschäftigt zu haben, und dass Neulinge dies im Hinterkopf behalten sollten. Außerdem betonte er, dass der Erfolg davon abhängt, wie gut man die Risiken im Zusammenhang mit dem Mining versteht und den Bedarf nach günstiger Energie abdecken kann. Wir freuen uns jedenfalls darauf, künftige Entwicklungen des Cuckoo Cycle zu verfolgen und seine Varianten sowie die vielen aufstrebenden Blockchain Projekte wie Grin genauer kennenzulernen, die auf dem Cuckoo-Cycle basieren.

(1) Vgl https://tromp.github.io/
70 Vgl https://github.com/tromp/cuckoo
(2) Vgl https://grin-tech.org/
(3) Vgl https://github.com/mimblewimble/grin
(4) Vgl https://github.com/mimblewimble/grin/blob/master/doc/pow/pow.md
(5) Vgl https://en.wikipedia.org/wiki/Equihash
(6) Vgl https://z.cash/
(7) Vgl https://en.wikipedia.org/wiki/Hashcash
(8) Vgl http://hashcash.org/papers/cuckoo.pdf
(9) Vgl https://obelisk.tech/products/grn1.html
(10) Vgl https://www.innosilicon.com/html/a9-miner/index.html
(11) Vgl https://www.grin-forum.org/t/cuckoo-cycle-weakness-and-possible-fix-cuckatoo-cycle/738
(12) Vgl https://aeternity.com/
(13) Vgl https://www.beam.mw/
(14) Vgl https://css.csail.mit.edu/6.858/2019/projects/kaza.pdf
(15) Vgl https://github.com/AnimatedRNG/cuckoo-http
(16) Vgl https://github.com/mimblewimble/docs
(17) Vgl https://github.com/mimblewimble/docs/wiki/Monetary-Policy