26. Februar tl; DC (zu lange, nicht angerufen)
Haftungsausschluss: Dies ist eine Verdauung der Themen, die im wiederkehrenden ETH1.x -Forschungsaufruf diskutiert werden und keine endgültigen Pläne oder Verpflichtungen für Netzwerk -Upgrades darstellen.
Die Hauptthemen dieses Anrufs waren:
- Der grobe Plan für den 1.x -Forschungsgipfel in Paris nach ETHCC
- Das Zeugenformat
- Das “Datenabrufproblem”
Logistik
Der Gipfel zur Besprechung und Zusammenarbeit mit staatenlosen Ethereum ist für das Wochenende nach ETHCC geplant, was eine unverzichtbare Zeit für die Arbeit an den wichtigsten und ungelösten Problemen für diese Bemühungen sein wird.
Der Zeitplan ist noch nicht festgelegt, aber eine grobe Übersicht kommt zusammen:
Samstag – Nach einer Stunde Frühstück und kostenloser Diskussion werden wir uns zusammenschließen, um sich auf Ziele und den Umfang des Gipfels zu einigen. Dann sind etwa 4 Stunden für organisierte Präsentationen und „tiefe Tauchgänge“ zu bestimmten wichtigen Themen reserviert. Am späteren Nachmittag/Abend wird es eine Freizeit und eine informelle Diskussion mehr geben.
Sonntag – Das gleiche wie zuvor, aber mit nur 2 Stunden strukturierter Präsentationen, um die Teilnehmer zu ermutigen, in Gruppen auszubrechen und an den verschiedenen Forschungs- oder Implementierungsthemen für den Rest des Gipfels zu arbeiten. Schließlich wird es eine abschließende Diskussion geben, um die nächsten Schritte abzubilden und den Tech -Baum zu überarbeiten.
Es sollte festgestellt werden, dass sich dieser Forschungsgipfel nicht auf öffentliche oder allgemeines Engagement konzentriert, um sinnvolle Fortschritte bei der kommenden Arbeit zu erzielen. Dies ist nicht als Zuschauerveranstaltung gedacht, und in der Tat besteht die Erwartung, dass die Teilnehmer ihre Hausaufgaben „erledigt“ haben, damit die kurze Zeit für die Diskussion effizient ausgegeben wird.
Technische Diskussion
Zeugenformat
Das erste Thema der technischen Diskussion richtete sich um die kürzlich eingereichten Entwurf der Zeugenspezifikationdie dazu beitragen, die Implementierung für alle Kundenteams zu definieren.
Die Zeugenspezifikation besteht wirklich aus zwei Teilen: Semantik und Format. Diese Organisation hat die wünschenswerte Eigenschaft, zwei Aspekte des Zeugen sauber zu trennen, die unterschiedliche Ziele haben könnten.
Die Semantik ist ein bisschen schwieriger, sich mit den abstrakten Methoden zu befassen, um eine Gruppe von Objekten aufzunehmen und sie in andere Objekte zu verwandeln. Die Zeugensemantik befindet sich in einer einfachen formalen Sprache, die beschreibt, wie man von Eingaben zu Ausgängen erhält, sodass alle Implementierungsdetails abstrahiert werden. Beispielsweise sind Fragen zur Datenserialisierung oder Parsen für die Zeugensemantik nicht relevant, da sie eher ein Implementierungsdetail sind. Das hochrangige Ziel, die Semantik von Zeugen auf formelle Weise zu definieren, ist eine völlig unzureichende Referenz, damit Kundenteams ohne viel Hin und Her implementieren können. Zugegebenermaßen ist es experimentell, mit der formalen Semantik und der Arbeit auf die Implementierung (anstatt zu sagen, dass eine Referenzimplementierung ausgeführt wird), aber es wird gehofft, dass dies langfristig Aufwand sparen und zu viel robusteren und vielfältigeren staatslosen Ethereum -Implementierungen führen wird. Das Format ist viel konkreter und gibt reale Details an, die die Interoperabilität zwischen verschiedenen Implementierungen beeinflussen.
Im Zeugenformat werden Dinge wie die Größe der Codebrocken definiert, und ein gutes Zeugenformat hilft dabei, unterschiedliche Implementierungen interoperabel zu bleiben, und im Allgemeinen beschreibt die Kodierung und Dekodierung von Daten. Das Format ist nicht speziell darauf ausgerichtet, die Zeugengröße zu reduzieren, sondern die maßstabsmittele Effizienz des Kunden implementiert und die Effizienz von Erzeugung und Übertragung maximiert. Zum Beispiel kann das aktuelle Format in Echtzeit berechnet werden, während er durch den Staatsstaken geht, ohne ganze Stücke zu puffern oder verarbeiten zu müssen, sodass der Zeuge in kleine Stücke aufgeteilt und gestreamt werden kann.
Als erster Entwurf wird erwartet, dass es vor und nach Paris einige Refactoring gibt, wie andere Forscher Feedback geben, und bereits eine Anfrage nach ein wenig mehr Inhalt zu Design-Motivationen und hoher Erklärung für die oben genannten Inhalte. In dem Anruf wurde auch vorgeschlagen, dass das Zeugenformat in einem bevorstehenden “The 1x -Dateien” -Post geschrieben wurde, was eine großartige Idee erscheint (bleiben Sie in den kommenden Wochen auf dem Laufenden).
Transaktionsvalidierung, ein Zwischenspiel
In dem Chat, in dem die Diskussion gerechtfertigt ist: Ein potenzielles Problem bei der Validierung von Transaktionen in einem staatenlosen Paradigma, wurde zu weniger konkreten Diskussionsthemen angesprochen.
Derzeit führt ein Knoten zwei Überprüfungen für alle Transaktionen im Netzwerk durch. Erstens wird der Transaktions -Nonce überprüft, um mit allen Transaktionen dieses Kontos übereinzustimmen, und verworfen, wenn er nicht gültig ist. Zweitens wird der Kontostand überprüft, um sicherzustellen, dass das Konto über genügend Gasgeld verfügt. In einem staatenlosen Paradigma können diese Schecks von niemandem durchgeführt werden, der nicht den Staat hat, der einen potenziellen Vektor für den Angriff eröffnet. Es ist hervorragend möglich, dass das Format von Zeugen so erstellt werden kann, dass die Mindestmenge an Zustandsdaten, die erforderlich sind, um Transaktionen nur von Zeugen zu validieren, erforderlich ist. Dies muss jedoch weiter untersucht werden.
Das Problem der Transaktionsvalidierung hängt tatsächlich mit einem allgemeineren Problem zusammen, das das staatenlose Ethereum lösen muss, was vorläufig als “Datenabrufproblem” bezeichnet wird. Die Lösung für das Abrufen von Daten löst auch das Problem der Transaktionsvalidierung, daher werden wir uns jetzt daran wenden.
Datenabruf im Staatlosen Ethereum
Der volle Umfang dieser Herausforderung wird umrissen in einem Ethressearch -Forum Postaber die Idee relativ einfach und aus einigen Annahmen aufgebaut:
Es ist möglich, innerhalb des Stroms Eth Protokoll, erstellen Sie einen staatenlosen Client mithilfe vorhandener Netzwerkprimitiven. Das ist Art von Was Strahlsynchronisierung ist, ist mit der wichtigen Unterscheidung, dass die Strahlsynchronisierung staatliche Daten behalten und sie schließlich zu einem vollständigen Knoten wird. Ein staatsloser Kunde wirft dagegen staatliche Daten weg und stützt sich ausschließlich auf Zeugen, um am Netzwerk teilzunehmen.
Das aktuelle Protokoll und die Netzwerkprimitive gehen davon aus, dass es eine hohe Wahrscheinlichkeit gibt, dass vernetzte Peers einen gültigen Zustand behalten, dh angeschlossene Kollegen sind vollständige Knoten. Diese Annahme gilt jetzt, weil die meisten Knoten tatsächlich vollständige Knoten mit gültigem Zustand sind. Diese Annahme kann jedoch nicht berücksichtigt werden, wenn ein hoher Anteil des Netzwerks aufstandslos ist. Das aktuelle Protokoll tut auch nicht Geben Sie einen neuen angeschlossenen Knoten an, um festzustellen, ob ein vernetzter Peer über eine erforderliche Zustandsdaten verfügt oder nicht.
Staatenlose Clients haben bessere UX als vollständige Knoten. Sie werden schneller synchronisieren und eine nahezu sofortige Verbindung zum Netzwerk ermöglichen. Es ist daher vernünftig anzunehmen, dass sich im Laufe der Zeit immer mehr Knoten zum staatenlosen Ende des Spektrums bewegen. Wenn dies der Fall ist, wird die Annahme der Datenverfügbarkeit mit einem höheren Anteil der Staatenlosen Knoten im Netzwerk immer weniger eingeschaltet. Es gibt einen theoretischen “Wendepunkt”, an dem die Staatenlosen mit weitem zahlenlosen Knoten überlegen sind, und eine zufällige Auswahl von Kollegen hat eine ausreichend niedrige Wahrscheinlichkeit von mindestens einem, das das gewünschte Zustand hält. An diesem (theoretischen) Punkt bricht das Netzwerk.
Der Kicker hier ist das Wenn das Netzwerk erlaubt, dass Status auf Anfrage erhalten wird (wie jetzt), kann (und wird) ein staatenloser Client auf demselben Protokoll gemacht werden (und wird).. Die Erweiterung dieser Argumentation auf dramatischere Ausweitung: Staatenlose Kunden sind unvermeidlich, und das Datenabrufproblem wird mit ihnen einhergehen. Daraus folgt diese signifikanten Änderungen an der Eth Das Netzwerkprotokoll muss vorgenommen werden, um das Netzwerk kategorisch zu verhindern, dass das Netzwerk diesen Wendepunkt erreicht, oder es zumindest durch Client -Optimierungen weiter wegschieben.
Hier gibt es viele offene Themen, die zu diskutieren sind, und vor allem gibt es Uneinigkeit unter den 1x-Forschern darüber, wie weit das Netzwerk aus diesem theoretischen Bruchpunkt liegt oder ob der Bruchpunkt überhaupt existiert. Dies unterstreicht die Notwendigkeit von ausgefeilteren Ansätzen für die Netzwerksimulation sowie die Notwendigkeit, das Problem auf dem Forschungsgipfel klar zu definieren, bevor sie auf eine Lösung hinarbeiten.
Bis später !
Aufregende Dinge werden sich zweifellos infolge der persönlichen Forschung in Paris in den kommenden vierzehn Tagen entfalten, und die nächsten einige Raten von “The 1.x-Dateien” werden sich dem Dokumentieren und klarer Bestandteil dieser Arbeit widmen.
Der Gipfel in Paris ist nahezu voll ausgelastet. Wenn Sie also das RSVP -Formular nicht ausgefüllt haben, um teilzunehmen, wenden Sie sich bitte an Piper, um festzustellen, ob Platz vorhanden ist.
Wie immer, wenn Sie an den staatenlosen Forschungsanstrengungen in Ethereum teilnehmen möchten, besuchen Sie uns auf Ethresear.ch, lassen Sie sich in die Telegrammgruppe eingeladen und wenden Sie sich an @gichiba und/oder @jhancock auf Twitter.

