Leased Proof of Stake Konsensus Algorithmus und das Waves-NG Protokoll.
Das Waves-Netzwerk arbeitet auf Basis eines Leased Proof of Stake (LPoS)-Konsensalgorithmus in Kombination mit dem Waves-NG-Protokoll, der ein hohes Maß an Skalierbarkeit und Transaktionsdurchsatz ermöglicht.
Einführung
Das
Waves-Netzwerk ging 2016 live, nachdem sein ICO 30.000 BTC gesammelt hatte - damals rund 16 Millionen Dollar. Das Projekt entwickelt ein umfassendes Blockchain-Ökosystem für den Einsatz in Geschäftsprozessen mit einem breit gefächerten Toolkit, das verschiedene Anforderungen abdeckt - einschließlich der einfachen Erstellung benutzerdefinierter Kryptowährungstoken, unkomplizierter
Smart Contracts, Peer-to-Peer-Handel an einer integrierten dezentralen Börse (DEX) und einer sicheren, komfortablen Möglichkeit zur Interaktion mit
dApps und Webservices über das Waves Keeper Browser-Plugin.
Skalierbarkeit
Von Anfang an erkannte Waves, dass Skalierbarkeit für die Einführung von Massen-
Blockchains erforderlich sein würde, und priorisierte die Entwicklung von Technologien, um die Grenzen bestehender Blockchains zu überwinden.
Bitcoin ist beispielsweise sehr sicher, aber relativ langsam und kann nur etwa 7 Transaktionen pro Sekunde (TPS) unterstützen. Bitcoin ist daher nicht effizient genug, um als Alltagswährung weltweit eingesetzt zu werden. Für Bitcoin sind Lösungen wie das
Lightning Network erforderlich, um diesen Zweck zu erfüllen. Waves hat einen anderen Ansatz gewählt und sich zunächst auf eine hohe On-Chain-Skalierbarkeit konzentriert, bevor es sich an andere Anwendungen wendete.
Guthaben Leasing
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 fix: Es gibt keine Inflation, wie bei
PoW-geschürften Coins. Daher erhalten Waves Block Validatoren (Forger, obwohl sie im Waves-Ökosystem typischerweise einfach als "Miner" bezeichnet werden) Transaktionsgebühren von den Blöcken, die sie verarbeiten, aber keine Blockbelohnungen.
Das Leased Proof of Stake (LPoS)-System wurde im
Mai 2017 vollständig eingeführt, so dass Benutzer des Waves lite Clients - diejenigen, die keinen vollständigen
Knoten betrieben haben - ihre WAVES-Token an Mining-Knoten vermieten können. Leased WAVES sind im Konto des Benutzers gesperrt und können nicht übertragen oder gehandelt werden. Dennoch bleiben die Token in der vollen Kontrolle des Kontoinhabers und die Leasingverträge können jederzeit gekündigt werden. Angesichts der technischen Gemeinkosten, die mit dem Betrieb eines Mining-Knotens verbunden sind, und der Notwendigkeit, rund um die Uhr online zu sein, ist nur ein relativ kleiner Teil der Waves-Community mit Knoten ausgestattet (eine Liste der Blockgeneratoren findest du unter
https://dev.pywaves.org/generators/).
WAVES-Token, die an einen Mining-Knoten vermietet sind, werden verwendet, um das Einsatzgewicht des Miners zu erhöhen, was wiederum die Chancen erhöht, dass dieser Miner den nächsten Block findet. Das Leased Proof of Stake-System verbessert die Netzwerksicherheit auf mindestens zwei Arten. Erstens, je mehr WAVES verwendet werden, um das Netzwerk zu sichern, desto besser, denn es wird für einen Angreifer schwieriger, die Token zu sammeln, die für einen
51%-Angriff notwendig sind. 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 Gleichgewicht aufweisen. Dadurch wird das Risiko, dass WAVES-Token von Computern, die online sind, gehackt werden, deutlich reduziert, da die geleasten Gelder nicht auf den Miner übertragen werden.
Ein neuer Ansatz für den Konsens: Waves-NG
Ein weiteres Upgrade des Netzwerks erfolgte im Dezember 2017 mit der Einführung von Waves-NG. Dies war ein neues Protokoll auf der Grundlage des
Bitcoin-NG-Vorschlags des Cornell-IT-Professors
Emin Gün Sirer.
Das ursprüngliche Bitcoin-Protokoll wählt jeden Miner rückwirkend aus. Nachdem ein Block zur Blockchain hinzugefügt wurde,
konkurrieren die Miner, um einen gültigen Hash für den nächsten Block zu finden, basierend auf dem aktuellen Zustand der Blockchain. In der Zwischenzeit gehen neu generierte Transaktionen in den Speicherpool (Mempool), wo sie so lange anhängig bleiben, bis ein Miner sie schließlich sammelt und validiert.
Obwohl sowohl die Bitcoin- als auch die Bitcoin-NG-Protokolle als
Byzantinische fehlertolerante (BFT) Systeme betrachtet werden, wurde letzteres 2015 als skalierbare Alternative
vorgeschlagen, die auf einem anderen Arbeitsmechanismus basiert. Auf einem Bitcoin-NG-System wird der nächste Miner im Voraus ausgewählt und dieser Miner erstellt einen leeren "Schlüsselblock" - das ist der Block, der schließlich der Blockchain hinzugefügt wird. Kleine Blöcke, die als "Mikroblöcke" bezeichnet werden (bestehend aus jeweils einigen Transaktionen), werden in nahezu Echtzeit zu diesem Schlüsselblock hinzugefügt. Dies ist wie das Hinzufügen mehrerer Einkaufstüten (Mikroblöcke) zu einem Trolley (Schlüsselblock), bevor der volle Trolley schließlich zur Kasse gefahren (zur Blockchain hinzugefügt) wird. Das bedeutet, dass Transaktionen in wenigen Sekunden zur Blockchain hinzugefügt werden können, wobei die einzige wirkliche Verzögerung die Netzwerklatenz ist. Waves hat diese Idee für ein Proof of Stake-Netzwerk weiterentwickelt und das Waves-NG-Protokoll entwickelt - den ersten Einsatz von Bitcoin-NG für eine offene, öffentliche Blockchain.
Eine weitere Ergänzung des Ökosystems ist
MassTransfers. Diese ermöglichen es, bis zu 100 Überweisungen innerhalb einer einzigen Transaktion mit reduzierten Gebühren zu bündeln. Die Begrenzung auf 100 txs pro MassTransfer wurde als Kompromiss gewählt, um einerseits signifikante Kapazität und Komfort zu erhöhen und andererseits die Möglichkeit einzuschränken, sehr große Chargen von kostengünstigen Transaktionen auf einmal zu versenden. Wenn mehr Transfers durchgeführt werden müssen, können mehrere MassTransfers nacheinander eingereicht werden.
Mit anderen Worten, Benutzer können einen MassTransfer einfach als eine andere Art von "Send transaction" wählen, so dass sie bis zu 100 Empfänger in eine einzige Transaktion einbeziehen können. Darüber hinaus können die Empfängeradressen über JSON bereitgestellt oder aus einer CSV-Datei hochgeladen werden, was es einfach und effizient macht, große Airdrops durchzuführen oder wöchentliche Auszahlungen an diejenigen durchzuführen, die ihre WAVES an Mining-Knoten vermieten. In Kombination mit Waves-NG ermöglichte die MassTransfer-Funktion eine sehr hohe Übertragungsrate im Netzwerk.
Eine Reihe von Stresstests wurden im Waves-Netzwerk durchgeführt, um das Durchsatzpotenzial des neuen Protokolls zu messen. Im Oktober 2018 wurde ein großer
Stresstest im Mainnet durchgeführt. Dies zeigte, dass das öffentliche, offene Blockchain-Protokoll (nicht nur ein begrenztes und kontrolliertes Testnet) über
6,1 Millionen Transaktionen innerhalb eines 24-Stunden-Zeitraums unterstützen konnte - durchschnittlich 4.200 txs pro Minute oder 71 txs pro Sekunde, wobei der maximale Durchsatz Hunderte von Transaktionen pro Sekunde erreichte.
Schlussworte
Das Leased Proof of Stake-System ermöglichte es einfachen Benutzern ohne technisches Fachwissen das Waves-Netzwerk zu sichern und ihre WAVES an vollwertige Knoten zu vermieten, ohne die Kontrolle über ihre Token zu verlieren. Inzwischen ermöglicht Waves-NG einen Durchsatz von bis zu 100 TPS, was einer Größenordnung, die größer zu vielen anderen Blockchains ist, entspricht. Die Gebühren sind niedrig, weil es nicht notwendig ist Miner mit Blockprämien zu bezahlen, um sie für hohe Stromkosten und teure Hardware zu entschädigen.
Die On-Chain-Skalierbarkeit war eine Priorität für Waves, aber es gibt Grenzen in Bezug auf das Ausmaß, in dem jede Blockchain aufgrund des benötigten Speichers und der benötigten Bandbreite auf diese Weise skaliert werden kann. Die Entwickler von Waves glauben, dass der aktuelle Ansatz für die Unterstützung von bis zu 1.000 TPS optimiert werden kann, bevor weitere Skalierungslösungen benötigt werden. Waves prüft derzeit Möglichkeiten für eine Skalierungslösung mit Sidechains, die es ermöglichen, eine große Anzahl von Transaktionen in einer parallelen Kette zu verarbeiten, aber letztendlich auf der Hauptblockchain von Waves zu sichern.