Leased Proof of Stake Konsensalgorithmus und das Waves-NG-Protokoll
Autor: Guy Brandon, Waves-Mitarbeiter.
Das Waves-Netzwerk arbeitet mit einem geleasten Proof-of-Stake (LPoS)-Konsensalgorithmus in Kombination mit dem Waves-NG-Protokoll, was ein hohes Maß an Skalierbarkeit und Transaktionsdurchsatz ermöglicht.
Einführung
Das Waves-Netzwerk wurde 2016 nach einem ICO gestartet, bei dem 30.000 BTC – damals rund 16 Millionen US-Dollar – gesammelt wurden. Das Projekt entwickelt ein umfassendes Blockchain-Ökosystem für den Einsatz in Geschäftsprozessen mit einem umfangreichen Toolkit, das unterschiedliche Anforderungen abdeckt – darunter die einfache Erstellung benutzerdefinierter Kryptowährungs-Token, unkomplizierte Smart Contracts, Peer-to-Peer-Handel auf einer integrierten dezentralen Börse (DEX) und eine sichere, bequeme Möglichkeit zur Interaktion mit dApps und Webdiensten über das Waves Keeper-Browser-Plug-in.
Skalierbarkeit
Waves war sich von Anfang an darüber im Klaren, dass für die Masseneinführung von Blockchains Skalierbarkeit erforderlich ist, und priorisierte die Entwicklung von Technologien, die die Einschränkungen bestehender Blockchains beheben. Bitcoin beispielsweise ist zwar sehr sicher, aber relativ langsam und kann nur etwa 7 Transaktionen pro Sekunde (TPS) unterstützen. Daher ist Bitcoin nicht effizient genug, um weltweit als Alltagswährung verwendet zu werden. Damit Bitcoin diesen Zweck erfüllen kann, sind Lösungen der zweiten Ebene wie das Lightning Network erforderlich. Waves hat einen anderen Ansatz gewählt und sich zunächst auf eine hohe On-Chain-Skalierbarkeit konzentriert, bevor Anwendungen der zweiten Ebene in Betracht gezogen werden.
Bilanzleasing
Der ursprüngliche Konsensalgorithmus von Waves war eine einfache Proof-of-Stake-Implementierung. Alle 100 Millionen WAVES-Token wurden nach dem ICO verteilt und das Angebot ist festgelegt: Es gibt keine Inflation wie bei PoW-geschürften Coins. Daher erhalten Waves-Blockvalidatoren (Fälscher, obwohl sie im Waves-Ökosystem normalerweise einfach als „Miner“ bezeichnet werden) Transaktionsgebühren für die Blöcke, die sie verarbeiten, aber keine Blockbelohnungen.
Das Leased Proof of Stake (LPoS)-System wurde im Mai 2017 vollständig eingeführt und ermöglichte Benutzern des Waves Lite-Clients – also denen, die keinen vollständigen Knoten betrieben –, ihre WAVES-Token an Mining-Knoten zu vermieten. Vermietete WAVES sind im Benutzerkonto gesperrt und können nicht übertragen oder gehandelt werden. Die Token verbleiben jedoch in der vollen Kontrolle des Kontoinhabers und die Mietverträge können jederzeit gekündigt werden. Angesichts des technischen Aufwands, der mit dem Betrieb eines Mining-Knotens verbunden ist, und der Notwendigkeit, rund um die Uhr online zu sein, betreibt nur ein relativ kleiner Teil der Waves-Community Knoten (eine Liste der Blockgeneratoren finden Sie unter https://dev.pywaves.org/generators/).
WAVES-Token, die an einen Mining-Knoten vermietet werden, werden verwendet, um das Einsatzgewicht des Miners zu erhöhen, was wiederum die Chancen dieses Miners erhöht, den nächsten Block zu finden. Das Leased Proof of Stake-System verbessert die Netzwerksicherheit auf mindestens zwei Arten. Erstens ist es umso besser, je mehr WAVES zur Sicherung des Netzwerks verwendet werden, da es für einen Angreifer schwieriger wird, die für einen 51%-Angriff erforderlichen Token anzuhäufen. Zweitens können WAVES von der Cold-Storage-Adresse eines Benutzers an einen Knoten vermietet werden, aber der Knoten selbst – der online bleibt – kann nur ein minimales Guthaben aufweisen. Dies reduziert das Risiko erheblich, dass WAVES-Token von Computern gehackt werden, die online sind, da die gemieteten Mittel nicht an den Miner überwiesen werden.
Ein neuer Konsensansatz: Waves-NG
Im Dezember 2017 erfolgte mit der Einführung von Waves-NG ein weiteres Upgrade des Netzwerks. Dabei handelte es sich um ein neues Protokoll, das auf dem Bitcoin-NG-Vorschlag des Cornell-IT-Professors Emin Gün Sirer basierte.
Das ursprüngliche Bitcoin-Protokoll wählt jeden Miner nachträglich aus. Nachdem ein Block zur Blockchain hinzugefügt wurde, konkurrieren die Miner darum, basierend auf dem aktuellen Status der Blockchain einen gültigen Hash für den nächsten Block zu finden. In der Zwischenzeit wandern neu generierte Transaktionen in den Speicherpool (Mempool), wo sie ausstehen, bis ein Miner sie schließlich abholt und validiert.
Obwohl sowohl das Bitcoin- als auch das Bitcoin-NG-Protokoll als byzantinisch fehlertolerante Systeme (BFT) gelten, wurde letzteres 2015 als skalierbare Alternative vorgeschlagen, die auf einem anderen Arbeitsmechanismus basiert. Bei einem Bitcoin-NG-System wird der nächste Miner im Voraus ausgewählt und dieser Miner erstellt einen leeren „Schlüsselblock“ – den Block, der letztendlich zur Blockchain hinzugefügt wird. Kleine Blöcke, sogenannte „Mikroblöcke“ (die jeweils aus einigen Transaktionen bestehen), werden diesem Schlüsselblock nahezu in Echtzeit hinzugefügt. Um eine alltägliche Analogie zu verwenden: Dies ist so, als würde man mehrere Einkaufstüten (Mikroblöcke) in einen Einkaufswagen (Schlüsselblock) legen, bevor der volle Einkaufswagen schließlich zur Kasse gerollt (zur Blockchain hinzugefügt) wird. Dies bedeutet, dass Transaktionen in nur wenigen Sekunden zur Blockchain hinzugefügt werden können, wobei die einzige wirkliche Verzögerung die Netzwerklatenz ist. Waves aktualisierte diese Idee für ein Proof-of-Stake-Netzwerk und erstellte das Waves-NG-Protokoll – die erste Bereitstellung von Bitcoin-NG für eine offene, öffentliche Blockchain.
Eine weitere Ergänzung des Ökosystems sind MassTransfers. Diese ermöglichen die Bündelung von bis zu 100 Überweisungen in einer einzigen Transaktion zu reduzierten Gebühren. Das Limit von 100 Txs pro MassTransfer wurde als Kompromiss zwischen der erheblichen Kapazitätssteigerung und Benutzerfreundlichkeit einerseits und der Einschränkung der Möglichkeit, sehr große Stapel kostengünstiger Transaktionen auf einmal zu senden, andererseits gewählt. Wenn mehr Überweisungen getätigt werden müssen, können mehrere MassTransfers nacheinander übermittelt werden.
Mit anderen Worten: Benutzer können einfach einen MassTransfer als eine andere Art von „Sendetransaktion“ wählen, wodurch sie bis zu 100 Empfänger in einer einzigen Transaktion einbeziehen können. Darüber hinaus können die Empfängeradressen per JSON bereitgestellt oder aus einer CSV-Datei hochgeladen werden, was die Durchführung großer Airdrops oder wöchentlicher Auszahlungen an diejenigen, die ihre WAVES an Mining-Knoten vermieten, unkompliziert und effizient macht. In Kombination mit Waves-NG ermöglichte die MassTransfer-Funktion eine sehr hohe Durchsatzrate im Netzwerk.
Im Waves-Netzwerk wurden mehrere Stresstests durchgeführt, um das Durchsatzpotenzial des neuen Protokolls zu messen. Im Oktober 2018 wurde im MainNet ein großer Stresstest durchgeführt. Dieser zeigte, dass das öffentliche, offene Blockchain-Protokoll (nicht einfach ein begrenztes und kontrolliertes TestNet) innerhalb von 24 Stunden über 6,1 Millionen Transaktionen unterstützen konnte – durchschnittlich 4.200 Transaktionen pro Minute oder 71 Transaktionen pro Sekunde, wobei der Spitzendurchsatz Hunderte von Transaktionen pro Sekunde erreichte.
Abschließende Gedanken
Das Leased Proof-of-Stake-System ermöglichte es normalen Benutzern ohne technisches Fachwissen, zur Sicherung des Waves-Netzwerks beizutragen, indem sie ihre WAVES an vollständige Knoten vermieteten, ohne die Kontrolle über ihre Token zu verlieren. In der Zwischenzeit ermöglichte Waves-NG einen Durchsatz von bis zu 100 TPS, was um eine Größenordnung mehr ist als bei vielen Blockchains. Die Gebühren sind niedrig, da es nicht notwendig ist, Miner mit Blockbelohnungen zu bezahlen, um sie für hohe Stromkosten und teure Hardware zu entschädigen.
Die On-Chain-Skalierbarkeit war für Waves eine Priorität, aber es gibt aufgrund des erforderlichen Speichers und der Bandbreite Grenzen für die Skalierbarkeit einer Blockchain auf diese Weise. Die Entwickler von Waves glauben, dass der aktuelle Ansatz optimiert werden kann, um bis zu 1.000 TPS zu unterstützen, bevor weitere Skalierungslösungen erforderlich sind. Waves prüft derzeit Optionen für eine Skalierungslösung der zweiten Ebene mit Sidechains, die die Verarbeitung einer großen Anzahl von Transaktionen auf einer parallelen Kette ermöglicht, die jedoch letztendlich auf der Haupt-Waves-Blockchain gesichert ist.


