Diese Woche markiert die Fertigstellung unserer vierten Hardgabel, Falscher Dracheund die nachfolgende Zustandslagerungsprozess, Leugnung von Dienstangaben Das verlangsamte das Netzwerk im September und Oktober. Die Gasgrenzwerte werden derzeit auf 4 Millionen erhöht, wenn sich das Netzwerk wieder normalisiert, und wird weiter erhöht, da zusätzliche Optimierungen für die Kunden abgeschlossen sind, um ein schnelleres Lesen von staatlichen Daten zu ermöglichen.
Inmitten dieser Veranstaltungen haben wir große Fortschritte beim C ++ – und Go -Entwicklungsteams, einschließlich der Verbesserungen an Soliditätstools und die Veröffentlichung der Geth Light Clientund die Parität, Ethereumj und andere externe Entwicklungsteams haben sich weiterhin mit Technologien wie Parity von selbst weiterentwickelt Warp -Synchronisation; Viele dieser Innovationen haben sich bereits in die Hände des durchschnittlichen Benutzers gelangen, und Wieder andere werden bald kommen. Gleichzeitig hat sich jedoch auf der Forschungsseite ein großes Maß an ruhigen Fortschritten erzielt, und während dieser Fortschritt in vielen Fällen in der Natur ziemlich blau-Sky war und Protokollverbesserungen mit niedrigem Niveau notwendigerweise eine Weile dauern, bis es in das Hauptnetzwerk von Ethereum in Ethereum geschaltet wird.
Metropole
Metropolis ist der nächste Major geplante Hardfork für Ethereum. Während Metropolis nicht ganz so ehrgeizig ist wie die Gelassenheit und keinen Beweis für den Pfahl, Sharding oder andere ähnlich große, umfassende Änderungen bei der Funktionsweise von Ethereum enthalten, wird erwartet, dass das Protokoll eine Reihe kleiner Verbesserungen des Protokolls umfasst, die insgesamt viel umfangreicher sind als Homestead. Zu den wichtigsten Verbesserungen gehören:
- EIP 86 (Account Security Abstraktion) – Verwandeln Sie die Logik zur Überprüfung von Signaturen und Nonces in Verträge, sodass Entwickler mit neuen Signaturschemata, Datenschutzverschreibungen und Änderungen an Teilen des Protokolls experimentieren können, ohne weitere harte Gabeln oder Unterstützung auf Protokollebene zu erfordern. Ermöglicht auch Verträge, Gas zu bezahlen.
- EIP 96 (Blockhash- und Zustandswurzeländerungen) – vereinfacht das Protokoll- und Client-Implementierungen und ermöglicht die Upgrades auf Light Client und schnell synchronisierende Protokolle, die sie viel sicherer machen.
- Vorkompilierte/native Verträge für elliptische Kurvenoperationen und große ganzzahlige Arithmetik, die Anwendungen ermöglicht, die auf Ringsignaturen oder RSA -Kryptographie basieren, effizient implementiert werden
- Verschiedene Verbesserungen der Effizienz, die eine schnellere Transaktionsverarbeitung ermöglichen
Ein Großteil dieser Arbeit ist Teil eines langfristigen Plans, das Protokoll auf das zu verlegen Abstraktion. Anstatt komplexe Protokollregeln für die Erstellung von Vertrag, die Transaktionsvalidierung, den Bergbau und die verschiedenen anderen Aspekte des Verhaltens des Systems zu haben, versuchen wir im Wesentlichen, so viel von der Logik des Ethereum -Protokolls wie möglich in die EVM selbst zu stecken und eine Protokolllogik einfach ein Vertragssatz zu haben. Dies verringert die Kundenkomplexität, verringert das langfristige Risiko von Konsensfehlern und erleichtert und sicherer. Möglicherweise kann eine Hardgabel einfach als Konfigurationsdatei angegeben werden, die den Code einiger Vertragsabläufe ändert. Durch die Reduzierung der Anzahl der “beweglichen Teile” auf diese Weise können wir die Angriffsfläche von Ethereum erheblich reduzieren und mehr Teile des Protokolls für das Experimentieren des Benutzers öffnen: Zum Beispiel können Benutzer anstelle des Protokolls auf ein neues Signaturschema gleichzeitig ein neues Signaturschema aufbauen und ihre eigenen implementieren.
Beweis für Pfahl, Sharding und Kryptoökonomie
Im vergangenen Jahr hat sich die Forschung über den Beweis für Pfahl und Sharding stillschweigend vorankommen. Der Konsensalgorithmus, an dem wir gearbeitet haben, Casper, hat mehrere Iterationen und Proof-of-Concept-Veröffentlichungen durchlaufen, von denen jede uns wichtige Dinge über die Kombination aus Wirtschaft und dezentralem Konsens lehrte. POC Release 2 kam zu Beginn dieses Jahres, obwohl dieser Ansatz jetzt aufgegeben wurde, da es offensichtlich ist, dass jeder Validator, dass jeder Validator einen Block oder sogar alle zehn Blöcke sendet, viel zu viel Overhead erfordert, um nachhaltig zu sein. Die traditionelleren Kettenbasis POC3wie in der beschrieben Mauve Papierwar erfolgreicher; Obwohl es Unvollkommenheiten gibt, wie die Anreize strukturiert sind, sind die Mängel viel weniger schwerwiegend.
Ich selbst, Vlad und viele Freiwillige des Ethereum -Forschungsteams kamen zusammen im Zusammenhang mit der Bootcamp bei IC3 Im Juli mit Universitätsakademikern, ZCASH -Entwicklern und anderen, um den Beweis für Beteiligung, Sharding, Privatsphäre und andere Herausforderungen sowie erhebliche Fortschritte bei der Überbrückung der Kluft zwischen unserem Ansatz zum Beweis für den Einsatz und dem von anderen, die an ähnlichen Problemen gearbeitet haben, zu erörtern. Eine neuere und einfachere Version von Casper begann zu verfestigen, und ich und Vlad setzten zwei getrennte Wege fort: Ich wollte einen einfachen Beweis für das Stake-Protokoll erstellen, das wünschenswerte Eigenschaften mit so wenig Änderungen aus dem Nachweis der Arbeit wie möglich liefern würde, und Vlad, der einen “korrekten Durchbau” -Ansatz zum Wiederaufbau von Konsensus von der Annäherung annimmt. Beide wurden im September in DevCon2 in Shanghai präsentiert, und dort waren wir vor zwei Wochen.
Ende November hat das Forschungsteam (vorübergehend von Loi Luu angeschlossen, von Dilemma des Validators Ruhm) kamen zusammen mit einigen unserer langjährigen Freiwilligen und Freunde zwei Wochen lang für einen Forschungsworkshop in Singapur zusammen, der darauf abzielte, unsere Gedanken zu verschiedenen Themen zusammenzubringen, die mit Casper, Skalierbarkeit, Konsensanreizen und staatlicher Größenkontrolle zu tun haben.
Ein großes Diskussionsthema bestand darin, eine strenge und verallgemeinerbare Strategie zur Bestimmung optimaler Anreize in Konsensprotokollen zu ermitteln – unabhängig davon, ob Sie ein kettenbasiertes Protokoll erstellen, ein skalierbares Sharding -Protokoll oder sogar eine Anreizversion von PBFT, können wir die richtigen Einfügungen, die die Einfügungen angemessen haben. Haben Sie optimale spieltheoretische Eigenschaften? Wir hatten einige Ideen; Einer von ihnen führte, wenn er auf Arbeit als Experiment angewendet wurde, sofort zu einem neuen Weg zur Lösung von selbstsüchtigen Bergbauangriffen und hat sich auch als äußerst vielversprechend erwiesen, um langjährige Probleme im Beweis für den Einsatz zu lösen.
Ein wesentliches Ziel unserer Annäherung an die Kryptoökonomie ist die Gewährleistung von so viel Anreizkompatibilität wie möglich. Zumindest in einigen Fällen, wie z. B. Kurzstreckengabeln, scheint die Antwort Ja zu sein. In anderen Fällen, wie z. B. Zensur, ist es viel schwieriger, dieses Ziel zu erreichen.
Ein zweites Ziel ist die Begrenzung von “Trauerfaktoren” – dh sicher, dass ein Angreifer keine Möglichkeit gibt, dass andere Spieler Geld verlieren, ohne dass der gleiche Geldbetrag selbst nahezu verlieren. Ein drittes Ziel ist es, sicherzustellen, dass das Protokoll unter anderen Arten von extremen Bedingungen weiter wie möglich funktioniert: Was ist beispielsweise, wenn 60% der Validatorknoten gleichzeitig offline fallen? Traditionelle Konsensprotokolle wie PBFT und den Nachweis von Stake -Protokollen, die von solchen Ansätzen inspiriert sind, halten in diesem Fall einfach an. Unser Ziel bei Casper ist es, dass die Kette fortgesetzt wird, und selbst wenn die Kette nicht alle Garantien liefern kann, die sie unter solchen Bedingungen normalerweise tut, sollte das Protokoll immer noch versuchen, so viel wie möglich zu tun.
Eines der wichtigsten vorteilhaften Ergebnisse des Workshops bestand darin, die Lücke zwischen meinem aktuellen “exponentiellen Ansatz” für Transaktion/Block-Endgüter in Casper zu schließen, der Validatoren dafür belohnt, Wetten mit zunehmendem Vertrauen zu machen, und sie zu bestrafen, wenn ihre Wetten falsch sind, und die “korrigierten” Annäherung von Vlads “Correct-by-Construction”. Am Ende des Workshops begannen wir zusammen, an Strategien zu arbeiten, um das Beste aus beiden Ansätzen zu kombinieren, und wir haben bereits begonnen, diese Erkenntnisse zur Verbesserung des Casper -Protokolls zu nutzen.
In der Zwischenzeit habe ich einige Dokumente und FAQs geschrieben, die den aktuellen Denken des Denkens über den Beweis für Pfahl, Sharding und Casper detailliert beschreiben, um jeden Interessenten auf den neuesten Stand zu bringen:
https://github.com/ethereum/wiki/wiki/proof-of-stake-faq
https://github.com/ethereum/wiki/wiki/sharding-faq
https://docs.google.com/document/d/1maft3cphvwn29glvty4wcqii6krbn_nbcf3jlgr3m_8 (Mauve Paper; jetzt etwas veraltet, wird aber bald aktualisiert)
Zustandsgrößenkontrolle
Ein weiterer wichtiger Bereich des Protokolldesigns ist die staatliche Größe. Derzeit handelt es sich bei dem Zustand um eine Größe von Gigabyte (der Rest der Daten, die ein Geth- oder Paritätsknoten derzeit speichert, die Transaktionsgeschichte; diese Daten können theoretisch beschnitten werden, sobald es ein robustes Lichtklientprotokoll gibt, um ihn zu holen), und wir haben bereits gesehen, wie Protokoll Usability auf verschiedene Arten wachsen, wenn es viel größer wird. Darüber hinaus wird Sharding viel schwieriger, da Sharded -Blockchains die Knoten benötigen, um Teile des Staates schnell herunterzuladen, um als Teil des Prozesses als Validatoren zu dienen.
Einige Vorschläge, die erhoben wurden Löschen alter Nicht-Vertragskonten ohne genug Äther, um eine Transaktion zu senden und dies sicher zu tun um Wiederholungsangriffe zu verhindern. Bei anderen Vorschlägen geht es darum, dass es einfach viel teurer wird, neue Konten zu erstellen oder Daten zu speichern, und dies auf eine Weise zu tun, die mehr von der Art und Weise entkoppelt ist, wie wir für andere Arten von Kosten innerhalb des EVM bezahlen. Zu den weiteren Vorschlägen gehört die Zeit, wie lange Verträge dauern können, und die Berechnung mehr zur Erstellung von Konten oder Verträgen mit längeren Fristen (die Zeitgrenzen hier wäre großzügig; es wäre immer noch erschwinglich, einen Vertrag zu schaffen, der mehrere Jahre dauert). Derzeit gibt es in der Entwickler-Community eine kontinuierliche Debatte darüber, wie es am besten das Ziel erreicht, die staatliche Größe klein zu halten, und gleichzeitig das Kernprotokoll benutzerfreundlich und entwicklerfreundlich zu halten.
Verschiedenes
Andere Bereiche der Verbesserung des Protokolls auf niedriger Ebene am Horizont sind:
- Mehrere “EVM 1,5” Vorschläge Das macht das EVM freundlicher zu statischer Analysen und erleichtert die Kompatibilität mit WASM
- Integration von Null -Wissens -Beweisen, wahrscheinlich entweder durch (i) einen expliziten ZKP -Opcode/nativen Vertrag oder (ii) einen Opcode oder einen nativen Vertrag für die wichtigsten rechnerischen intensiven Inhaltsstoffe in ZKPS, insbesondere elliptische Kurvenpaarungsberechnungen
- Weitere Abstiegsgrade und Protokollver einfacherlangung
Erwarten Sie detailliertere Dokumente und Gespräche zu all diesen Themen in den kommenden Monaten, zumal die Arbeiten zur Umwandlung der Casper -Spezifikation in einen praktikablen Proof -of -Concept -Release, der ein TestNet ausführen könnte, weiter voranschreitet.


