What is QTUM? [The Most Comprehensive Guide] - Blockgeeks

Rajarshi Mitra

1 week ago
what is qtum
en flag
de flag

Qtum (ausgesprochen Quantum) hat viele Köpfe im Kryptoraum gedreht. Die Qtum Foundation ist in Singapur registriert und ist ein globales Projekt mit einem Team aus Asien, Nord- und Südamerika, Afrika und Europa. Der Grund für seinen Anstieg der Popularität ist sein USP - Bereitstellung von Ethereum EVM mit Bitcoins sicherem UTXO-Modell. Darüber hinaus sichern sie einen Konsens mit dem Proof of Stake 3.0 (POS 3.0) Algorithmus. In diesem Leitfaden werden wir Qtum genauer betrachten und sehen, warum Entwickler mit ihrer Plattform experimentieren sollten.

Kombinieren Sie das Beste aus beiden Welten

Die beliebtesten Blockchains der Welt sind jetzt Bitcoin und Ethereum. Bitcoin ist derjenige, der alles begann, bleibt immer noch die sicherste Blockchain im Raum. Das UTXO-Modell (Unspent Transaction Output) hilft auch bei der hohen Rückverfolgbarkeit von Transaktionen. Dies ist der Grund, warum Qtum sich für die Bitcoin-Blockchain entschieden hat, ihre Grundlage zu sein. Auf der anderen Seite der Gleichung haben wir die Ethereum Blockchain. Ethereum hat die Ära der Smart Contracts eingelotet. Plötzlich war eine Blockchain nicht nur eine ausgefallene Möglichkeit, Geld mehr zu transferieren. Ethereum ermöglichte Entwicklern aus der ganzen Welt, ihre dezentralen Anwendungen (DApps) auf der Oberseite der Kette zu bauen. Um intelligente Verträge zu integrieren, haben Qtum-Entwickler eine Abstraktionsschicht namens „Account Abstraction Layer (AAL)“ erstellt, um die Ethereum Virtual Machine (EVM) auf der UTXO-Blockchain von Qtum zu ermöglichen. Mit dieser einfachen Innovation bietet Qtum seinen Nutzern einen sicheren intelligenten Vertragsmechanismus, der sowohl mit Bitcoin als auch Ethereum interoperabel ist. Dies ist ein höchst spannendes Angebot für regelmäßige Benutzer und Entwickler, da Skalierbarkeitstechniken, die sowohl auf Bitcoin (Lightning Network) als auch Ethereum (Raiden Network, Plasma usw.) bearbeitet werden, auf Qtum operierbar sein können, solange die Community dies zustimmt. Apropos Interoperabilität: Es gibt zwei weitere faszinierende Aspekte, die man beachten muss:

SegWit Kompatibilität

Um ein umfassendes Verständnis von SegWit zu erhalten, lesen Sie bitte unsere ausführliche Anleitung hier. Um Ihnen ein sehr kurzes Verständnis zu geben, steht SegWit für „Segregated Witness“. Vor der SegWit-Implementierung litten Bitcoin-Transaktionen unter einem Skalierbarkeitsproblem, da sie unnötig sperrig waren. Die Signaturdaten haben die zusätzliche Masse hinzugefügt. Durch die Implementierung von SegWit wurden die Signaturdaten aus den Blöcken genommen und in einer Sidechain gehalten, die parallel zur Bitcoin-Blockchain lief. Da Qtum mit SegWit kompatibel ist, kann es seine Vorteile nutzen.

Ethereum Smart-Vertragskompatibilität

Qtum verwendet die Ethereum Virtual Machine (EVM), um sicherzustellen, dass Ethereum Smart Contracts auf Qtum laufen und umgekehrt. Dies ist eine unglaublich wichtige Funktionalität. Ethereum hat die stärkste Entwicklergemeinschaft der Welt. Über diese Funktionalität kann Qtum in diesen Entwicklern auf ihre Plattform siphon. Ethereum DApps können auch einfach auf Qtum portiert werden. Das bedeutet auch, dass Entwickler Solidity, eine bereits etablierte Sprache, verwenden können, um intelligente Verträge auf Qtum zu erstellen.

Qtum und UTXO

Um UTXO zu verstehen, müssen Sie verstehen, wie Transaktionen in Bitcoin funktionieren (und für Qtum gleich funktionieren). Um ein Laien Verständnis dafür zu gewinnen, wie UTXOS funktionieren, denken Sie daran, wie grundlegende Bargeldtransaktionen funktionieren. Angenommen, dein Freund schuldet dir $6. Sie streckt sich an ihre Handtasche und nimmt eine $5 und $1 Note aus und zahlt dich damit zurück.

Wenn du jemandem $8 schuldest, nimmst du die $5 und $1, die dein Freund dir früher bezahlt hatte, und $2, die jemand anderes dir früher bezahlt hatte.

So funktionieren Transaktionen in Bitcoin. Die Outputs einer vorherigen Transaktion werden zu den Inputs einer zukünftigen Transaktion. Denken Sie also daran, und schauen wir uns an, wie Bitcoin-Transaktionen funktionieren.

Transaktionseingabe

Angenommen, Alice muss ein paar Bitcoins an Bob schicken. Um diese Transaktion zu tun, wird Alices Brieftasche die Ausgaben ihrer vorherigen Transaktionen zur Eingabe der neuen Transaktion machen.

Angenommen, Alice muss Bitcoins aus den folgenden Transaktionen ziehen, die wir TX (0), TX (1) und TX (2) nennen werden. Diese drei Transaktionen werden zusammen hinzugefügt und das gibt Ihnen die Eingangstransaktion, die wir TX (Input) nennen.

Diagramatisch wird es so aussehen:

what is qtum

Also, das ist es von der Eingabeseite, lassen Sie uns überprüfen, wie die Ausgabeseite aussehen wird.

Transaktionsausgabe

Die Ausgabe hat im Grunde die Anzahl der Bitcoins, die Bob nach Transaktion besitzen wird, und alle verbleibenden Änderungen, die übrig bleiben, die dann zurück an Alice gesendet wird. Diese Änderung wird dann zu ihrem Eingabewert für eine zukünftige Transaktion.

Eine bildliche Darstellung der Ausgabeseite sieht folgendermaßen aus:

what is qtum

Nun, dies ist eine einfache Transaktion, die nur eine Ausgabe hat (abgesehen von der Änderung), einige Transaktionen sind mit mehreren Ausgaben möglich.

Warum hat Qtum das UTXO-Modell übernommen? Es gibt zwei Hauptgründe:

Erstens, um ein ausgereiftes, stabiles und sicheres Transaktionsmodell zu verwenden, das weit von der Bitcoin-Blockchain verstanden wird.

Zweitens half das UTXO-Modell bei der Implementierung von Simple Payment Verification (SPV). SPV ermöglicht es einem leichten Knoten, mit Smart Contracts zu interagieren und Transaktionen zu überprüfen. Light-Nodes sind Knoten, die nur einen Teil der Blockchain anstelle der vollständigen Blockchain herunterladen.

Qtum und EVM

Wie oben erwähnt, führte Ethereum die Ära der intelligenten Verträge ein. Smart Contracts sind selbstausführende und automatisierte Vereinbarungen zwischen zwei oder mehr Parteien, die keine juristischen Vermittler erfordern. Das klingt ziemlich erstaunlich, oder?

Aber wo genau führen Sie diese Verträge aus? Smart Contracts können in einem der beiden folgenden Systeme ausgeführt werden:

Virtuelle Maschinen: Ethereum verwendet dies.

Docker: Fabric verwendet dies.

Lassen Sie uns diese beiden vergleichen und bestimmen, was für ein besseres Ökosystem sorgt. Der Einfachheit halber werden wir Ethereum (Virtual Machine) mit Fabric (Docker) vergleichen.

what is qtum

Virtuelle Maschinen bieten also eine bessere deterministische, beendbare und isolierte Umgebung für intelligente Verträge. EVM integriert einen Gasmechanismus, um unendliche Schleifen und Spam zu verhindern (die Ausführung wird beendet, wenn der Vertragsaufruf kein Gas mehr hat). Möchten Sie mehr über Gas erfahren? Klicken Sie hier.

Verbinden von UTXO und EVM

Da UTXOS und EVM sehr unterschiedliche Konzepte sind, wie hat es QTUM geschafft, sie in ihrer Plattform zu verbinden? Über das Hinzufügen der Account Abstract Layer (AAL). AAL fungiert als Schnittstellenschicht zwischen UTXO und EVM. Das Schöne an der AAL ist, dass es nicht nur auf EVM beschränkt ist. Jede virtuelle Maschine, die mit dem AAL kompatibel ist, kann über AAL ausgeführt werden.

Bevor wir uns also weiter in AAL wagen, lasst uns verstehen, was Abstraktion bedeutet.

Abstraktion bedeutet, dass jeder jedes System oder jedes Protokoll verwenden kann, ohne die Ins und Outs und alle technischen Details vollständig zu kennen. Z.B. Wenn Sie Ihr iPhone verwenden, müssen Sie kein Programmierer oder Ingenieur sein, um es zu bedienen. Sie drücken einfach auf den Bildschirm, um eine App zu aktivieren, oder drücken Sie auf die Anruftaste, um jemanden anzurufen. Sie müssen nicht wissen, wie durch Drücken bestimmter Apps die Schaltung innerhalb des Telefons aktiviert wird oder wie bestimmte Apps programmiert wurden. Abstraktion macht eine ausgeklügelte Technologie für die Massen zugänglich, indem sie die Komplexität verbirgt.

Für intelligente Vertragsplattformen und DApps ist Abstraktion so ziemlich der heilige Gral. Wenn die Massenakzeptanz wirklich das Ziel ist, müssen DApps ähnlich wie bei einer normalen Anwendung ausgeführt werden. Ebenso sollte Qtum EVM und UTXO so integrieren, dass es Benutzern und Entwicklern unkompliziert ist, damit zu interagieren.

Um ein besseres Verständnis dafür zu gewinnen, wie AAL funktioniert, lassen Sie uns sehen, wie eine einfache Bitcoin-Transaktion auf Code-Ebene funktioniert. Während einer Transaktion führt Ihr Wallet die folgenden Opcodes auf Ihrem Rechner aus. Dies weist die Software grundsätzlich an, zu überprüfen, ob der öffentliche Schlüssel der Transaktion mit der Signatur übereinstimmt oder nicht:

what is qtum

Die Spalte „Skript“ enthält eine Reihe von Schlüsselwörtern, die Opcodes genannt werden. Bitcoin-Transaktionen werden durch die Kombination dieser Opcodes skript. Der AAL fügt der ursprünglichen Bitcoin-Liste drei weitere Opcodes hinzu, um Smart Contract Support zu ermöglichen.

OP_CREATE: Wird verwendet, um neue Smart Contracts zu erstellen.

OP_CALL: Wird verwendet, um Code innerhalb eines bestehenden Smart-Vertrags auszuführen.

OP_SPENT: Wird verwendet, um den Wert in einem Smart Contract auszugeben.

Also, wie verarbeiten diese Opcodes? Sehen wir uns mal an.

Die Software des Validators analysiert das Skript in den Qtum Transaktionen.

Wenn sie auf einen dieser drei Opcodes stoßen, legen sie sie beiseite, um von EVMs verarbeitet zu werden.

Die EVM-Vertragstransaktionen werden dann in eine spezielle „Erwartete Vertragstransaktionsliste“ verarbeitet, die von Validatorknoten ausgeführt wird.

Diese Transaktionen werden dann gegen den EVM ausgeführt, wobei die resultierende Ausgabe in eine ausgabbare Qtum tx umgewandelt wird.

Wenn der Vertrag während der Ausführung eines Vertrags einen anderen Vertrag mit einem Wert aufruft, wird diese Transaktion auch in eine explizite Qtum tx umgewandelt und an den aktuellen Block angehängt.

Die Größe des Qtum UTXO kann ziemlich gut verwaltet werden, da die OP_CREATE, OP_CALL und OP_SPOST-Transaktionen alle ausgabbar sind. Wenn ein Vertrag selbst zerstört wird, wird die OP_CREATE-Transaktion ausgegeben, die sie aus dem UTXO-Pool entfernt.

Wenn Sie ein Solidity-Entwickler sind, dann wird es ziemlich einfach für Sie sein, mit der Codierung auf Qtum zu beginnen, da es bereits das EVM nutzt. Wenn Sie interessiert sind, dann empfehlen wir Ihnen, auf ihren umfassenden Entwicklerhandbuch zu beginnen.

Wie bereits erwähnt, ist EVM jedoch nicht die einzige virtuelle Maschine, die auf Qtum zur intelligenten Vertragsausführung verfügbar ist. Das Qtum Team entwickelt eine x86 Smart Contracts virtuelle Maschine für Qtum. Diese x86-VM ermöglicht Entwicklern die Flexibilität, intelligente Verträge in gängigen Programmiersprachen wie Rust und anderen zu programmieren.

Qtum und Nachweis des Einsatzes (POS)

Wie bereits mehrfach erwähnt, verwendet Qtum ein POS-Konsensmodell. Viele der modernen Blockchains haben sich wegen der Vorteile gegenüber dem klassischen POW-Modell für ein POS-Modell entschieden. POW oder Beweis der Arbeit war das von Bitcoin eingeführte Konsensmodell, in dem spezialisierte Knoten namens Bergleute kryptografisch harte Rätsel mithilfe von ASICs lösen.

Die Probleme mit dem Nachweis der Arbeit.

Der Nachweis der Arbeit ist ein äußerst ineffizienter Prozess wegen der schiere Menge an Energie und Energie, die er verbraucht.

Menschen und Organisationen, die sich schneller und leistungsfähiger ASICs leisten können, haben in der Regel eine bessere Chance auf Mining als die anderen. Das bedeutet, dass Bitcoin-Mining nicht so dezentral ist, wie wir es wollen.

Da POW Mining reale Ressourcen verbraucht, ist es sehr schädlich für die Umwelt.

Der Proof-of-Stake hingegen macht den Bergbauprozess komplett virtuell. Lassen Sie uns einen kurzen Überblick darüber geben, wie POS funktioniert:

Die Validieren/Bergleute sperren einige ihrer Münzen als Einsatz ein.

Danach werden sie beginnen, die Blöcke zu validieren. Das heißt, wenn sie einen Block entdecken, von dem sie glauben, dass er der Kette hinzugefügt werden kann, werden sie ihn validieren, indem sie ein oder mehrere UTXOS für 500 Bestätigungen abgeben.

Wenn der Block angehängt wird, erhalten die Validatoren eine Blockbelohnung, wobei die Häufigkeit der Blockbelohnungen proportional zu dem von diesem Validator eingesetzten Betrag ist.

Verschiedene Projekte verwenden unterschiedliche Variationen des POS-Algorithmus. Ethereum wird das Casper-Protokoll verwenden, während Algorand reines POS verwendet. Dann gibt es Projekte wie EOS, die delegierte POS verwenden

Qtum verwendet POS Version 3 oder POSv3, die für UTXO-basierte Blockchains gebaut ist. Schauen wir uns die vorherigen Versionen an, bevor wir POSv3 ankommen.

POSv1:

„Coin Age“ ist ein Begriff, der verwendet wird, um zu beschreiben, wie lange ein UTXO nicht für die Blockchain ausgegeben wurde. POSv1 hängt stark vom Münzalter ab. Je höher das Münzalter, desto mehr wird der Schwierigkeitsgrad reduziert. Das Problem bei diesem Ansatz war jedoch, dass die Leute einfach aufhörten, ihre Münzen auszugeben! Die Leute öffneten ihre Brieftasche nur, wenn sie sie zum Einstecken brauchten. Wenn eine Münze alt genug wäre, würde sie fast sofort neue Staking Blöcke erzeugen.

POSv2:

Diese Version verbessert sich gegenüber der vorherigen Version, indem das Konzept des Münzzeitalters aus dem Konsens ausgelöscht wird. Eine weitere wesentliche Änderung, die sie unter einer Vielzahl von Updates vorgenommen haben, bestand darin, einen völlig anderen Pfahlmodifikatormechanismus als v1 zu verwenden. Dieser Einteilungsmodifizierer enthält zufällig die vorherige Blockzeit. Denken Sie daran, wenn wir über v3 diskutieren.

POSv3:

Die Blockzeit, die in POSv2 enthalten ist, kann es anfällig für einen „Kurzstreckenangriff“ machen, bei dem es möglich war, eine alternative Blockchain abzubauen, indem man vorherige Blockzeiten durchläuft. Änderungen wie diese machen POSv3 zu einer viel besseren Version von POSv2.

POSv2 verwendete auch Block- und Transaktionszeiten, um das Alter eines UTXO zu bestimmen, das sich vom Münzalter unterscheidet. POSv3 bestimmt das Alter eines UTXO, indem er seine Tiefe in der Blockchain beurteilt (z.B. Bestätigungen).

HINWEIS: Qtum hat kürzlich Unterstützung für OP_RETURN Opcode hinzugefügt, die es ermöglicht, dass ein vout den öffentlichen Schlüssel zum Signieren des Blocks enthalten kann, ohne dass ein vollständiges Pay-to-Pubkey-Skript erforderlich ist. Das bedeutet, dass ein DAP-Anbieter das Gas für neue DApp-Nutzer bezahlen kann, was ein leichteres Onboarding ermöglicht.

Tiefer in POSv3 schauen

In einem POW-System wird eine zufällige Nonce zum Hash des Blockheaders hinzugefügt und der resultierende wird wieder gehasht. Dieser Hash sollte wiederum kleiner sein als die allgemeine Netzwerkschwierigkeit. Erst dann wird der Block zur Hauptblockchain hinzugefügt.

Auf der anderen Seite hat POSv3 einen Kernel-Hash, der aus mehreren Datenteilen besteht, die im aktuellen Block nicht leicht modifizierbar sind. Hier sind einige weitere Funktionen, die im Auge behalten werden müssen über Qtum POS-System:

Die zweite Transaktion in jedem Block wird als „Coinstake-Transaktion“ bezeichnet, während die erste Transaktion eine leere Coinbase-Transaktion ist.

Jeder Block muss mindestens eine Staking-Transaktion haben.

Der Blockzeitstempel muss die unteren vier Bits auf 0 gesetzt haben, damit die Blockzeit nur in 16-Sekunden-Intervallen dargestellt werden kann.

Nur einmal alle 500 Blöcke (ca. 18 Stunden) kann ein UTXO verwendet werden, um eine Staking-Transaktion zu erzeugen.

Schauen wir uns nun an, woraus ein POSv3-Kernel-Hash aufgebaut ist:

Der Pfahlmodifikator des vorherigen Blocks, der ein Hash der Prevout-Transaktion in PoS-Blöcken und des vorherigen Blocks ist.

Der Zeitstempel der Prevout-Transaktion.

Der Hash der Prevout-Transaktion.

Die Ausgabenummer des Prevout (dies ist die Ausgabe der Transaktion wird von der Staking-Transaktion ausgegeben).

Die aktuelle Blockzeit, bei der die unteren vier Bits auf 0 gesetzt sind. Diese besondere Funktion ändert sich während des Stapelvorgangs.

HINWEIS: Eine Prevout-Transaktion ist die UTXO, die verwendet wird, um eine Staking-Transaktion zu erstellen. Die einzige Möglichkeit, den aktuellen Kernel-Hash zu ändern, besteht darin, die UTXO zu ändern, die Sie verwenden, um den Block zu erstellen oder die aktuelle Blockzeit zu ändern.

Nun, da wir wissen, wie Qtums POSv3 funktioniert, schauen wir uns an, wie es POS' größter Fehler mildert - das Problem auf dem Spiel nichts.

Was ist das Problem „Nichts auf dem Spiel“?

Betrachten Sie die folgende Situation:

what is qtum

Im obigen Diagramm haben wir die Hauptkette (blau), die bis Block #53 abgebaut wurde. Es gibt jedoch einen parallelen Zweig, der aus Block #50 (rot) stammt. Was passiert, wenn einige böswillige Bergleute zusammenkommen und weiter an der roten Kette abbauen, bis sie die blaue überholt? Alle Transaktionen, die in den blauen Blöcken 51, 52 und 53 stattgefunden haben, werden sofort null und annulliert.

POW-Blockchains sind anfällig für diesen 51% Angriff, da Hash-Power kurzfristig gemietet werden kann.

Angenommen, der bösartige Bergmann Alice will auf der roten Kette meinen. Selbst wenn sie all ihre Hash-Macht dafür widmet, wird sie keinen anderen Bergmann dazu bringen, sich ihr an der neuen Kette anzuschließen. Alle anderen werden weiterhin an der blauen Kette meinen, weil es profitabler und risikofreier ist, auf der längeren Kette zu minen.

POW ist einfach, einen 51% Angriff mit gemieteter Hash-Leistung zu montieren. Daher sind Kettensplitter für alle außer der größten POW-Blockchain (Bitcoin) problematisch.

Die Dinge sehen jedoch ein wenig anders aus, wenn Sie POS einbringen. Wenn Sie ein Validator sind, können Sie einfach Ihr Geld sowohl in die rote als auch in die blaue Kette legen, ohne Angst vor Auswirkungen überhaupt. Egal, was passiert, Sie werden immer gewinnen und nichts zu verlieren haben, trotz wie böswillig Ihre Handlungen vielleicht. Allerdings müsste die rote Kette mit einer größeren Anzahl von Münzen (Netzwerkgewicht) auf den Einsatz setzen, um erfolgreich zu sein, und im Gegensatz zu POW, wo ein Angreifer Hash-Macht mieten kann, erfordert POS tatsächlichen Münzbesitz.

Dies wird das „Nichts auf dem Spiel“ -Problem genannt.

Ethereum Casper-Protokoll mildert dies mit einem Bestrafungsmechanismus. Grundsätzlich werden die böswilligen Validatoren bestraft, indem sie ihren Pfahl abschneiden lassen. Qtum plant, eine andere Lösung für das Problem mit dem Nichts auf dem Spiel zu bieten und wird niemals Staker bestrafen, die sich falsch verhalten, außer sie aus dem Netzwerk zu werfen. Sie glauben, dass keine Software perfekt gemacht werden kann, und so ist das Risiko eines Fehlers, der den Staker veranlasst, sich falsch zu verhalten und Millionen von Dollar zu verlieren, für sie inakzeptabel. Die folgenden Punkte müssen berücksichtigt werden, um Qtum die Abschwächung des Problems auf dem Spiel zu verstehen:

Verwendung von Checkpoints und der 500-Bestätigungslaufzeit für Staking-Transaktionen.

Sie werden einige der Daten auf der Bitcoin-Blockchain setzen, die später durch SPV verifiziert werden können. Dadurch wird sichergestellt, dass ein Angreifer nicht lügen kann, wenn ein bestimmter Block erstellt wurde.

Es muss auch beachtet werden, dass Qtum fühlt, dass das nichts auf dem Spiel Problem ist ein wenig überblasen, vor allem wrt in ihr System, weil:

Es kann sehr teuer werden, das Setup für den Angriff zu konstruieren.

Selbst wenn alles eingerichtet ist, muss der Rest der Knoten immer noch Ihrer Führung folgen, was eine lange Chance ist.

Jeder kann es leicht erkennen, indem er zentralisierte Off-Chain-Ressourcen wie Block Explorers überprüft.

Die Checkpoints können dem Code in einem häufigeren Tempo hinzugefügt werden, um schnellere Versionen zu erledigen. Dies wird sicherstellen, dass diese böswilligen, nicht auf dem Spiel stehenden Ketten nie eine signifikante Menge an Macht haben.

Dezentrales Governance-Protokoll

Ein weiteres Merkmal von Qtum ist DGP (Decentralized Governance Protocol), das eingeführt wurde, um Blockchain-Parameter schnell und nahtlos zu ändern, ohne dass eine harte Fork benötigt wird. DGP basiert auf Smart Contract Technologie und ist in der Lage, Blockgröße (bis zu 32 MB) anzupassen und die Gasmengen für verschiedene Smart Contract Operationen zu ändern.

So können die Blockgröße und die Gasparameter durch einen Governance-Prozess im Netzwerk geändert werden, ohne dass neue Software heruntergeladen werden muss, und es müssen keine Maßnahmen von Netzbetreibern und Knotenbetreibern ergriffen werden. Für Konsensänderungen oder neue virtuelle Maschinen sind beispielsweise weiterhin harte Gabeln erforderlich.

Schlussfolgerung

Qtum ist eines der aufregendsten Projekte im Raum. Durch die Kombination von UTXO, EVM und POS bietet Qtum eine einzigartige, sichere und skalierbare Plattform. Durch die Verbindung mit dem EVM kann Qtum die bereits lebendige Solidity-Entwickler-Community leicht anziehen und ihnen die Möglichkeit geben, ihre DApps auf ihre Plattform zu portieren. Es wird sehr interessant sein zu sehen, wie dieses Projekt in naher Zukunft wächst.

Qtum (ausgesprochen Quantum) hat viele Köpfe im Kryptoraum gedreht. Die Qtum Foundation ist in Singapur registriert und ist ein globales Projekt mit einem Team aus Asien, Nord- und Südamerika, Afrika und Europa. Der Grund für seinen Anstieg der Popularität ist sein USP - Bereitstellung von Ethereum EVM mit Bitcoins sicherem UTXO-Modell. Darüber hinaus sichern sie einen Konsens mit dem Proof of Stake 3.0 (POS 3.0) Algorithmus. In diesem Leitfaden werden wir Qtum genauer betrachten und sehen, warum Entwickler mit ihrer Plattform experimentieren sollten. Kombinieren Sie das Beste aus beiden Welten Die beliebtesten Blockchains der Welt sind jetzt Bitcoin und Ethereum. Bitcoin ist derjenige, der alles begann, bleibt immer noch die sicherste Blockchain im Raum. Das UTXO-Modell (Unspent Transaction Output) hilft auch bei der hohen Rückverfolgbarkeit von Transaktionen. Dies ist der Grund, warum Qtum sich für die Bitcoin-Blockchain entschieden hat, ihre Grundlage zu sein. Auf der anderen Seite der Gleichung haben wir die Ethereum Blockchain. Ethereum hat die Ära der Smart Contracts eingelotet. Plötzlich war eine Blockchain nicht nur eine ausgefallene Möglichkeit, Geld mehr zu transferieren. Ethereum ermöglichte Entwicklern aus der ganzen Welt, ihre dezentralen Anwendungen (DApps) auf der Oberseite der Kette zu bauen. Um intelligente Verträge zu integrieren, haben Qtum-Entwickler eine Abstraktionsschicht namens „Account Abstraction Layer (AAL)“ erstellt, um die Ethereum Virtual Machine (EVM) auf der UTXO-Blockchain von Qtum zu ermöglichen. Mit dieser einfachen Innovation bietet Qtum seinen Nutzern einen sicheren intelligenten Vertragsmechanismus, der sowohl mit Bitcoin als auch Ethereum interoperabel ist. Dies ist ein höchst spannendes Angebot für regelmäßige Benutzer und Entwickler, da Skalierbarkeitstechniken, die sowohl auf Bitcoin (Lightning Network) als auch Ethereum (Raiden Network, Plasma usw.) bearbeitet werden, auf Qtum operierbar sein können, solange die Community dies zustimmt. Apropos Interoperabilität: Es gibt zwei weitere faszinierende Aspekte, die man beachten muss: SegWit Compatibility Um ein vollständiges Verständnis von SegWit zu erlangen, lesen Sie bitte unsere ausführliche Anleitung hier. Um Ihnen ein sehr kurzes Verständnis zu geben, steht SegWit für „Segregated Witness“. Vor der SegWit-Implementierung litten Bitcoin-Transaktionen unter einem Skalierbarkeitsproblem, da sie unnötig sperrig waren. Die Signaturdaten haben die zusätzliche Masse hinzugefügt. Durch die Implementierung von SegWit wurden die Signaturdaten aus den Blöcken genommen und in einer Sidechain gehalten, die parallel zur Bitcoin-Blockchain lief. Da Qtum mit SegWit kompatibel ist, kann es seine Vorteile nutzen. Ethereum Smart Contract Compatibility Qtum verwendet die Ethereum Virtual Machine (EVM), um sicherzustellen, dass Ethereum Smart Contracts auf Qtum laufen und umgekehrt. Dies ist eine unglaublich wichtige Funktionalität. Ethereum hat die stärkste Entwicklergemeinschaft der Welt. Über diese Funktionalität kann Qtum in diesen Entwicklern auf ihre Plattform siphon. Ethereum DApps können auch einfach auf Qtum portiert werden. Das bedeutet auch, dass Entwickler Solidity, eine bereits etablierte Sprache, verwenden können, um intelligente Verträge auf Qtum zu erstellen. Qtum und UTXO Um UTXO zu verstehen, müssen Sie verstehen, wie Transaktionen in Bitcoin funktionieren (und für Qtum gleich funktionieren). Um ein Laien Verständnis dafür zu gewinnen, wie UTXOS funktionieren, denken Sie daran, wie grundlegende Bargeldtransaktionen funktionieren. Angenommen, dein Freund schuldet dir $6. Sie streckt sich an ihre Handtasche und nimmt eine $5 und $1 Note aus und zahlt dich damit zurück. Wenn du jemandem $8 schuldest, nimmst du die $5 und $1, die dein Freund dir früher bezahlt hatte, und $2, die jemand anderes dir früher bezahlt hatte. So funktionieren Transaktionen in Bitcoin. Die Outputs einer vorherigen Transaktion werden zu den Inputs einer zukünftigen Transaktion. Denken Sie also daran, und schauen wir uns an, wie Bitcoin-Transaktionen funktionieren. Transaktionseingabe Angenommen, Alice muss einige Bitcoins an Bob senden. Um diese Transaktion zu tun, wird Alices Brieftasche die Ausgaben ihrer vorherigen Transaktionen zur Eingabe der neuen Transaktion machen. Angenommen, Alice muss Bitcoins aus den folgenden Transaktionen ziehen, die wir TX (0), TX (1) und TX (2) nennen werden. Diese drei Transaktionen werden zusammen hinzugefügt und das gibt Ihnen die Eingangstransaktion, die wir TX (Input) nennen. Diagramatisch wird es so aussehen: Also, das ist es von der Eingabeseite, schauen wir uns an, wie die Ausgabeseite aussehen wird. Transaktionsausgabe Die Ausgabe hat im Grunde die Anzahl der Bitcoins, die Bob nach der Transaktion besitzen wird, und alle verbleibenden Änderungen, die übrig bleiben, die dann zurück an Alice gesendet wird. Diese Änderung wird dann zu ihrem Eingabewert für eine zukünftige Transaktion. Eine bildliche Darstellung der Ausgabeseite sieht so aus: Nun ist dies eine einfache Transaktion, die nur eine Ausgabe hat (abgesehen von der CHANGE), einige Transaktionen sind mit mehreren Ausgaben möglich. Warum hat Qtum das UTXO-Modell übernommen? Es gibt zwei Hauptgründe: Erstens, ein ausgereiftes, stabiles und sicheres Transaktionsmodell zu verwenden, das weit von der Bitcoin-Blockchain verstanden wird. Zweitens half das UTXO-Modell bei der Implementierung von Simple Payment Verification (SPV). SPV ermöglicht es einem leichten Knoten, mit Smart Contracts zu interagieren und Transaktionen zu überprüfen. Light-Nodes sind Knoten, die nur einen Teil der Blockchain anstelle der vollständigen Blockchain herunterladen. Qtum und EVM Wie oben erwähnt, führte Ethereum die Ära der intelligenten Verträge ein. Smart Contracts sind selbstausführende und automatisierte Vereinbarungen zwischen zwei oder mehr Parteien, die keine juristischen Vermittler erfordern. Das klingt ziemlich erstaunlich, oder? Aber wo genau führen Sie diese Verträge aus? Smart Contracts können in einem der beiden folgenden Systeme ausgeführt werden: Virtual Machines: Ethereum verwendet dies. Docker: Fabric verwendet dies. Lassen Sie uns diese beiden vergleichen und bestimmen, was für ein besseres Ökosystem sorgt. Der Einfachheit halber werden wir Ethereum (Virtual Machine) mit Fabric (Docker) vergleichen. Virtuelle Maschinen bieten also eine bessere deterministische, beendbare und isolierte Umgebung für intelligente Verträge. EVM integriert einen Gasmechanismus, um unendliche Schleifen und Spam zu verhindern (die Ausführung wird beendet, wenn der Vertragsaufruf kein Gas mehr hat). Möchten Sie mehr über Gas erfahren? Klicken Sie hier. UTXO und EVM verbinden Da UTXOS und EVM sehr unterschiedliche Konzepte sind, wie hat es QTUM geschafft, sie in ihrer Plattform zu verbinden? Über das Hinzufügen der Account Abstract Layer (AAL). AAL fungiert als Schnittstellenschicht zwischen UTXO und EVM. Das Schöne an der AAL ist, dass es nicht nur auf EVM beschränkt ist. Jede virtuelle Maschine, die mit dem AAL kompatibel ist, kann über AAL ausgeführt werden. Bevor wir uns also weiter in AAL wagen, lasst uns verstehen, was Abstraktion bedeutet. Abstraktion bedeutet, dass jeder jedes System oder jedes Protokoll verwenden kann, ohne die Ins und Outs und alle technischen Details vollständig zu kennen. Z.B. Wenn Sie Ihr iPhone verwenden, müssen Sie kein Programmierer oder Ingenieur sein, um es zu bedienen. Sie drücken einfach auf den Bildschirm, um eine App zu aktivieren, oder drücken Sie auf die Anruftaste, um jemanden anzurufen. Sie müssen nicht wissen, wie durch Drücken bestimmter Apps die Schaltung innerhalb des Telefons aktiviert wird oder wie bestimmte Apps programmiert wurden. Abstraktion macht eine ausgeklügelte Technologie für die Massen zugänglich, indem sie die Komplexität verbirgt. Für intelligente Vertragsplattformen und DApps ist Abstraktion so ziemlich der heilige Gral. Wenn die Massenakzeptanz wirklich das Ziel ist, müssen DApps ähnlich wie bei einer normalen Anwendung ausgeführt werden. Ebenso sollte Qtum EVM und UTXO so integrieren, dass es Benutzern und Entwicklern unkompliziert ist, damit zu interagieren. Um ein besseres Verständnis dafür zu gewinnen, wie AAL funktioniert, lassen Sie uns sehen, wie eine einfache Bitcoin-Transaktion auf Code-Ebene funktioniert. Während einer Transaktion führt Ihr Wallet die folgenden Opcodes auf Ihrem Rechner aus. Dies weist die Software grundsätzlich an, zu überprüfen, ob der öffentliche Schlüssel der Transaktion mit der Signatur übereinstimmt oder nicht: Die Spalte „Skript“ enthält eine Reihe von Schlüsselwörtern, die Opcodes genannt werden. Bitcoin-Transaktionen werden durch die Kombination dieser Opcodes skript. Der AAL fügt der ursprünglichen Bitcoin-Liste drei weitere Opcodes hinzu, um Smart Contract Support zu ermöglichen. OP_CREATE: Wird verwendet, um neue Smart Contracts zu erstellen. OP_CALL: Wird verwendet, um Code innerhalb eines bestehenden Smart-Vertrags auszuführen. OP_SPENT: Wird verwendet, um den Wert in einem Smart Contract auszugeben. Also, wie verarbeiten diese Opcodes? Sehen wir uns mal an. Die Software des Validators analysiert das Skript in den Qtum Transaktionen. Wenn sie auf einen dieser drei Opcodes stoßen, legen sie sie beiseite , die von EVMs verarbeitet werden sollen. Die EVM-Vertragstransaktionen werden dann in eine spezielle „Erwartete Vertragstransaktionsliste“ verarbeitet, die von Validatorknoten ausgeführt wird. Diese Transaktionen werden dann gegen den EVM ausgeführt, wobei die resultierende Ausgabe in eine ausgabbare Qtum tx umgewandelt wird. Wenn der Vertrag während der Ausführung eines Vertrags einen anderen Vertrag mit einem Wert aufruft, wird diese Transaktion auch in eine explizite Qtum tx umgewandelt und an den aktuellen Block angehängt. Die Größe des Qtum UTXO kann ziemlich gut verwaltet werden, da die OP_CREATE, OP_CALL und OP_SPOST-Transaktionen alle ausgabbar sind. Wenn ein Vertrag selbst zerstört wird, wird die OP_CREATE-Transaktion ausgegeben, die sie aus dem UTXO-Pool entfernt. Wenn Sie ein Solidity-Entwickler sind, dann wird es ziemlich einfach für Sie sein, mit der Codierung auf Qtum zu beginnen, da es bereits das EVM nutzt. Wenn Sie interessiert sind, dann empfehlen wir Ihnen, auf ihren umfassenden Entwicklerhandbuch zu beginnen. Wie bereits erwähnt, ist EVM jedoch nicht die einzige virtuelle Maschine, die auf Qtum zur intelligenten Vertragsausführung verfügbar ist. Das Qtum Team entwickelt eine x86 Smart Contracts virtuelle Maschine für Qtum. Diese x86-VM ermöglicht Entwicklern die Flexibilität, intelligente Verträge in gängigen Programmiersprachen wie Rust und anderen zu programmieren. Qtum und Proof of Stake (POS) Wie bereits mehrfach erwähnt, verwendet Qtum ein POS-Konsensmodell. Viele der modernen Blockchains haben sich wegen der Vorteile gegenüber dem klassischen POW-Modell für ein POS-Modell entschieden. POW oder Beweis der Arbeit war das von Bitcoin eingeführte Konsensmodell, in dem spezialisierte Knoten namens Bergleute kryptografisch harte Rätsel mithilfe von ASICs lösen. Die Probleme mit dem Nachweis der Arbeit. Der Nachweis der Arbeit ist ein äußerst ineffizienter Prozess wegen der schiere Menge an Energie und Energie, die er verbraucht. Menschen und Organisationen, die sich schneller und leistungsfähiger ASICs leisten können, haben in der Regel eine bessere Chance auf Mining als die anderen. Das bedeutet, dass Bitcoin-Mining nicht so dezentral ist, wie wir es wollen. Da POW Mining reale Ressourcen verbraucht, ist es sehr schädlich für die Umwelt. Der Proof-of-Stake hingegen macht den Bergbauprozess komplett virtuell. Lassen Sie uns einen kurzen Überblick darüber geben, wie POS funktioniert: Die Validieren/Bergleute sperren einige ihrer Münzen als Einsatz ein. Danach werden sie beginnen, die Blöcke zu validieren. Das heißt, wenn sie einen Block entdecken, von dem sie glauben, dass er der Kette hinzugefügt werden kann, werden sie ihn validieren, indem sie ein oder mehrere UTXOS für 500 Bestätigungen abgeben. Wenn der Block angehängt wird, erhalten die Validatoren eine Blockbelohnung, wobei die Häufigkeit der Blockbelohnungen proportional zu dem von diesem Validator eingesetzten Betrag ist. Verschiedene Projekte verwenden unterschiedliche Variationen des POS-Algorithmus. Ethereum wird das Casper-Protokoll verwenden, während Algorand reines POS verwendet. Dann gibt es Projekte wie EOS, die delegierte POS verwenden, verwendet Qtum POS Version 3 oder POSv3, die für UTXO-basierte Blockchains gebaut ist. Schauen wir uns die vorherigen Versionen an, bevor wir POSv3 ankommen. POSv1: „Coin Age“ ist ein Begriff, der verwendet wird, um zu beschreiben, wie lange ein UTXO nicht für die Blockchain ausgegeben wurde. POSv1 hängt stark vom Münzalter ab. Je höher das Münzalter, desto mehr wird der Schwierigkeitsgrad reduziert. Das Problem bei diesem Ansatz war jedoch, dass die Leute einfach aufhörten, ihre Münzen auszugeben! Die Leute öffneten ihre Brieftasche nur, wenn sie sie zum Einstecken brauchten. Wenn eine Münze alt genug wäre, würde sie fast sofort neue Staking Blöcke erzeugen. POSv2: Diese Version verbessert die Vorgängerversion, indem sie das Konzept des Münzzeitalters aus dem Konsens auslöscht. Eine weitere wesentliche Änderung, die sie unter einer Vielzahl von Updates vorgenommen haben, bestand darin, einen völlig anderen Pfahlmodifikatormechanismus als v1 zu verwenden. Dieser Einteilungsmodifizierer enthält zufällig die vorherige Blockzeit. Denken Sie daran, wenn wir über v3 diskutieren. POSv3: Die Blockzeit, die in POSv2 enthalten ist, kann es anfällig für einen „Kurzstreckenangriff“ machen, bei dem es möglich war, eine alternative Blockchain abzubauen, indem man vorherige Blockzeiten durchläuft. Änderungen wie diese machen POSv3 zu einer viel besseren Version von POSv2. POSv2 verwendete auch Block- und Transaktionszeiten, um das Alter eines UTXO zu bestimmen, das sich vom Münzalter unterscheidet. POSv3 bestimmt das Alter eines UTXO, indem er seine Tiefe in der Blockchain (z. B. Bestätigungen). HINWEIS: Qtum hat kürzlich Unterstützung für OP_RETURN Opcode hinzugefügt, die es ermöglicht, dass ein vout den öffentlichen Schlüssel zum Signieren des Blocks enthalten kann, ohne dass ein vollständiges Pay-to-Pubkey-Skript erforderlich ist. Das bedeutet, dass ein DAP-Anbieter das Gas für neue DApp-Nutzer bezahlen kann, was ein leichteres Onboarding ermöglicht. Tiefer in POSv3 In einem POW-System wird dem Hash des Blockheaders eine zufällige Nonce hinzugefügt und das resultierende wird wieder gehasht. Dieser Hash sollte wiederum kleiner sein als die allgemeine Netzwerkschwierigkeit. Erst dann wird der Block zur Hauptblockchain hinzugefügt. Auf der anderen Seite hat POSv3 einen Kernel-Hash, der aus mehreren Datenteilen besteht, die im aktuellen Block nicht leicht modifizierbar sind. Hier sind einige weitere Funktionen, die im Auge behalten werden müssen über Qtum POS-System: Die zweite Transaktion in jedem Block wird als „Coinstake-Transaktion“ bezeichnet, während die erste Transaktion eine leere Coinbase-Transaktion ist. Jeder Block muss mindestens eine Staking-Transaktion haben. Der Blockzeitstempel muss die unteren vier Bits auf 0 gesetzt haben, damit die Blockzeit nur in 16-Sekunden-Intervallen dargestellt werden kann. Nur einmal alle 500 Blöcke (ca. 18 Stunden) kann ein UTXO verwendet werden, um eine Staking-Transaktion zu erzeugen. Schauen wir uns nun an, woraus ein POSv3-Kernel-Hash aufgebaut ist: Der Pfahlmodifikator des vorherigen Blocks, der ein Hash der Prevout-Transaktion in POS-Blöcken und des vorherigen Blocks Pfahlmodifikators ist. Der Zeitstempel der Prevout-Transaktion. Der Hash der Prevout-Transaktion. Die Ausgabenummer des Prevout (dies ist die Ausgabe der Transaktion wird von der Staking-Transaktion ausgegeben). Die aktuelle Blockzeit, bei der die unteren vier Bits auf 0 gesetzt sind. Diese besondere Funktion ändert sich während des Stapelvorgangs. HINWEIS: Eine Prevout-Transaktion ist die UTXO, die verwendet wird, um eine Staking-Transaktion zu erstellen. Die einzige Möglichkeit, den aktuellen Kernel-Hash zu ändern, besteht darin, die UTXO zu ändern, die Sie verwenden, um den Block zu erstellen oder die aktuelle Blockzeit zu ändern. Nun, da wir wissen, wie Qtums POSv3 funktioniert, schauen wir uns an, wie es POS' größter Fehler mildert - das Problem auf dem Spiel nichts. Was ist das Problem „Nichts auf dem Spiel“? Betrachten Sie die folgende Situation: Im obigen Diagramm haben wir die Hauptkette (blau), die bis Block #53 abgebaut wurde. Es gibt jedoch einen parallelen Zweig, der aus Block #50 (rot) stammt. Was passiert, wenn einige böswillige Bergleute zusammenkommen und weiter an der roten Kette abbauen, bis sie die blaue überholt? Alle Transaktionen, die in den blauen Blöcken 51, 52 und 53 stattgefunden haben, werden sofort null und annulliert. POW-Blockchains sind anfällig für diesen 51% Angriff, da Hash-Power kurzfristig gemietet werden kann. Angenommen, der bösartige Bergmann Alice will auf der roten Kette meinen. Selbst wenn sie all ihre Hash-Macht dafür widmet, wird sie keinen anderen Bergmann dazu bringen, sich ihr an der neuen Kette anzuschließen. Alle anderen werden weiterhin an der blauen Kette meinen, weil es profitabler und risikofreier ist, auf der längeren Kette zu minen. POW ist einfach, einen 51% Angriff mit gemieteter Hash-Leistung zu montieren. Daher sind Kettensplitter für alle außer der größten POW-Blockchain (Bitcoin) problematisch. Die Dinge sehen jedoch ein wenig anders aus, wenn Sie POS einbringen. Wenn Sie ein Validator sind, können Sie einfach Ihr Geld sowohl in die rote als auch in die blaue Kette legen, ohne Angst vor Auswirkungen überhaupt. Egal, was passiert, Sie werden immer gewinnen und nichts zu verlieren haben, trotz wie böswillig Ihre Handlungen vielleicht. Allerdings müsste die rote Kette mit einer größeren Anzahl von Münzen (Netzwerkgewicht) auf den Einsatz setzen, um erfolgreich zu sein, und im Gegensatz zu POW, wo ein Angreifer Hash-Macht mieten kann, erfordert POS tatsächlichen Münzbesitz. Dies wird das „Nichts auf dem Spiel“ -Problem genannt. Ethereum Casper-Protokoll mildert dies mit einem Bestrafungsmechanismus. Grundsätzlich werden die böswilligen Validatoren bestraft, indem sie ihren Pfahl abschneiden lassen. Qtum plant, eine andere Lösung für das Problem mit dem Nichts auf dem Spiel zu bieten und wird niemals Staker bestrafen, die sich falsch verhalten, außer sie aus dem Netzwerk zu werfen. Sie glauben, dass keine Software perfekt gemacht werden kann, und so ist das Risiko eines Fehlers, der den Staker veranlasst, sich falsch zu verhalten und Millionen von Dollar zu verlieren, für sie inakzeptabel. Die folgenden Punkte müssen im Auge behalten werden, um Qtum Abschwächung des Problems „Nichts auf dem Spiel“: Verwendung von Checkpoints und der 500 Bestätigungslaufzeit für Staking Transaktionen. Sie werden einige der Daten auf der Bitcoin-Blockchain setzen, die später durch SPV verifiziert werden können. Dadurch wird sichergestellt, dass ein Angreifer nicht lügen kann, wenn ein bestimmter Block erstellt wurde. Es muss auch beachtet werden, dass Qtum fühlt, dass das nichts auf dem Spiel Problem ist ein wenig überblasen, vor allem wrt auf ihr System, weil: Es kann sehr teuer werden, das Setup für den Angriff zu konstruieren. Selbst wenn alles eingerichtet ist, muss der Rest der Knoten immer noch Ihrer Führung folgen, was eine lange Chance ist. Jeder kann es leicht erkennen, indem er zentralisierte Off-Chain-Ressourcen wie Block Explorers überprüft. Die Checkpoints können dem Code in einem häufigeren Tempo hinzugefügt werden, um schnellere Versionen zu erledigen. Dies wird sicherstellen, dass diese böswilligen, nicht auf dem Spiel stehenden Ketten nie eine signifikante Menge an Macht haben. Decentralized Governance Protocol Ein weiteres Merkmal von Qtum ist DGP (Decentralized Governance Protocol), das eingeführt wurde, um Blockchain-Parameter schnell und nahtlos zu ändern, ohne dass eine harte Fork erforderlich ist. DGP basiert auf Smart Contract Technologie und ist in der Lage, Blockgröße (bis zu 32 MB) anzupassen und die Gasmengen für verschiedene Smart Contract Operationen zu ändern. So können die Blockgröße und die Gasparameter durch einen Governance-Prozess im Netzwerk geändert werden, ohne dass neue Software heruntergeladen werden muss, und es müssen keine Maßnahmen von Netzbetreibern und Knotenbetreibern ergriffen werden. Für Konsensänderungen oder neue virtuelle Maschinen sind beispielsweise weiterhin harte Gabeln erforderlich. Fazit Qtum ist eines der spannendsten Projekte im Raum. Durch die Kombination von UTXO, EVM und POS bietet Qtum eine einzigartige, sichere und skalierbare Plattform. Durch die Verbindung mit dem EVM kann Qtum die bereits lebendige Solidity-Entwickler-Community leicht anziehen und ihnen die Möglichkeit geben, ihre DApps auf ihre Plattform zu portieren. Es wird sehr interessant sein zu sehen, wie dieses Projekt in naher Zukunft wächst.

Like what you read? Give us one like or share it to your friends

53
1
Please to comment
newest oldest most voted
K
Geek
3,468
Kevin Tapp

Quantum locality in play?

Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today and earn 4 bonus blocks

Already have an account? Sign In