
Autor: Vitalik, Gründer von Ethereum;
Hinweis: Dieser Artikel ist der sechste Teil der Artikelreihe, die kürzlich von Vitalik, Gründer von Ethereum, veröffentlicht wurde.Mögliche Futures des Ethereum -Protokolls, Teil 6: Die Splurge„, Siehe den fünften Teil“Vitalik: Die mögliche Zukunft von Ethereum The Verge„. Sehen „Vitalik: Hauptziele des Ethereum Die Geißelphase„, Siehe den zweiten Teil“Vitalik: Wie sollte sich das Ethereum -Protokoll im Surge -Stadium entwickeln?„, Siehe den ersten Teil“Was kann bei Ethereum POS noch verbessert werden”.
Besonderer Dank geht an Justin Drake und Tim Beiko für ihr Feedback und Kommentare.
Einige Dinge sind schwer in eine Kategorie zu geraten.Es gibt viele „kleine Dinge“ im Ethereum -Protokolldesign, die für den Erfolg von Ethereum sehr wertvoll sind, aber sie sind nicht geeignet, in eine größere Unterkategorie eingeteilt zu werden.In der Tat ist etwa die Hälfte davon mit verschiedenen EVM -Verbesserungen verbunden, während der Rest aus verschiedenen Nischenthemen besteht.Dafür ist „The Splurge“.
Splurge, 2023 Roadmap
Die Pracht: Hauptziele
Bringen Sie EVM zu einer hohen Leistung und einem stabilen „Endzustand“
Führen Sie eine Kontoabstraktion in Protokolle ein, damit alle Benutzer von sichereren und bequemeren Konten profitieren können
Optimieren Sie die Wirtschaft der Transaktionsgebühren, verbessern Sie die Skalierbarkeit und verringern Sie die Risiken
Erforschen Sie fortschrittliche Verschlüsselungstechnologien
EVM -Verbesserungen
Welche Probleme lösen es?
Die heutigen EVMs sind schwierig, eine statische Analyse durchzuführen, was es schwierig macht, effiziente Implementierungen, formalen Verifizierungscode und weitere Skala im Laufe der Zeit zu erstellen.Darüber hinaus ist es sehr ineffizient, was es schwierig macht, mehrere Formen der erweiterten Verschlüsselung zu implementieren, es sei denn, sie werden explizit durch Vorkompilierung unterstützt.
Was ist es und wie funktioniert es?
Der erste Schritt in der aktuellen EVM -Verbesserungs -Roadmap ist das EVM -Objektformat (EOF), das in der nächsten Hardgabel aufgenommen werden soll.EOF ist eine Reihe von EIPs, mit denen neue Versionen von EVM -Code mit vielen einzigartigen Funktionen angegeben werden, insbesondere mit vielen einzigartigen Funktionen:
-
Trennung zwischen Code (ausführbar, aber nicht aus EVM gelesen) und Daten (lesbar, aber nicht ausführbar).
-
Dynamische Sprünge sind verboten, nur statische Sprünge sind erlaubt.
-
Der EVM-Code kann keine gasbedingten Informationen mehr beobachten.
-
Fügte einen neuen expliziten Subroutine -Mechanismus hinzu.
Struktur des EOF -Code
Verträge im alten Stil werden weiterhin existieren und können geschaffen werden, obwohl die Verträge im alten Stil möglicherweise schließlich veraltet sind (und sie möglicherweise sogar dazu zwingen, in EOF-Code umzuwandeln).Neue Verträge profitieren von den Effizienzgewinnen, die von EOF erzielt wurden-zuerst mit Unterroutinefunktionen, die Bytecode ist etwas kleiner und dann werden neue EOF-spezifische Funktionen oder EOF-spezifische Gaskosten gesenkt.
Mit der Einführung von EOF wurde es einfacher, weitere Upgrades einzuführen.Derzeit ist derzeit die EVM-modulare arithmetische Ausdehnung (EVM-Max).EVM-Max erstellt eine Reihe neuer Vorgänge für modulare Arithmetik und legt sie in einen neuen Speicherraum, der nicht über andere Opcodes zugänglich ist.Dies ermöglicht die Verwendung von Optimierungen wie die Montgomery -Multiplikation.
Eine neuere Idee ist es, EVM-Max mit SIMD-Funktionen (einzelner Anweisungen „zu kombinieren.Simd war seit Greg Colvins EIP-616 eine Idee für Ethereum.SIMD kann verwendet werden, um eine Vielzahl von Verschlüsselungsformen zu beschleunigen, einschließlich Hash-Funktionen, 32-Bit-Stark- und DOT-Matrixbasis.EVM-max und Simd zusammen bilden ein Paar leistungsorientierter Erweiterungen von EVM.
Das ungefähre Design des kombinierten EIP beginnt mit EIP-6690 und dann:
-
Erlaubt (i) jede ungerade Zahl oder (ii) eine Leistung von 2 (bis zu 2^768) als Modul
-
Für jeden EVMMAX -OPCODE (Hinzufügen, Sub, Mul) verwendet diese Version nicht 3 unmittelbare Zahlen x, y und z, sondern 7 unmittelbare Zahlen: x_start, x_skip, y_start, y_skip, z_start, z_skip, zählen, zählen, zählen Sie .In Python Code werden diese Opcodes Operationen ausführen, die den folgenden entsprechen:
Sofern nicht in der tatsächlichen Implementierung, wird es parallel verarbeitet.
-
Wenn möglich, fügen Sie XOR und, oder, nicht, und verschieben Sie (Schleife und Acyclic) zu mindestens 2 Power -Modulo.Auch Iszero hinzugefügt (drücken Sie den Ausgang in den EVM -Hauptstapel).
Dies wäre leistungsfähig genug, um die kryptographische, kleine Domänenkryptographie (z. B. Poseidon, kreisförmige Stark), traditionelle Hash-Funktionen (z. B. Sha256, Keccak, Blake) und dot-Matrix-basierte Kryptographie umzusetzen.
Andere EVM -Upgrades können ebenfalls implementiert werden, aber bisher haben sie weniger Aufmerksamkeit erhalten.
Welche Forschung gibt es?
Eof:https://evmobjectFormat.org/
Evm-max:https://eips.ethereum.org/eips/eip-6690
SIMD:https://eips.ethereum.org/eips/eip-616
Was sind die verbleibenden Dinge zu tun und welche Kompromisse gibt es?
Derzeit ist der EOF -Plan in der nächsten Hardgabel enthalten.Während es immer möglich ist, es zu entfernen – die Funktion in der vorherigen Hardgabel wurde in letzter Minute entfernt – wäre es ein harter Kampf, dies zu tun.Das Löschen von EOF bedeutet, dass EOF in zukünftigen Upgrades auf EVM nicht verwendet wird, was getan werden kann, aber möglicherweise schwieriger ist.
Die wichtigsten Kompromisse für EVM sind die Komplexität der L1 -Komplexität und die Komplexität der Infrastruktur.EOF ist eine Menge Code, die der EVM -Implementierung hinzugefügt wurden, und die statische Code -Inspektion ist sehr komplex.Im Austausch erlangen wir jedoch die Sprache auf hoher Ebene, die Vereinfachung der EVM-Implementierung und andere Vorteile.Es kann gesagt werden, dass die Roadmap zur Priorisierung kontinuierlicher Verbesserungen an Ethereum L1 auf EOF einbezogen und aufgebaut wird.
Eine wichtige Aufgabe ist die Implementierung von EVM-Max plus SIMD und Benchmark, wie viel Gas für verschiedene Verschlüsselungsvorgänge erforderlich ist.
Wie interagiert es mit dem Rest der Roadmap?
L1 passt seine EVM an, damit der L2 die gleichen Anpassungen leichter vornimmt.Eine Anpassung und die andere Anpassung werden zu einer gewissen Vergleichbarkeit führen, die ihre eigenen Nachteile aufweist.Darüber hinaus kann EVM-Max Plus SIMD die Gaskosten für viele Proof-Systeme senken, was zu effizienteren L2 führt.Es erleichtert auch einfacher, mehr Vorkompilationen zu entfernen, indem sie durch EVM -Code ersetzt werden, mit dem dieselben Aufgaben ausgeführt werden können, ohne einen großen Einfluss auf die Effizienz haben zu müssen.
Kontoabstraktion
Welche Probleme lösen es?
Derzeit können Transaktionen nur auf eine Weise verifiziert werden: ECDSA -Signaturen.Zunächst wurde die Kontoabstraktion so konzipiert, dass sie darüber hinausgeht und die Überprüfungslogik des Kontos willkürlichem EVM -Code ermöglichte.Dies kann eine Reihe von Anwendungen erreichen:
-
Wechseln Sie in die quantenresistente Verschlüsselungstechnologie;
-
Drehende alte Schlüssel (weithin als empfohlene Sicherheitspraxis angesehen);
-
Mehrfachsignatur-Brieftasche und Social Recovery Wallet;
-
Signieren Sie niedrige Wertvorgänge mit einem Schlüssel- und hochwertigen Vorgängen mit einem anderen Schlüssel (oder einem Satz von Schlüssel);
-
Das Ermöglichen von Datenschutzprotokollen ohne Repeater reduziert seine Komplexität erheblich und beseitigt kritische zentrale Abhängigkeiten.
Seit der Abstraktion der Account -Abstraktion im Jahr 2015 hat das Ziel um eine große Anzahl von „Convenience -Zielen“ wie keine ETH erweitert, aber einige ERC20 -Konten können mit diesem ERC20 Gas bezahlen.Die Zusammenfassung dieser Ziele ist in der folgenden Tabelle angezeigt:
Hier ist MPC Multi-Party Computing: Eine 40-jährige Technologie, die den Schlüssel in mehrere Teile aufteilt, auf mehreren Geräten speichert und Signaturen mithilfe von Verschlüsselung erzeugt, ohne die einzelnen Teile des Schlüssels direkt zu kombinieren.
EIP-7702 ist ein EIP, der in der nächsten Hardgabel eingeführt werden soll.EIP-7702 ist das Ergebnis einer zunehmenden Anerkennung der Notwendigkeit, allen Benutzern, einschließlich EOA-Benutzern, eine Kontoabstraktion bereitzustellen, um kurzfristig die Benutzererfahrung aller zu verbessern und sich in zwei Ökosysteme aufzuteilen.Diese Arbeit begann mit EIP-3074 und erreichte schließlich in EIP-7702 ihren Höhepunkt.EIP-7702 „Convenience-Funktion“, mit der das Konto alle Benutzer, einschließlich EOA (externe Konten, dh von der ECDSA-Signatur kontrollierte Konten), zur Verfügung stellt.
Aus dem Diagramm können wir sehen, dass zwar einige Herausforderungen (insbesondere die Herausforderung „Convenience“) durch Multi-Party-Computing oder progressive Technologien wie EIP-7702 gelöst werden können, die meisten Sicherheitsziele des ersten Vorschlags für abstrakte Konten nur sein können Zurück drehen, um das anfängliche Problem zu lösen: Ermöglichen Sie Smart Contract Code, Transaktionsüberprüfung zu kontrollieren.Der Grund, warum dies bisher noch nicht getan wurde, ist, dass es eine Herausforderung ist, es sicher umzusetzen.
Was ist das?Wie funktioniert es?
Im Wesentlichen ist die Kontoabstraktion einfach: Ermöglicht, dass Transaktionen durch intelligente Verträge (nicht nur EOA) eingeleitet werden.Die gesamte Komplexität besteht darin, dies so zu tun, dass dezentrale Netzwerke die Wartung dezentraler Netzwerke erleichtert und die Verweigerung von Dienstangaben verhindert.
Ein illustratives Beispiel für eine wichtige Herausforderung ist das Problem der Mehrfachpupplung:
Wenn 1000 Kontenvalidierungsfunktionen vorhanden sind, basieren alle auf einen einzelnen Wert S, und es gibt Transaktionen, die gemäß dem aktuellen Wert von S im Speicherpool gültig sind, eine Transaktion, die den Wert des S -Werts aufschlägt, kann alle anderen Transaktionen im Speicherpool ungültig machen.Dies ermöglicht es einem Angreifer, den Speicherpool mit sehr günstigen Kosten zu spam und die Ressourcen des Netzwerkknotens zu blockieren.
Im Laufe der Jahre haben die Bemühungen zur Erweiterung der Fähigkeiten und zur Begrenzung der DOS-Risiken zu Lösungen geführt, um „ideale Kontoabstraktion“ zu erreichen: ERC-4337.
Die Art und Weise, wie ERC-4337 funktioniert, besteht darin, die Verarbeitung von Benutzeroperationen in zwei Phasen zu unterteilen: Überprüfung und Ausführung.Alle Validierungen werden zuerst verarbeitet und dann alle Ausführungen verarbeitet.Im Speicherpool werden Benutzeroperationen nur dann akzeptiert, wenn die Überprüfungsphase des Benutzers nur ein eigenes Konto berührt und die Umgebungsvariablen nicht liest.Dies verhindert mehrere ungültige Angriffe.Der Überprüfungsschritt erzwingt auch strenge Gasbeschränkungen.
ERC-4337 wurde als außerhalb des Protokollstandards (ERC) ausgelegt, da sich die Kundenentwickler von Ethereum darauf konzentrierten, zu diesem Zeitpunkt zusammenzuarbeiten, und keine zusätzliche Kapazität hatten, um andere Funktionen zu erledigen.Aus diesem Grund verwendet ERC-4337 seine eigenen Objekte (genannte Benutzeroperationen) anstelle von regelmäßigen Transaktionen.Wir haben jedoch kürzlich erkannt, dass mindestens ein Teil davon in die Vereinbarung einbezogen werden muss.Zwei Hauptgründe sind:
-
Der Einstiegspunkt ist als Vertrag von Natur aus ineffizient: Feste ~ 100.000 Gasaufwand pro Paket und Tausende zusätzlicher Gebühren pro Benutzerbetrieb;
-
Es ist notwendig, sicherzustellen, dass Ethereum -Eigenschaften (z. B. durch Inklusionslisten erzeugte Einschlussgarantien) bis zum abstrakten Benutzer des Kontos fortgesetzt werden.
Darüber hinaus erweitert ERC-4337 auch zwei Funktionen:
-
Zahler: Die Funktion, mit der ein Konto im Namen eines anderen Kontos Gebühren zahlen kann.Dies verstößt gegen die Regel, die während der Überprüfungsphase nur auf das Konto des Absenders selbst zugreift. Daher wird eine spezielle Verarbeitung eingeführt, um den Zahlermechanismus zu ermöglichen und sicherzustellen, dass er sicher ist.
-
Aggregator: Unterstützt Signatur-Aggregationsmerkmale wie BLS-Aggregation oder Snarkbasis-Aggregation.Dies ist erforderlich, um die höchste Dateneffizienz bei der Zusammenfassung zu erreichen.
Welche Forschung gibt es?
Account Abstract History Einführung:https://www.youtube.com/watch?v=Ilf8qpomxqc
ERC-4337:https://eips.ethereum.org/eips/eip-4337
EIP-7702:https://eips.ethereum.org/eips/eip-7702
BLSWALLET CODE (unter Verwendung der Aggregationsfunktion):https://github.com/getwax/bls-wallet
EIP-7562 (Einbettungskonto abstrakt):https://eips.ethereum.org/eips/eip-7562
EIP-7701 (EOF-basiertes Einbett AA):https://eips.ethereum.org/eips/eip-7701
Was sind die verbleibenden Dinge zu tun und welche Kompromisse gibt es?
Die wichtigste verbleibende Frage ist, wie die Kontoabstraktion vollständig in die Vereinbarung einbezieht.Die beliebteste Kontoabstraktion ist EIP-7701, die eine Kontoabstraktion über eof implementiert.Ein Konto kann über einen separaten Codeabschnitt zur Überprüfung verfügen. Wenn das Konto den Codeabschnitt festgelegt hat, wird der Code im Überprüfungsschritt der Transaktion des Kontos ausgeführt.
EOF-Codestruktur für EIP-7701-Konto
Was an diesem Ansatz faszinierend ist, ist, dass er eindeutig zwei gleichwertige Möglichkeiten zeigt, native Kontoabstraktionen anzusehen:
-
EIP-4337, aber als Teil des Protokolls
-
Eine neue Art von EOA, bei der der Signaturalgorithmus EVM -Codeausführung ist
Wenn wir zunächst die Komplexität des ausführbaren Code während der Überprüfung strikt einschränken – ohne den Zugriff des externen Zustands zuzulassen oder die Gasgrenze am Anfang zu niedrig zu setzen, um für quantenresistente oder Datenschutzanwendungen verwendet zu werden – dann ist dies die Sicherheit der Sicherheit der Die Methode ist sehr offensichtlich: Sie ersetzt einfach die ECDSA -Überprüfung durch EVM -Codeausführung, die eine ähnliche Zeit erfordert.Im Laufe der Zeit müssen wir diese Einschränkungen jedoch entspannen, um die Anwendung von Datenschutzschützen ohne Wiederholungen zu ermöglichen und das Quantum zu widerstehen.Dazu müssen wir wirklich Wege finden, um DOS -Risiken auf flexiblere Weise zu lösen, ohne dass extrem einfache Überprüfungsschritte erforderlich sind.
Der Hauptabschluss scheint zu sein, „etwas zu nehmen, mit dem weniger Menschen so schnell wie möglich zufrieden sind, als“ länger zu warten und vielleicht eine idealere Lösung zu bekommen „.Der ideale Ansatz könnte eine Art gemischter Ansatz sein.Ein Hybridansatz besteht darin, einige Anwendungsfälle als Leitfaden schneller zu nehmen und mehr Zeit zu lassen, um andere anzusprechen.Ein weiterer Ansatz besteht darin, zunächst eine ehrgeizigere abstrakte Version des Kontos auf L2 bereitzustellen.Dies hat jedoch die Herausforderung, dass für ein L2 -Team, die bereit ist, hart zu arbeiten, um den Vorschlag zu übernehmen, sicher sein müssen, dass L1 und/oder andere L2 später etwas kompatibeles annehmen werden.
Eine weitere Anwendung, die wir explizit berücksichtigen müssen, ist das Keystore -Konto, in dem der mit dem Konto auf L1 oder dedizierte L2 verbundene Zustand gespeichert ist, aber auf L1 und allen kompatiblen L2 verwendet werden kann.Wenn Sie dies effektiv durchführen, muss L2 Opcodes wie L1SLOAD oder RemotestaticCall unterstützen, obwohl es auch eine Konto -abstrakte Implementierung auf L2 benötigt, um dies zu unterstützen.
Wie interagiert es mit dem Rest der Roadmap?
Die enthaltenen Listen erfordern Unterstützung für Konto abstrakte Transaktionen.Tatsächlich sind die Anforderungen an die Einbeziehung von Listen letztendlich sehr ähnlich denen für dezentrale Speicherpools, obwohl die Flexibilität bei der Einbeziehung von Listen geringfügig höher ist.Darüber hinaus sollten die abstrakten Implementierungen von Kontokonto so weit wie möglich auf L1 und L2 koordiniert werden.Wenn wir in Zukunft erwarten, dass die meisten Benutzer Keystore -Zusammenfassung verwenden, sollte das Kontoabstraktionsdesign dies berücksichtigen.
EIP-1559 Verbesserungen
Welche Probleme lösen es?
EIP-1559 wurde 2021 auf Ethereum eingeführt und verbesserte die durchschnittliche Blockeinschlusszeit signifikant.
Die aktuelle Implementierung von EIP-1559 ist jedoch in mehrfacher Hinsicht nicht perfekt:
-
Die Formel ist leicht fehlerhaft: Anstatt 50% der Blöcke abzielen, richtet sie sich an ~ 50-53% der vollen Blöcke, die auf der Varianz basieren (dies hängt damit zusammen, was Mathematiker die „AM-GM-Ungleichheit“ bezeichnen).
-
Es passt sich unter extremen Bedingungen nicht schnell genug an.
Die später für Blobs (EIP-4844) verwendete Formel war eindeutig entwickelt, um das erste Problem zu lösen, und war im Allgemeinen prägnanter.Weder EIP-1559 selbst noch EIP-4844 versuchten, das zweite Problem zu lösen.Daher ist der Status quo ein verwirrender Zustand der Hälfte, die zwei verschiedene Mechanismen beinhaltet, und selbst einer ist, dass beide im Laufe der Zeit verbessert werden müssen.
Darüber hinaus hat die Preise für Ethereum-Ressourcen andere Schwächen, die nicht mit EIP-1559 zusammenhängen, sondern durch Anpassen von EIP-1559 gelöst werden können.Ein Hauptproblem ist der Unterschied zwischen dem Durchschnitt und dem Worst-Case ist auf diese Weise viel geringer, Ineffizienz wird verursacht.
Was ist das?Wie funktioniert es?
Die Lösung für diese Ineffizienzprobleme ist mehrdimensionales Gas: Setzen Sie unterschiedliche Preise und Einschränkungen für verschiedene Ressourcen.Dieses Konzept ist technisch unabhängig von EIP-1559, aber EIP-1559 macht es einfacher: Ohne EIP-1559 ist die optimale Verpackung von Blöcken mit mehreren Ressourcenbeschränkungen ein komplexes mehrdimensionales Rucksackproblem.Mit EIP-1559 sind die meisten Blöcke in keiner Ressource vollständig geladen, so
Wir haben heute mehrdimensionales Gas für Ausführung und Blobs.
EIP-7706 führt die Anrufdaten für eine neue Gasabmessung ein.Gleichzeitig löst es auch die mathematischen Mängel von EIP-1559 durch Vereinfachung des mehrdimensionalen Gasmechanismus, indem alle drei Arten von Gasen zu einem Rahmen (EIP-4844) gehören.
EIP-7623 ist eine genauere Lösung für die durchschnittlichen und schlechtesten Ressourcenprobleme, die die maximalen Anrufdaten strenger einschränkt, ohne vollständig neue Dimensionen einzuführen.
Eine weitere Richtung besteht darin, das Problem der Aktualisierungsrate zu lösen und einen schnelleren Grundgebühren-Berechnungalgorithmus zu finden und gleichzeitig die vom EIP-4844-Mechanismus eingeführten wichtigsten Invarianten beizubehalten (d. H. Auf lange Sicht liegt die durchschnittliche Verwendung vollständig nahe am Ziel).
Welche Forschung gibt es?
EIP-1559 FAQ:https://notes.ethereum.org/@vbuterin/eip-1559-faq
EIP-1559 Empirische Analyse:https://dl.acm.org/doi/10.1145/3548606.3559341
Empfohlene Verbesserungen, um schnelle Anpassungen zu ermöglichen:https://kclpure.kcl.ac.uk/ws/portalfiles/portal/180741021/transaction_fees_on_a_honeymoon_ethereums_eip_1559_one_month_later.pdf
EIP-4844 FAQ, Abschnitt zum Grundgebührenmechanismus:https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#how-does-the-exponential-eip-1559-blob-fee-adjustment-mechanism-work
EIP-7706:https://eips.ethereum.org/eips/eip-7706
EIP-7623:https://eips.ethereum.org/eips/eip-7623
Mehrdimensionales Gas:https://vitalik.eth.limo/general/2024/05/09/multidim.html
Was sind die verbleibenden Dinge zu tun und welche Kompromisse gibt es?
Es gibt zwei Hauptabrechnungen für mehrdimensionales Gas:
-
Es erhöht die Komplexität des Protokolls
-
Es erhöht die Komplexität des besten Algorithmus, der erforderlich ist, um Blöcke in die Kapazität zu füllen
Die Protokollkomplexität ist ein relativ kleines Problem für CallData, aber ein größeres Problem für Gasabmessungen „innerhalb des EVM“ (wie Speicherlesen und Schreiben).Das Problem ist, dass nicht nur die Benutzergrenze einstellen: Verträge setzen auch Beschränkungen fest, wenn Sie andere Verträge aufrufen.Und jetzt ist die einzige Möglichkeit, Einschränkungen festzulegen, eindimensional.
Eine einfache Möglichkeit, dieses Problem zu beseitigen, besteht darin, mehrdimensionales Gas nur innerhalb von EOF verfügbar zu machen, da EOF keine Verträge bei der Aufnahme von Gasgrenzen beim Aufrufen anderer Verträge erlaubt.Nicht-EOF-Verträge müssen bei der Durchführung von Speichervorgängen alle Arten von Gasgebühren bezahlen (beispielsweise, wenn Sload 0,03% der Blockspeicherzugriffsgasgrenze ausgibt, werden Nicht-EOF-Benutzer auch 0,03% der Gasgrenze für die Ausführung berechnet)
Weitere Forschungen zu mehrdimensionalem Gas werden dazu beitragen, Kompromisse zu verstehen und das ideale Gleichgewicht zu finden.
Wie interagiert es mit dem Rest der Roadmap?
Eine erfolgreiche Implementierung von mehrdimensionalem Gas kann die Verwendung einiger „schlimmster Fall“ -Ressourcen erheblich verringern und damit den Druck reduzieren, die Leistung zu optimieren, um binäre Bäume basierend auf gestrichenem Hash zu unterstützen.Wenn Kundenentwickler ein hartes Ziel für das Wachstum des staatlichen Größenwachstums festgelegt werden, planen und abzuschätzen sie ihre zukünftigen Bedürfnisse.
Wie oben erwähnt, sind extremere mehrdimensionale Versionen von Gas, da EOF gas nicht beobachtbar ist, einfacher zu implementieren.
Verifizierte Verzögerungsfunktion (VDF)
Welche Probleme lösen es?
Heute verwendet Ethereum Randao-basierte Zufälligkeit, um Anträge auszuwählen.Das Arbeitsprinzip von Randao-basierter Zufälligkeit besteht darin, jeden Antragsteller zu verpflichten, die im Voraus versprochenen Geheimnisse zu enthüllen und jedes offengelegte Geheimnis in die Zufälligkeit zu mischen.Daher hat jeder Antragsteller ein „1-Bit-Manipulation Recht“: Sie können die Zufälligkeit ändern, indem er nicht auftaucht (zu einem Preis).Dies ist für den Antragsteller vernünftig, da sich nur wenige Menschen zwei neue Vorschläge geben können, indem sie einen aufgeben.Für Anwendungen, die Zufälligkeit erfordern, ist dies jedoch nicht möglich.Im Idealfall würden wir eine stärkere Quelle der Zufälligkeit finden.
Was ist das?Wie funktioniert es?
Eine überprüfbare Verzögerungsfunktion ist eine Funktion, die nur in der Reihenfolge berechnet werden kann und nicht durch Parallelisierung beschleunigt werden kann.Ein einfaches Beispiel ist das Wiederholen von Hash: Berechnen Sie I: x = Hash (x) im Bereich (10 ** 9).Die Ausgabe wird durch die Richtigkeit der Snark nachgewiesen und kann als Zufallswert verwendet werden.Die Idee ist, dass die Eingabe basierend auf den zum Zeitpunkt t verfügbaren Informationen ausgewählt wird, während die Ausgabe zum Zeitpunkt t nicht klar ist: Er ist erst zu einem bestimmten Zeitpunkt nach T, nachdem jemand die Berechnung vollständig ausgeführt hat.Da jeder die Berechnung ausführen kann, ist es unmöglich, die Ergebnisse zu verbergen, und hat daher keine Fähigkeit, die Ergebnisse zu manipulieren.
Das Hauptrisiko einer überprüfbaren Verzögerungsfunktion ist die unerwartete Optimierung: Jemand hat herausgefunden, wie die Funktion viel schneller als erwartet ausgeführt werden kann, sodass sie die Informationen, die sie zum Zeitpunkt t auf der Grundlage der zukünftigen Ausgabe enthüllen, manipulieren.Eine unerwartete Optimierung kann auf zwei Arten auftreten:
-
Hardwarebeschleunigung: Jemand hat einen ASIC erstellt, dessen Computerschleife viel schneller als vorhandene Hardware läuft.
-
Unerwartete Parallelisierung: Jemand hat einen Weg gefunden, die Funktion durch Parallelisierung schneller auszuführen, auch wenn er mehr als das 100 -fache der Ressource dauert.
Die Aufgabe, ein erfolgreiches VDF zu erstellen, besteht darin, beide Probleme zu vermeiden und gleichzeitig effizient und praktisch zu bleiben (zum Beispiel ist ein Problem mit Hash-basierten Ansätzen, dass sich Echtzeit-Snark als Hardware erweist).Die Beschleunigung der Hardware wird häufig gelöst, indem Akteure des öffentlichen Interesses die optimalen ASICs für VDFs selbst einigermaßen nahe annähern und verteilen können.
Welche Forschung gibt es?
vdfresearch.org:https://vdfresearch.org/
Gedanken zu Angriffen auf VDFs, die im Jahr 2018 in Ethereum verwendet wurden:https://ethresear.ch/t/verifiable-delay-functions-and-attacks/2365
Angriff auf den Minror (ein vorgeschlagener VDF):https://inria.hal.science/hal-04320126/file/minrootanalysis2023.pdf
Was sind die verbleibenden Dinge zu tun und welche Kompromisse gibt es?
Derzeit gibt es keine VDF -Struktur, die alle Bedürfnisse von Ethereum -Forschern voll und ganz erfüllt.Es sind weitere Arbeiten erforderlich, um solche Funktionen zu finden.Wenn wir es haben, ist der Hauptkompromiss nur, ob es enthalten ist: ein einfacher Kompromiss zwischen Funktionalität und Protokollkomplexität und Sicherheitsrisiken.Wenn wir der Meinung sind, dass VDF sicher ist, aber letztendlich unsicher ist, wird die Sicherheit auf die Randao -Hypothese (1 -Bit -Manipulation pro Angreifer) oder schlimmer, je nach Umsetzung.Selbst wenn VDF gebrochen ist, wird das Protokoll gebrochen, aber es wird die Anwendung oder alle neuen Protokollfunktionen brechen, die stark darauf abhängt.
Wie interagiert es mit dem Rest der Roadmap?
VDF ist eine relativ unabhängige Komponente des Ethereum-Protokolls, aber zusätzlich zur Verbesserung der Sicherheit der Auswahl des Antragstellers kann es auch für (i) On-Chain-Anwendungen verwendet werden Pools.
Eine Sache, an die Sie sich erinnern sollten, ist, dass angesichts der Hardwareunsicherheit zwischen der Erzeugung von VDF -Ausgaben und der Ausgabe eine „Lücke“ besteht.Dies bedeutet, dass die Informationen vor mehreren Blöcken verfügbar sind.Dies kann akzeptable Kosten sein, sollte jedoch in der Endgültigkeits- oder Auswahldesign der Auswahl des Einzelschlitzes usw. berücksichtigt werden.
Verwirrung und einmalige Unterschrift: Die Zukunft der Kryptographie
Welche Probleme lösen es?
Einer der berühmtesten Beiträge von Nick Saab war ein Artikel über „Gottes Vereinbarung“ von 1997.In diesem Artikel stellt er fest, dass Multi-Party-Anwendungen häufig auf „vertrauenswürdige Dritte“ angewiesen sind, um Interaktionen zu verwalten.Seiner Meinung nach besteht die Rolle der Kryptographie darin, einen simulierten vertrauenswürdigen Dritten zu schaffen, der denselben Job macht, ohne tatsächlich Vertrauen in einen bestimmten Teilnehmer zu verlangen.
„Mathematisch vertrauenswürdiges Protokoll“, Diagramm von Nick Szabo gezeichnet
Bisher können wir uns nur teilweise diesem Ideal nähern.Wenn wir nur einen transparenten virtuellen Computer benötigen, auf dem Daten und Computer nicht geschlossen, zensiert oder manipuliert werden können, aber die Privatsphäre ist nicht das Ziel, dann kann Blockchain dies tun, wenn auch mit begrenzter Skalierbarkeit.Wenn Privatsphäre ein Ziel ist, konnten wir bis vor kurzem nur einige spezifische Protokolle für bestimmte Anwendungen entwickeln: digitale Signaturen für die grundlegende Authentifizierung, Ringsignaturen für ursprüngliche anonyme Formulare und verknüpfbare Ringsignaturen, identitätsbasierte Verschlüsselung (implementieren Emittenten), blinde Unterschriften für Chaumian Electronic Cash und so weiter.Dieser Ansatz erfordert viel Arbeit für jede neue Anwendung.
In den 2010er Jahren haben wir zum ersten Mal einen anderen und leistungsfähigeren Ansatz gesehen, der auf der programmierbaren Verschlüsselung basiert.Anstatt für jede neue Anwendung ein neues Protokoll zu erstellen, können wir jedem Programm Verschlüsselungsgarantien mit leistungsstarken neuen Protokollen (insbesondere ZK-Snark) hinzufügen.Mit ZK-Snark können Benutzer eine Erklärung der Daten nachweisen, die sie haben: Beweisen Sie (i) leicht zu überprüfen, und (ii) andere Daten als die Aussage selbst werden offengelegt.Dies ist ein großer Fortschritt für Privatsphäre und Skalierbarkeit, und ich vergleiche ihn mit dem Transformator -Effekt in der künstlichen Intelligenz.Tausende von Menschen haben ein Jahr spezifischer Anwendungsarbeiten plötzlich ersetzt durch eine universelle Lösung, mit der Sie eine überraschend breite Palette von Problemen mit nur Steckern lösen können.
Aber ZK-Snark ist nur der erste von drei ähnlich extrem mächtigen universellen Primitiven.Diese Protokolle sind so mächtig, dass sie mich, wenn ich an sie denke, mich an eine extrem leistungsstarke Kartengruppe in Yu-Gi-oh erinnern, einer Kartenspiel und einer TV-Show, die ich oft als Kind gespielt habe und die ich sehe: Ägyptische Gottkarte.Ägyptische Gottkarten sind drei extrem mächtige Karten, und der Legende können sie tödlich und so mächtig sein, dass sie nicht in Duellen verwendet werden dürfen.In ähnlicher Weise haben wir in der Kryptographie drei ägyptische Gottprotokolle:
Was ist das?Wie funktioniert es?
ZK-Snark ist eines von drei Protokollen, die wir bereits haben, und hat einen hohen Reifegrad erreicht.In den letzten fünf Jahren hat ZK-Snark große Fortschritte bei der Nachweis von Geschwindigkeit und Entwicklerfreundlichkeit erzielt und ist zum Eckpfeiler der Skalierbarkeit und Datenschutzrichtlinie von Ethereum geworden.Aber ZK-Snark hat eine wichtige Einschränkung: Sie müssen die Daten kennen, um sie zu beweisen.Jeder Staat im Zk-Snark-Antrag muss einen „Eigentümer“ haben, der vorhanden sein muss, um alle Lesevorgänge oder Schreibvorgänge zu genehmigen.
Das zweite Protokoll hat diese Einschränkung nicht, nämlich vollständig homomorphe Verschlüsselung (FHE).Mit FHE können Sie Berechnungen zu verschlüsselten Daten ausführen, ohne sie anzusehen.Auf diese Weise können Sie Berechnungen für Benutzerdaten ausführen, um den Benutzern zu helfen, während Sie die Daten und Algorithmen privat halten.Sie können auch Abstimmungssysteme wie Maci für nahezu perfekte Sicherheits- und Datenschutzgarantie erweitern.FHE ist seit langem als zu ineffizient, um praktisch zu sein, aber jetzt ist es endlich effizient genug geworden, dass wir anfangen, Anwendungen zu sehen.
Cursive ist eine Anwendung, die sowohl Computer als auch FHE zur Datenschutzentdeckung verwendet.
FHE hat aber auch seine Grenzen: Jede FHE-basierte Technologie erfordert immer noch, dass jemand den Entschlüsselungsschlüssel hält.Dies kann ein M-of-n-verteilter Setup sein. Sie können sogar eine Layer-2-Verteidigung mit Tee hinzufügen, aber das ist immer noch eine Einschränkung.
Dies gibt uns ein drittes Protokoll, das leistungsfähiger ist als die beiden anderen Protokolle zusammen: ununterscheidbare Verwirrung.Obwohl es weit entfernt ist, haben wir ab 2020 theoretisch gültige Protokolle auf der Grundlage von Standardsicherheitsannahmen entwickelt und kürzlich mit der Implementierung von Arbeiten begonnen.Eine nicht unterscheidbare Verschleierung ermöglicht es Ihnen, ein „verschlüsseltes Programm“ zu erstellen, das willkürliche Berechnungen durchführt, damit alle internen Details des Programms verborgen sind.Um ein einfaches Beispiel zu geben, können Sie den privaten Schlüssel in ein verschleiertes Programm einfügen, mit dem Sie ihn nur verwenden können, um Primzahlen zu signieren und das Programm an andere zu verteilen.Sie können das Programm verwenden, um Primzahlen zu unterzeichnen, aber sie können den Schlüssel nicht abrufen.Aber es tut viel mehr als das: Es kann mit Hash verwendet werden, und es kann verwendet werden, um alle anderen Verschlüsselungs -Primitiven zu implementieren, und noch mehr.
Das einzige, was ein verschleiertes Programm nicht tun kann, ist, sich daran zu hindern, kopiert zu werden.Aber dafür ist etwas leistungsfähiger, obwohl es davon abhängt, dass jeder einen Quantencomputer hat: eine Quanten einmalige Signatur.
Mit der Verschleierung und einmaligen Unterschriften können wir fast perfekte, vertrauenslose Dritte aufbauen.Das einzige, was wir mit Verschlüsselungstechnologie nicht tun können, ist das, was wir noch zu Blockchain benötigen, nämlich die Gewährleistung des Zensurresistenzes.Diese Technologien ermöglichen es uns nicht nur, Ethereum selbst sicherer zu gestalten, sondern auch leistungsfähigere Anwendungen auf dem gesamten Ethereum aufzubauen.
Um zu verstehen, wie jeder dieser Primitiven zusätzliche Funktionen hinzufügt, schauen wir uns ein Schlüsselbeispiel an: Abstimmung.Die Abstimmung ist eine faszinierende Frage, da es viele knifflige Sicherheitsattribute hat, die erfüllt werden müssen, einschließlich einer sehr starken Überprüfbarkeit und Privatsphäre.Während die Abstimmungsprotokolle mit starker Sicherheit seit Jahrzehnten gibt, machen wir das Problem schwieriger, indem wir sagen, wir wünschen ein Design, das willkürliche Abstimmungsprotokolle abwickeln kann: sekundäre Abstimmungen, gepaarte begrenzte Sekundärfinanzierung, Cluster -Matching -Sekundärfinanzierung usw.Das heißt, wir möchten, dass der Schritt „Count Counting“ ein willkürliches Verfahren ist.
-
Nehmen wir zunächst an, wir stellen die Abstimmung öffentlich auf die Blockchain.Dies bietet uns die öffentliche Überprüfbarkeit (jeder kann überprüfen, ob das Endergebnis korrekt ist, einschließlich der Zählregeln und der Zulassungsregeln) und Widerstand des Zensur (der die Menschen nicht davon abhalten kann, zu stimmen).Aber wir haben keine Privatsphäre.
-
Dann fügen wir ZK-Snark hinzu.Jetzt haben wir Privatsphäre: Jede Stimme ist anonym, während wir sicherstellen, dass nur autorisierte Wähler abstimmen können und dass jeder Wähler nur einmal abstimmen kann.
-
Jetzt fügen wir den Maci -Mechanismus hinzu.Die Abstimmung wird auf den Entschlüsselungsschlüssel des zentralen Servers verschlüsselt.Der zentrale Server muss den Abstimmungszählprozess ausführen, einschließlich der Verurteilung der doppelten Stimmen und der Veröffentlichung von ZK-Snark, die die Antwort beweisen.Dies behält die vorherige Garantie bei (auch wenn der Server betrügt!), Aber wenn der Server ehrlich ist, fügt er eine obligatorische Widerstandsgarantie hinzu: Der Benutzer kann nicht beweisen, wie er abgestimmt hat, auch wenn er dies wünscht.Dies liegt daran, dass Benutzer zwar beweisen können, welche Abstimmung sie gewählt haben, nicht beweisen, dass sie keine weitere Abstimmung zur Absage der Abstimmung abgegeben haben.Dies verhindert Bestechung und andere Angriffe.
-
Wir führen die Zählung intern in FHE durch und entschlüsseln sie dann, indem wir N/2-N-N-Schwellenwert-Entschlüsselungsberechnungen durchführen.Dies macht den obligatorischen Widerstand garantiert N/2-N-N, nicht 1 von 1.
-
Wir verschleiern den Zählerprozess und entwerfen den Verschleierungsprozess, damit er nur dann die Ausgabe ergeben kann, ob es sich um einen Nachweis des Blockchain -Konsens oder durch einen bestimmten Arbeitsbeweis oder beides handelt.Dies macht den obligatorischen Widerstand nahezu perfekt: Im Falle eines Blockchain -Konsens benötigen Sie 51% der Validatoren, um ihn zusammenzuarbeiten, während im Fall von Arbeiten, auch wenn jeder zusammenkolliert, mit einer anderen Teilmenge die Abstimmungserklärung der Wähler erneut übertragen wird In dem Versuch, einzelne Wähler zu extrahieren, werden auch sehr teuer sein.Wir können das Programm sogar leicht zufällig einstellen, was es schwieriger macht, das Verhalten der einzelnen Wähler zu extrahieren.
-
Wir haben eine einmalige Signatur hinzugefügt, eine Primitive, die sich auf das Quantencomputer stützt und es zulässt, dass Signaturen nur eine Meldung irgendeiner Art gleichzeitig unterschreiben.Dadurch garantiert die Antidepression echte Perfektion.
Eine wahllose Verschleierung kann auch andere leistungsstarke Anwendungen ermöglichen.Zum Beispiel:
-
DAO, On-Chain-Auktionen und andere Anwendungen mit einem internen Geheimstatus.
-
Vertrauenswürdige Einstellungen, die wirklich universell sind: Jemand kann ein Fuzzy -Programm mit einem Schlüssel erstellen und jedes Programm ausführen und Ausgabe bereitstellen, Hash (Schlüssel, Programm) als Eingabe in das Programm einfügen.Angesichts eines solchen Programms kann jeder das Programm in sich selbst einfügen, den vorhandenen Schlüssel des Programms mit sich selbst kombinieren und die Einstellungen im Prozess erweitern.Dies kann verwendet werden, um eine 1-von-n-vertrauenswürdige Einstellung für jedes Protokoll zu generieren.
-
ZK-SNARKS, seine Überprüfung ist nur Signatur.Implementieren Dies ist einfach: Es gibt ein vertrauenswürdiges Setup, bei dem jemand ein Fuzzy-Programm erstellt, das die Nachricht nur mit dem Schlüssel unterzeichnet, wenn es sich um einen gültigen ZK-Snark handelt.
-
Verschlüsselter Speicherpool.Krypto-Transaktionen sind so einfach geworden, dass sie nur dann entschlüsselt werden, wenn in Zukunft bestimmte Onkettenereignisse auftreten.Dies kann sogar eine erfolgreiche Ausführung von VDFs beinhalten.
Mit einmaligen Unterschriften können wir die Blockchain vor 51% endgültigen Umkehrangriffen schützen, obwohl möglicherweise noch Zensurangriffe bestehen.Primitive, ähnlich wie einmalige Signaturen können Quantenwährungen implementieren und das Dual-Zahlungsproblem ohne Blockchain lösen, obwohl noch viele komplexere Anwendungen noch Blockchain erfordern.
Wenn diese Primitiven effizient genug sind, können die meisten Anwendungen auf der Welt dezentralisiert werden.Der Hauptgpass liegt bei der Überprüfung der Richtigkeit der Implementierung.
Welche Forschung gibt es?
Die 2021 wahllose Verschmutzungsvereinbarung:https://eprint.iacr.org/2021/1334.pdf
Verwirrung, wie man Ethereum hilft:https://ethresear.ch/t/how-obfuscation-can-help-ethereum/7380
Das erste bekannte einmalige Signaturkonstrukt:https://eprint.iacr.org/2020/107.pdf
Verschleierte Versuche zur Implementierung (1):https://mediatum.ub.tum.de/doc/1246288/1246288.pdf
Verschleierte Versuche zur Implementierung (2):https://github.com/sorasuegami/iomaker/tree/main
Was sind die verbleibenden Dinge zu tun und welche Kompromisse gibt es?
Es gibt noch viele Dinge zu tun.Wichtige Verwirrung ist sehr unreif, und die Kandidatenkonstrukte sind millionenfach langsamer (oder sogar mehr) als Anwendungen.Wichtige Verwirrung ist für die Laufzeit der Polynomzeit „in der Theorie“ bekannt, aber es dauert länger, in der Praxis zu führen als die Lebensdauer des Universums.Neuere Protokolle machen Laufzeiten weniger extrem, aber der Overhead ist immer noch zu hoch für den regulären Gebrauch: Ein Implementierer erwartet, dass die Laufzeit ein Jahr sein wird.
Quantencomputer existieren nicht einmal: Alle Konstruktionen, die Sie heute im Internet lesen können, sind entweder Prototypen, die keine Berechnungen über 4 Bit ausführen können, oder sie sind nicht wirklich Quantencomputer, und obwohl sie Quantenteile enthalten können, sind sie nicht wirklich Quantencomputer. Sie können keine wirklich berechnungsberechtigte Bedeutung ausführen, wie z. B. Shor -Algorithmus oder Grover -Algorithmus.In letzter Zeit gibt es Anzeichen dafür, dass „echte“ Quantencomputer nicht mehr so weit entfernt sind.Selbst wenn „echte“ Quantencomputer bald erscheinen, können die Tage, an denen gewöhnliche Menschen Quantencomputer auf ihren Laptops oder Telefonen haben, Jahrzehnte später sein als leistungsstarke Institutionen, die Quantencomputer erhalten, die elliptische Kurvencodes knacken können.
Ein wesentlicher Kompromiss gegen wahllose Verwirrung ist die Sicherheitsannahme.Es gibt radikalere Designs, die seltsame Annahmen verwenden.Diese haben normalerweise realistischere Laufzeiten, aber manchmal werden seltsame Annahmen gebrochen.Im Laufe der Zeit haben wir möglicherweise genügend Kenntnisse über den Hof, um Annahmen zu treffen, die nicht gebrochen werden.Diese Straße ist jedoch gefährlicher.Ein konservativerer Ansatz besteht darin, sich an Protokolle zu halten, in denen Sicherheit als „Standard“ -Annahmen nachgewiesen werden kann. Dies kann jedoch bedeuten, dass wir länger dauern werden, um ein Protokoll zu erhalten, das schnell genug läuft.
Wie interagiert es mit dem Rest der Roadmap?
Eine extrem leistungsstarke Verschlüsselungstechnologie könnte ein Game-Changer sein.Zum Beispiel:
-
Wenn wir ZK-SNARK erhalten, der als Signatur so einfach zu überprüfen ist, benötigen wir möglicherweise kein Aggregationsprotokoll.
-
Einmalige Unterschriften können einen sichereren Nachweis des Anteilsvertrags bedeuten.
-
Viele komplexe Datenschutzprotokolle können durch „einzige“ Datenschutz-geschützte EVMs ersetzt werden.
-
Verschlüsselte Speicherpools werden einfacher zu implementieren.
Erstens werden die Vorteile in der Anwendungsschicht erfolgen, da Ethereum L1 im Wesentlichen in Bezug auf Sicherheitsannahmen konservativ sein muss.Selbst wenn Sie die Anwendungsschicht allein verwenden, kann dies ein Spielveränderer sein, genau wie das Aufkommen von ZK-Snark.