Scaling – Plasma & Sharding

In Blockchains der ersten Generation müssen alle Knoten in einem Netzwerk die neu erstellten Blöcke und ihre jeweiligen Transaktionen überprüfen und einem Stand zustimmen. Dies ist zwar teuer und langsam, sorgt aber für einen enorm hohen Grad an Sicherheit.  Diese Blockchain-Lösungen stoßen dabei aber immer wieder auf ein Trilemma aus Dezentralität, Sicherheit und Skalierbarkeit. Will man die Charakteristika aus Dezentralität und Sicherheit aufrechterhalten, so werden dabei im Bereich Skalierung schnell Grenzen erreicht. Versucht man stärker zu skalieren, so gibt man dabei Teile der Sicherheit und / oder Dezentralität auf. Deshalb hat sich Ethereum dafür entschieden die Blockchain von Grund auf neu zu schreiben und wird, beginnend Ende 2019, auf die neue Plattform migrieren und Stück für Stück neue Funktionen implementieren.

Ethereum entwickelt sich bereits jetzt schon – wie Bitcoin auch – zu einer Art Ebenensystem, in dem die Basisschicht (EBL – Ethereum Base Layer) dieselben Funktionen (hohe Sicherheit und Dezentralität) wie bisher bieten wird, indem weiterhin alle Knoten im Netzwerk alle Blöcke und Transaktionen überprüfen werden. Während finanzielle Transaktionen diese hohe Sicherheit benötigen, so könnten andere Applikationen mit einer niedrigeren Sicherheit auskommen, bezahlten sie dafür keine Transaktionskosten. Möglicherweise ist es auch nicht erforderlich, dass alle Informationen vom gesamten Netzwerk validiert werden müssen. Auch ist die Benutzerfreundlichkeit eher gering, wenn jede Aktion mit dem EBL über eine spezielle App wie Metamaks verbunden werden muss.

Deshalb sind auf dieser untersten Ebene höhere Ebenen aufgesetzt: Plasma oder Shards,  Loom oder Raiden Network 

Um dies zu ermöglichen wird im Zuge des sogenannten Casper-Update, von dem Konsens-System ¹ “Proof-of-Work” (POW) in die Ressourcen schonendere Version “Proof-of-Stake” (POS) gewechselt, während zu Beginn eine Hybrid-Version aus beiden Systemen zum Einsatz kommen wird.

Plasma

Plasma ist eine Design-Vorlage um Transaktionen off-chain durchführen zu können. Es ist eine Skalierungslösung, die die Root Chain (oder Main Chain) entlastet, indem sie Transaktionen in Plasma Chains, sogenannten Childchains ²,  auslagert und somit die Durchsatzleistung erhöht. Theoretisch ist Plasma kompatibel mit allen Blockchains, die Smart Contracts aufnehmen können. Es gibt bereits Überlegungen Plasma mit dem Lightning Network auf Bitcoin zu kombinieren.
Bestehend aus einer Reihe von Smart Contracts ist Plasma ein Gerüst um Dapps (dezentrale Apps) erstellen zu können, welche sicher, skalierbar, schnell und wenn nötig, gebührenfrei funktionieren. Um dies zu erreichen, werden für diese Dapps eigene Blockchains (Childchains) erschaffen, welche an die Root Chain durch Smart Contracts angeschlossen sind. Die Dapps führen dann ausschließlich auf ihren eigenen Blockchains aus. Verbunden sind diese Chains durch regelmäßige Statusaktualisierungen auf der Main Chain und durch 
Merkle-Proofs, welche Datenblöcke authentizitieren und Finalität gewährleisten.
Das Justizsystem funktioniert auf ähnliche Weise, in der der Bund
esgerichtshof in Deutschland die höchste Instanz ist, sich darunter Staats – und Amtsgerichte befinden, welche den lokalen Verkehr abwickeln. Bei einem einfachen Vergehen wie dem Falschparken wird der Bundesgerichsthof nicht angerufen, stattdessen wird es von der lokalen Behörde abgewickelt. In selber Weise wird in Ethereum nicht jeder Smart Contract von der Mainchain geprüft werden. Stattdesssen wird in regelmäßigen Abständen der sogenannte Block-Header³ an die Mainchain übergeben und eingefügt, was bedeutet, dass dadruch Kontrollpunkte entstehen.
Schlußendlich ermöglicht Plasma eine Reihe von verschachtelter Blockchains, eine Konstruktion von Blockchains in Blockchains zu erschaffen, gleich einem Baum mit Ästen an Ästen. Das Ziel ist es, Milliarden von Statusaktualisierungen pro Sekunde durchzuführen, die öffentlich in der Main Chain überprüft werden können. Hiermit können auch private Blockchains problemlos in öffentliche Blockchains eingebunden werden, sichere Transaktionen zwischen all den verschiedenen Chains werden durchführbar. Plasma Exits ist eine Absicherung um auf potentiell betrügerisches Verhalten auf den angebundenen Chains reagieren zu können.

 

  • Plasma Cash ist eine Variante des Plasma Frameworks. Es verwendet 2 Blockchains simultan – die Ethereum Blockchain und eine Plasam Childchain. Während die Ethereum Main Chain für Sicherheit sorgt, generiert die Chidchain schnelle und günstige Transaktionen. Plasma Cash bündelt nun viele dieser Transaktionen auf der Chidlchain und reicht eine komprimierte Version dieses Transaktions-Stapels auf einen Steich in der Main Chain ein. Stellt man sich 1000 Transkationen in einer Minute auf der Chidlchain vor und geht man von 400 Transaktionen pro Ethereum Block aus, so könnte man durch Plasma Cash 400*1000 = 400.000 Transaktionen in einem Block unterbringen. Durch Plasma Cash werden native ETH, ERC20 und ERC721 (NFT) Token an das Ethereum Main Net gebunden. BTC soll in Zukunft ebenso hinzugefügt werden können.

     

  • Plasma Debit ist ebenfalls eine Variante des Plasma Frameworks und ist Plasma Cash sehr ähnlich mit dem Unterschied, dass auch Teilzahlungen durchgeführt werden können, was es für Micropayments (Kleinbetragzahlungen) ideal macht. Plasma Debit kann auch mit dem Lightning Network (LN) in Bitcoin verglichen werden, in welchem jeder Token einen bidirektionalen Zahlungskanal repräsentiert. Allerdings wird im Gegenteil zum LN der Status eines Kanals regelmäßig auf der Main Chain beglaubigt. Plasma Debit wird ideal für Zahlungen sein, da alle Transaktionen billig und schnell sein werden.

     

  • Plasma Bridge wird zwei Layer1 Blockchains durch eine gemeinsam genutzte Plasma Childchain verbinden, einen freien Austausch und Wertetransfer zwishen den Chains (ie Atomic Swaps) ermöglichen.

     

  • Plasma Ignis: nach Vitalik Buterins Ausführungen läuft eine Alphaversion „Plasma of fire“ nun in einem Testnetz von Matter Labs mit bis zu 500 tps. Durch zk-SNARKs (zero knowledge succinct non-interactive arguments of knowledge) wird die Effizienz gesteigert, indem Transfers komprimiert werden. Zk-SNARKs ist normalerweise dafür bekannt Transaktionen privat zu halten, was aber in diesem Fall lediglich als Skalierungsoption genutzt wird. Transaktionen werden hierdurch nicht privat

Sharding

„Ein Datenbank-Shard ist eine horizontale Position von Daten in einer Datenbank oder Suchmaschine. Jede einzelne Partition wird als Shard oder Datenbank-Shard bezeichnet. Um die Last zu verteilen, wird jeder Shard auf einer separaten Serverinstanz gespeichert. Einige Daten in einer Datenbank sind in allen Shards vorhanden, andere jedoch nur in einem einzelnen Shard. Jeder Shard fungiert als einzelne Quelle für diese Teilmenge von Daten (engl. Wikipedia). “

Beim Sharding wird das Netzwerk im Wesentlichen in viele kleinere Blockchains oder Shards aufgeteilt, bei denen nicht jeder Knoten alles überprüfen muss, sondern der Validierungsprozess von allen ausgewählten Validatoren gemeinsam ausgeführt wird. Dies bedeutet, dass ein viel höherer Durchsatz möglich ist und gleichzeitig weniger Energie verschwendet wird. Um sicherzustellen, dass die Sicherheit nicht beeinträchtigt wird, werden die Validatoren und ihre Shards nach dem Zufallsprinzip ausgewählt, so dass im Vorhinein nicht klar ist, welche Shards von wem überprüft werden.

Am Ende strebt Ethereum danach, ein Shard of Shards zu werden, das auch als superquadratisches Sharding-Schema bekannt ist. Die Transaktionsgebühren wären in einem solchen System minimal und die Skalierbarkeit würde für Ethereum als allgemeine Infrastruktur für alle Arten von Anwendungen in die Höhe schnellen. 

Im bisherigen Ethereum1.0 gibt es nur ein Ökosystem, in dem viele verschiedene Anwendungen unter denselben Regeln mit vielen verschiedenen Anwendungsfällen ausgeführt werden. Zwischen einzelnen Aktionen kann keine Unterscheidung getroffen werden. 
Durch Sharding ist es nun möglich high-value und low-value Applikationen zu trennen und sie unter einem globalen Konsens in unterschiedliche Shards aufzuteilen und demnach unterschiedlich hohe Gebühren zu verlangen, je nach Anwendung.

Plasma und Sharding können miteinander angewendet werden und wird Ethereum2.0 erheblich skalieren.

¹ POW und POS sind streng genommen keine Konsens-Systeme, sondern eine Incentive-Schicht, die auf dem Konsens-System aufgesetzt ist

² Childchains und Sidechains sind Blockchains, die an eine Main Chain oder angeschlossen sind. Während Sidechains als eigenständige Blockchains für ihre Sicherheit selbst  verantwortlich sind und autark funktionieren, werden Childchains von der Main Chain gesichert. Funktionsunterschiede am Beispiel der Childchains von Ardor.

³ Block Header: um einen Block durch den Explorer auffinden zu können besitzt jeder Block seinen eigenen individuellen Block Header (die Identifizierung des Blocks findet durch die Abwandlung des Block Header statt, durch dessen Hash-Wert)