Taiko – eine Einführung

h!lde
Taiko Community | DACH 🇩🇪 🇦🇹 🇨🇭
9 min readFeb 18, 2023

Taiko Labs | 10. Oktober 2022

Taiko will Ethereum skalieren. Die Idee: es so genau wie möglich nachahmen, sowohl technisch als auch hinsichtlich der Grundprinzipien. Taiko ist ein Ethereum-äquivalentes ZK-Rollup zur Skalierung von Ethereum. Taiko unterstützt alle EVM-Opcodes in einer dezentralen, genehmigungsfreien und sicheren Layer-2-Architektur.

Ethereum stellt für die menschliche Koordination und persönliche Freiheit einen enormen Fortschritt dar.

Als globale und glaubwürdig neutrale Abwicklungsschicht bietet Ethereum starke digitale Eigentumsrechte. Jeder kann Werte bewegen, wo und wann er es will. Ethereum ist das Protokoll des Internets der Werte und seit der Entstehung des Internet haben wir kein Netzwerk gesehen, in dem das so fließend möglich ist.

Auch Wertschöpfung funktioniert ähnlich einfach und grenzenlos. Die kreative Kraft von Entwickler:innen, die ihre Smart Contracts und Anwendungen auf einem immer verfügbaren, immer zugänglichen, grenzenlosen Computer bereitstellen, ist schlicht außergewöhnlich.

Um all dies zu erreichen, musste Ethereum (zu Recht) bestimmte Blockchain-Attribute gegenüber anderen priorisieren: Dezentralisierung und Sicherheit stehen über Skalierbarkeit. Wenn eine öffentliche Blockchain nicht dezentral und sicher ist, dann ist sie nicht glaubwürdig neutral und daher nicht attraktiv für wirklich wertvolle und kritische Funktionen. Skaliert eine eine öffentliche Blockchain aber nicht, können große Teile der Entwickler:innen, Nutzer und Anwendungsfälle das Netzwerk aufgrund der unerschwinglich hohen Transaktionsgebühren und des geringen Durchsatzes nicht nutzen.

Um sein Potenzial voll zu entfalten, muss Ethereum also offen sein und jeden unterstützen können, der es nutzen möchte. Ethereum muss entsprechend für die Weltbevölkerung skalierbar sein. Ethereum sieht hierfür Rollups als die vielversprechendste Skalierungslösung. Und die vielversprechendste Art von Rollups sind Ethereum-äquivalente ZK-Rollups.

Taikos Ziel ist ein vollständig Ethereum-äquivalentes ZK-Rollup. Wir wollen Ethereum skalieren, indem wir es auf technischer nachahmen und uns auch seine Grundprinzipien zu Eigen machen.

Technischer Überblick zu Taiko

ZK-Rollups skalieren die Berechnung, indem sie Transaktionen außerhalb der Chain ausführen, aggregieren und prüfen, sich für die Verfügbarkeit von Daten und die Gültigkeitsprüfung aber auf Ethereum verlassen. Der größte Nachteil der derzeit in Produktion befindlichen ZK-Rollups ist, dass sie die verallgemeinerte Berechnung des EVM nicht exakt unterstützen können, sondern meist anwendungsspezifisch sind. Dies bricht die Kompatibilität mit bestehenden Ethereum L1 Smart Contracts und Dapps. Dadurch wird es gleichzeitig schwierig, neue Daaps zu erstellen, die die gleiche Art von komposablen und umfänglichen Erfahrungen bieten.

Ethereum-äquivalente ZK-Rollups, manchmal auch ZK-EVMs genannt, sind der heilige Gral der Layer-2-Skalierungslösungen, da sie keine Kompromisse bei Sicherheit oder Kompatibilität machen. Taiko will ein Typ-1-ZK-EVM sein, das der perfekten EVM/Ethereum-Äquivalenz Vorrang vor der ZK-sicheren Generierungsgeschwindigkeit einräumt.

Taiko besteht aus drei Hauptteilen: den ZK-EVM-Circuits (zur Beweiserzeugung), den L2-Rollup-Nodes (zur Verwaltung der Rollup-Chain) und dem Protokoll auf L1 (zum Verbinden dieser beiden Teile miteinander für die Verifizierung des Rollup-Protokolls).

1. ZK-EVM

Die ZK-EVM beweist die Korrektheit der EVM-Berechnungen auf dem Rollup mittels Validitätsnachweisen.

Taiko kann den Smart-Contract-Code von Ethereum unverändert ausführen, dazu sind keine Änderungen erforderlich. Entwickler:innen können ihre bestehenden Ethereum-Smart-Contracts und Dapps ganz einfach auf Taiko migrieren oder natürlich ihren neuen Solidity-Code auf Taiko als ihre erste/einzige Umgebung implementieren. Taiko implementiert ein ZK-EVM, das jeden EVM-Opcode unterstützt und einen Gültigkeitsnachweis der ZK-EVM-Circuits erzeugt. Neben der perfekten Kompatibilität mit Ethereums L1-Smart-Contracts und Dapps bedeutet dies auch, dass alle Ethereum- und Solidity-Tools nahtlos mit Taiko zusammenarbeiten, ohne dass der Workflow der Entwickler:innen unterbrochen werden muss.

Das hat zwei Effekte:

  1. Die Entwicklungserfahrung ist genau dieselbe, die Solidity-Smart-Contract-Entwickler bereits kennen, ergo keine Zeitverschwendung, keine Friktion. Die Dynamik von EVM-Entwicklung und Ethereum-Smart-Contracts ist hoch und sie sollte auf keinen Fall umgeleitet oder verlangsamt werden.
  2. Smart Contracts (und Systeme aus Smart Contracts & Dapps), die auf Ethereum laufen — in vielen Fällen seit Jahren und oft mit einem Wert von Milliarden von Dollar — sind “kampferprobt” und könnten auf Taiko portiert werden, ohne das Risiko einzugehen, sie in eine andere Sprache kompilieren oder das Framework anderweitig optimieren zu müssen. Das bedeutet: Übertragung der kompletten Dapp bzw. der Smart-Contract-Bausteine/Entwicklungspattern.

Über die Vorteile der EVM-Äquivalenz hinaus, die sich hauptsächlich auf der Anwendungsebene manifestiert, will Taiko eine Ethereum-Äquivalenz erreichen, die es uns ermöglicht, die vorhandene Ethereum-Infrastruktur wie Ausführungsclients zu nutzen, die leicht zu Taiko-Nodes umfunktioniert werden können. Der Taiko-Client basiert derzeit beispielsweise auf dem etablierten Go-Ethereum-Client. Daher ist nicht nur die VM perfekt kompatibel, sondern auch das „umgebende Gewebe“, da Taiko-Nodes denselben Hash-Algorithmus, das gleiche Signaturschema sowie auch eine identische Speicherdatenstruktur wie Ethereum verwenden. Wichtig ist, dass Taiko auch in Zukunft Ethereum-äquivalent sein will: Wenn es Ethereum-Protokollaktualisierungen gibt, implementieren wir diese in unserem zkEVM, um so die Synchronizität aufrechtzuerhalten. Generiert Taiko überzeugende Konzepte aus der eigenen Forschung und Entwicklung, können diese wiederum auf Ethereum implementiert werden, und so Ethereum als Baselayer verbessern.

Hinsichtlich Kompatibilität werden nicht nur Devs und Infrastrukturanbieter eine nahtlose Erfahrung auf Taiko haben, sondern auch unsere User, denn die Nutzungserfahrung, -pattern und Produkte werden ihnen vollständig vertraut sein.

Aus der Metaperspektive kann man sich Taiko folgendermaßen vorstellen: Als Allzweck-L2 wollen wir Entwickler:innen befähigen, die letztendlich dann Nutzer befähigen. Wir bauen, was wir bauen, damit andere tun können, was sie tun.

Taiko wird in dieser Welt nur etwas bewirken, wenn es anderen hilft, in dieser Welt etwas zu bewirken. Die Nutzung der Leistungsfähigkeit von Ethereum, seiner EVM, der gut definierten Infrastruktur und der Tools, der riesigen Menge an Smart Contracts und des stillen Wissens der Entwickler sind die Hauptgründe, ein Typ-1-ZK-EVM zu bauen. Genau das treibt uns an.

2. Taiko-L2-Rollup-Nodes

Taiko-Nodes erhalten Transaktionsdaten von Ethereum und führen die Transaktionen auf L2 aus, wodurch der State letztendlich gemäß den Transaktionsausführungen vorangetrieben wird. Somit verwalten diese Nodes die Rollup-Chain. Derzeit ist der Taiko-Node ein Ethereum-Geth-Fork.

3. Taiko-Protokoll

Das Taiko-Protokoll definiert und erzwingt die Rollup-Regeln und potenzielle Teilnehmer. Das Design hält die Kernprinzipien von Sicherheit, Dezentralisierung und Erlaubnislosigkeit aufrecht.

Smart Contracts auf Ethereum fungieren als Datenverfügbarkeitsmechanismus und Verifizierer der ZK-SNARK-Prrofs. Ein auf Taiko L2 bereitgestellter Smart Contract führt bestimmte wichtige Protokollfunktionen aus. Wir haben dies in unserem Whitepaper erläutert.

Netzwerkteilnehmer fallen im Rahmen der obigen Architektur in drei Rollen:

  1. Proposer: Sie konstruieren aus den L2-Transaktionen der User die Rollup-Blöcke und schlagen sie der L1 vor. Jeder Teilnehmer im Netzwerk kann dies Rolle übernehmen.
  2. Prover : Sie generieren die ZK-SNARK-Proofs, welche die Gültigkeit der L2-Transaktionen und -Blöcke aus den vorgeschlagenen Blöcken bestätigen. Die Rolle steht jedem Teilnehmer im Netzwerk offen.
  3. Node-Runner. Sie führen die Transaktionen basierend auf On-Chain-Daten aus, um mit dem Zustand der Chain synchron zu bleiben. Während sowohl Proposer als auch Prover Nodes betreiben müssen, um ihre jeweiligen Rollen zu erfüllen, können andere Akteure ebenfalls Nodes betreiben, z. B. solche, die Dienste wie einen Block-Explorer anbieten oder Anbieter von Node-Infrastruktur. Jeder Teilnehmer im Netzwerk kann Taiko-Knoten betreiben.

Wie funktioniert es?

Blöcke in der Taiko L2-Blockchain bestehen aus Sammlungen von Transaktionen, die nacheinander ausgeführt werden. Neue Blöcke können an die Chain angehängt werden, um ihren Zustand zu aktualisieren. Dieser kann durch Befolgen der Protokollregeln für die Ausführung der Transaktionen berechnet werden.

Die Blockübermittlung ist in zwei Teile geteilt:

  1. Blockvorschlag: Ein Block wird vorgeschlagen, wobei die Blockdaten auf Ethereum veröffentlicht und der Block an die vorgeschlagene Blockliste im Taiko-L1-Contract angehängt werden. Das Protokoll stellt sicher, dass der Block — und damit auch die Blockausführung — zu diesem Zeitpunkt unveränderlich ist, und jeder den State der Chain berechnen kann, wenn die Ausführung durch ist. An diesem Punkt bezeichnen wir einen Block und alle eingeschlossenen Transaktionen als abgeschlossen. Ein Merkmal in einem vorgeschlagenen Block auf L1 ist, dass es möglicherweise ungültige Transaktionen gibt, die von Taiko-L2-Nodes übersprungen werden. Diese Funktion ermöglicht Fehlertoleranz, während mehrere Blöcke gleichzeitig vorgeschlagen werden.
  2. Blockverifikation: Da alle vorgeschlagenen Blöcke deterministisch sind, können Blöcke parallel bewiesen werden, da alle Zwischenzustände zwischen Blöcken bekannt sind. Sobald ein Nachweis für den Block verifiziert ist und sein korrekt verknüpfter übergeordneter Block On-Chain abgeschlossen ist, markieren wir den Block als On-Chain abgeschlossen.

Eine grundlegende Anforderung des Protokolls ist, dass alle Daten, die notwendig sind, um den aktuellen Zustand zu rekonstruieren und somit neue Blöcke zu erstellen und anzuhängen, auf Ethereum öffentlich verfügbar sind. Darüber hinaus können Prover Beweise für einen Block erstellen, indem sie nur öffentliche Daten auf Ethereum verwenden. Es sind genau diese Tatsachen, basierend auf den öffentlichen Daten von Ethereum stützen und allen potenziellen Teilnehmern faire Wettbewerbsbedingungen bieten, die Taikos L2 wirklich dezentral machen.

Ausführliche Informationen zum Taiko-Rollup finden sich im Whitepaper.

Es ist allgemein bekannt, dass die EVM nicht dazu gedacht war, in einem ZK-Circuit zu laufen. Es gibt viele Teile der EVM-Berechnung, der Ethereum-Datenstrukturen und der eingebetteten Kryptografie, die ZK-SNARK-unfreundlich und ineffizient, also langsam, nachzuweisen sind. Viel Arbeit, wie bei der PSE der Ethereum Foundation, war notwendig, um diese Herausforderungen zu bewältigen. Trotz allem bleibt das Generieren von ZK-Proofs zur EVM-Berechnung langsam. Dies ist der Hauptkompromiss, welcher der Kompatibilität der verschiedenen ZK-EVM-Typen entgegensteht. Typ-1 ist bei der Beweisgenerierung am langsamsten, bietet dafür aber perfekte Kompatibilität und Zukunftssicherheit. Andere Typen sind schneller bei der Generierung von Nachweisen, geben dafür jedoch in unterschiedlichem Maße EVM/Ethereum-Kompatibilität und Zukunftssicherheit auf.

Unter Beibehaltung der nicht verhandelbaren Dezentralisierung, Genehmigungsfreiheit und Sicherheit — und der Priorität einer vollständigen EVM-Äquivalenz — ist es das ausdrückliche Ziel des Taiko-Rollups, die Nachteile der langsamen Prüfungszeit durch das Protokolldesign zu mindern. Wir wollen schnelle Finalität erreichen, bevor die ZKPs generiert wurden. Wir werden das Protokoll weiterhin mit Blick auf diese Ziele entwickeln, bleiben aber auch offen für VM-Anpassungen/-Optimierungen, wenn langsame Nachweise die Nutzungserfahrung der Chain drastisch verschlechtert.

Lasst uns nach diesem kurzen Überblick über die technischen Details zum Community-Aspekt der Taiko- und Ethereum-Kompatibilität übergehen. Diese ist extrem wichtig, denn Blockchains sind kodifizierte Gesellschaftsverträge. Letztendlich sind es Menschen und ihre Wertesysteme, die die Protokolle vorantreiben.

Taiko-Grundsätze

Unter der Schicht 1 liegt Schicht 0, der Social Layer, die Menschen. Blockchains werden von Menschen gebaut, und was diesen Menschen wichtig ist, findet Eingang in den Gesellschaftsvertrag, den Code und das übergreifende Design. Auch hier streben wir größtmögliche Ethereum-Kompatibilität an.

Wir haben guten Grund, uns eng an Ethereum zu orientieren. Es ist das einzige Ökosystem ist, das uns das bietet, was uns wichtig ist, und die Möglichkeit gibt, die Welt zum Besseren zu verändern, insbesondere für diejenigen, die es am dringendsten brauchen. Das klingt groß und hoch gegriffen, aber genau das sind die geteilten Ansprüche von Ethereum und Taiko.

Zugänglich
Jeder, der Taiko verwenden, darauf bauen oder teilnehmen möchte, kann dies tun. Wir ermöglichen dies, weil die Transaktionsgebühren günstig und der Durchsatz hoch sind; die Entwicklungserfahrung ist robust und die Ethereum-Dapp-Migration verläuft nahtlos. Das Netzwerk ist genehmigungsfrei und nutzt Ethereums Infrastruktur vollumfänglich. Ohne Zugang keine Freiheit.

Inklusive
Taiko ist zensurresistent und kann keine Gruppen oder Einzelpersonen ausschließen. Das Rollup ist dezentralisiert und erlaubnislos. Für Datenverfügbarkeit und -sicherheit bauen wir auf Ethereum und ermöglichen jedem Netzwerkteilnehmer, User oder Builder die Nutzung. Es gibt keine speziellen Rollen, die User/Anwendungen/Transaktionen zensieren können. Unser einziges Interesse: ein glaubwürdig neutrales und faires System.

Offen
Taiko ist vollständig Open Source und auf die Community ausgerichtet. Wir bauen auf den Schultern von Giganten auf und freuen uns, einen Beitrag zum technischen Fortschritt und zur Ethereum-Community zu leisten. Wir schätzen die Beiträge der Community zum Projekt und nutzen die besten Köpfe und Ideen, die sich für den Raum interessieren. Alles, was Taiko tut, sichert Mandatstransparenz.

Danke

Ganz herzlichen Dank an euch fürs Lesen. Taiko befindet sich seit Q1 2022 in Entwicklung. Einige Teamkollegen sind bereits seit 2021 in Forschung und Entwicklung von ZK-EVM eingebunden, viele weitere von uns seit 2018 im Bereich Skalierbarkeit und ZK-Rollups involviert. Wir möchten außerdem den vielen Teams und Researcher für ihre phänomenale Arbeit am ZK-EVM und verwandten Technologien danken, darunter der Ethereum Foundation PSE, Vitalik, Zcash, Aztec, Scroll und vielen weiteren.Wir freuen uns auf unsere weitere gemeinsame Reise. Bringen wir Ethereum sicher zu Milliarden von Menschen!

In weiteren Beiträgen werden wir tiefer auf die technische Architektur von Taiko eingehen und eine Roadmap mit Zeitplänen teilen. Wenn ihr jetzt schon mehr über das Rollup-Protokoll von Taiko erfahren möchtet, dann werft einen Blick in unser Whitepaper.

Seid dabei!

Wenn ihr Teil des Teams werden wollt, dann freuen wir uns sehr, von euch zu hören. Schreibt eine E-Mail an jobs@taiko.xyz, seht euch in unserem Github um, kommt in unsere Community auf Discord, Twitter oder Reddit.

[Original by Taiko Labs | Translation by Hilde X#7640]

--

--