Die Skalierung der Second Layer

09.06.2020

Skalierbarkeit ist in der Forschung ein ständiges Thema und stellt die Blockchain-Technologie vor Herausforderungen. Ohne eine Skalierung der Geschwindigkeit vieler Blockchains – Bitcoin erreicht etwa 3-4 Transaktionen pro Sekunde, Ethereum ca. 15 Transaktionen pro Sekunde – kann eine weit verbreitete Einführung der Technologie durch Unternehmen und Privatpersonen weltweit nicht gelingen. Eine oft genannte Referenz für ein ideales Zahlungsvolumen ist die Kapazität von VisaNet, das ca. 1’700 Transaktionen pro Sekunde schafft, in Spitzenzeiten aber auch deutlich mehr verarbeiten kann.

Die Skalierung von Blockchain-Layers
Es gibt zwei Ansätze der Blockchain-Skalierung: die Skalierung der Protokollschicht (Layer-1-Skalierung) oder die Skalierung mit auf dem Protokoll aufgesetzten Lösungen, die keine Änderung am Kerncode der Blockchain erfordern (Layer-2- oder L2-Skalierung). Werden beide Layers skaliert, ergibt sich ein Multiplikatorvorteil. Auf diese Weise können eine 10-fache Verbesserung in der ersten Schicht (oder Basisschicht) und eine 100-fache Verbesserung in der zweiten Schicht gut und gerne zu einer insgesamt 1000-fachen Durchsatzerhöhung führen.

Die Skalierung der zweiten Schicht unterscheidet sich von der Einführung von Sidechains, die mit dem Hauptzweig verbunden sind. Der Vorteil besteht darin, dass der Hauptzweig bei gut konzipierten L2-Lösungen über Informationen darüber verfügt, was in der zweiten Schicht geschieht, und als Richter für die Beilegung möglicher Streitigkeiten auf der zweiten Schicht fungieren kann (z. B. bei der Frage, ob Mittel ausgegeben wurden oder nicht). Oftmals bieten L2-Lösungen auch Datenschutzfunktionen, die in manchen Fällen erwünscht bzw. unerwünscht sind.

Eines der Schlüsselthemen für die Konzeption von L2-Lösungen ist die Datenverfügbarkeit: Sind die Daten über die L2-Transfers auch auf dem Hauptzweig verfügbar? Einige der unten dargestellten Methoden speichern Daten über Off-Chain-Übertragungen (z. B. Plasma). Hierbei werden Reibungen erzeugt, wenn die User die Daten erfassen müssen, wenn sie online sind, oder sie nach einer Offline-Zeit herunterladen. Es gibt aber auch Methoden, bei denen die Daten on-chain verfügbar sind (z. B. zk-Rollups).

Abbildung 1: Skalierungslösungen sind sowohl für die erste als auch für die zweite Schicht verfügbar, und Fortschritte in einem Bereich kommen auch einem anderen zugute.
Quelle: Bitcoin Suisse Research

Skalierungsansätze für die First Layer
Obgleich in diesem Artikel L2-Lösungen im Fokus stehen, werden auch einige der wichtigsten Ansätze zur Skalierung der Basisschicht erläutert. Ein Versuch, die erste Schicht zu skalieren, ist Sharding, wie es bekannterweise für Ethereum 2 geplant ist. Sharding bedeutet im Wesentlichen eine “Parallelisierung” der Blockchain und wird bei einer erfolgreichen Umsetzung den Ethereum-Durchsatz auf etwa 10’000 Transaktionen pro Sekunde erhöhen.

Ein weiterer Ansatz für inkrementelle Skalierbarkeitsgewinne besteht in der Optimierung der Transaktionen selbst, hauptsächlich durch effizientere Signaturalgorithmen. Ethereum 2 wird BLS-Signaturen verwenden, und für Bitcoin befinden sich Schnorr-Signaturen in der Entwicklung, was den Bedarf an Blockspace aus anderen Transaktionen erheblich reduzieren würde.

Zu guter Letzt besteht eine einfache Lösung zur Skalierbarkeit von Layer 1 darin, die Blockgrössengrenze heraufzusetzen. Dies ist der von Bitcoin SV gewählte Ansatz, wo ein einziger 370-MB-Block, der kürzlich abgebaut wurde, rund 1,3 Millionen Transaktionen enthielt. Dies entspricht rund 2’200 Transaktionen pro Sekunde.

Skalierungsansätze für die Second Layer
Die Forschungsanstrengungen in den Bereichen verschiedener L2-Skalierungslösungen sind in diesem Jahr und insbesondere in den letzten beiden Monaten immer mehr zum Tragen gekommen. Es existieren drei wesentliche L2-Skalierungstechniken: Eine von ihnen, zk-Rollups, wird aufgrund der grossen Datenverfügbarkeit und der Validierungsgarantien auf dem Hauptzweig manchmal auch als “halbe” L2-Lösung bezeichnet.

Zahlungskanäle und Zustandskanäle
Eines der älteren Konzepte sind Zahlungskanäle oder deren allgemeine Form, die State Channels, die nicht nur die Wertübertragung über den Kanal, sondern generell eine Aktualisierung des Blockchain-Zustands ermöglichen. Beispiele für solche Projekte sind das Lightning Network für Bitcoin, Raiden und die Fate Channels von FunFair für Ethereum sowie Aeternity mit einer integrierten Protokollunterstützung für Zustandskanäle.

Im Grunde erlauben die Kanäle zwei Parteien, Transaktionen nur untereinander vorzunehmen, anstatt dass jede Transaktion direkt auf die Chain geschrieben wird, was zu einem massiven Skalierungsgewinn und einer nahezu konstanten Transaktionsabrechnung führt. Nur das Ergebnis wird auf die Hauptblockchain geschrieben – damit ist diese Art der Skalierung ideal, wenn man weiss, dass zwei Parteien demnächst grosse Mengen zwischen sich bewegen müssen. Der Schutz vor betrügerischen Versuchen durch eine der Parteien muss bei der Kanalgestaltung mitberücksichtigt werden. In der Regel ist es beiden Parteien möglich, ihr Geld vom Kanal zurück auf die Hauptblockchain abzuziehen. Trotz ihrer langen Geschichte sind diese kanalbasierten Technologien noch nicht verbreitet, vielleicht aufgrund der hohen Anforderungen an die Offenhaltung von Kanälen und der Herausforderungen beim Zahlungsrouting, wenn mehr als zwei Parteien beteiligt sind.

Child Blockchains (Plasma)
Eine weitere Möglichkeit besteht darin, Child Blockchains zu generieren, die an der Main Chain angedockt sind. Diese Child Chains schreiben dann gelegentlich einen Fingerabdruck ihres Zustands in die Root Chain (z. B. die aktuelle Ethereum-Blockchain). User können über einen Smart Contract auf die Child Chain (Plasma) gelangen. Die Plasma Chain kann mit einer anderen Geschwindigkeit und einem anderen Konsensmechanismus als die Main Chain betrieben und somit auf bestimmte Anforderungen eines Zahlungsnetzes oder einer dezentralen Anwendung abgestimmt werden. Möchte ein User die Chain wieder verlassen, muss er eine “Challenge-Periode” einhalten, damit Betrugsversuche verhindert werden können.

Dies ist auch eines der Probleme von Plasma Chains. Bei einer Überlastung der Root Chain und einem gleichzeitigen Massenausstieg aus der Plasma Chain ist die Challenge-Periode möglicherweise nicht lang genug, um alle betrügerischen Aktionen zu verhindern. Ist die Challenge-Periode hingegen zu lang, entstehen Reibungs- und Opportunitätskosten für die User, da sie ihre Assets nichts nutzen können.

Kürzlich hat das Netzwerk OMG (ehemals OmiseGo) nach jahrelanger Entwicklung eine Plasma Chain eingeführt . Sie ermöglicht mehr als 1’000 Transaktionen pro Sekunde zu einem Drittel der Kosten pro Transaktion und wurde bereits für Tether, einem der wichtigsten Gas-User bei Ethereum, integriert.

zk-Rollups
zk-Rollups könnten einer der vielversprechendsten Skalierungsansätze überhaupt sein. zk-Rollups sind eine Form des Transaktionsbatchings, bei dem SNARK oder STARK (kurzfristig nicht-interaktive/transparente Wissensargumente) eingesetzt werden, um eine Kompression mehrerer Transaktionen (beispielsweise eine einfache Wertübertragung von Adresse A nach B) auf eine einzelne On-Chain-Transaktion zu erreichen. SNARKs sind kryptographische Methoden, die von Zcash für Datenschutzgarantien verwendet wurden, aber zk-Rollups zeigen die Vorteile auf, die sie für Skalierbarkeitszwecke haben können.

Die User gelangen erneut über einen Smart Contract ins System, und anreizgesteuerte Vermittler kümmern sich um die Bündelung der Transaktionen und die Erstellung von SNARK-Proofs, die rechenintensiv sind und oft den Engpass solcher Systeme bilden.

Der erste Einsatz eines solchen Systems im Ethereum-Mainnnet erfolgte durch die dezentrale Exchange Loopring. So wurde eine optimierte Nachweisgenerierung erreicht, mittels derer die Kosten pro Trade auf 0,000124 USD gesenkt werden konnten. Ursprünglich wurde dieses System entwickelt, um den Betrieb der dezentralen Exchange zu vereinfachen, es kann jedoch auch für einfache Peer-to-Peer-Transfers von ETH- oder ERC-20-Token verwendet werden. Diese im Juni durch Looping Pay eingeführte Funktion vergrössert die Ethereum-Kapazität für Transaktionen um einen Faktor 1’000 – eine bemerkenswerte Leistung. Ihr Token LRC reagierte positiv und legte im Lauf der letzten Woche (zum Zeitpunkt des Verfassens dieses Artikels) um rund 75% zu.

Darüber hinaus zeigte die StarkEx von StarkWare, wie grosse Communities in das Ethereum-Mainnnet eingebunden werden konnten, ohne mit ihrer zk-Rollup-Technologie auf Basis von STARKs Staus zu verursachen. Es ist ihnen gelungen, 1,3 Mio. Konten mit einem Anfangssaldo einzurichten, wobei sie nur 2,5% der Ethereum-Kapazität über zwölf Stunden nutzten, und dies zu einem durchschnittlichen Transaktionspreis von 0,003 USD. Ohne zk-Rollup hätte dieser Prozess 4,5 Tage lang die gesamte Ethereum-Kapazität in Beschlag genommen.

Fazit
Die Skalierung der zweiten Schicht ist demnächst soweit, und es wurden signifikante Skalierungsfaktoren von bis zu 1’000 erreicht. Das Onboarding von Usern in diese Systeme ist der nächste Schritt, bevor sich Netzwerkeffekte ergeben werden. Angesichts der deutlich geringeren Transaktionskosten bieten sich Usern jedoch bestimmt wirtschaftliche Anreize.

Künftig könnten solche L2-Lösungen einen grossen Beitrag zur Blockchain-Akzeptanz insgesamt leisten, da sie die Kosten senken, die Geschwindigkeit erhöhen und damit die Usability der Chain verbessern. Die letzten Puzzleteile sind der breite Einsatz dieser Lösungen und benutzerfreundliche Schnittstellen, die keine umfassenden Kenntnisse der Blockchain erfordern. Der Endnutzer wird lediglich bemerken, dass die Geschwindigkeit gestiegen ist und die Kosten gesunken sind.

BTCS-logo-mark_rgb.png

Bitcoin Suisse