Ich weiß, aber dann sind das ziemlich geschäftige Tage.
Ich schreibe dies von einem Starbucks in Shanghai, der hinter der großen Firewall sitzt, und kann nur gelegentlich herausschauen. Ich bin in den letzten Wochen in Asien mit Marek, hauptsächlich für Meetups, Workshops und technische Meetings. Während dieser Zeit haben wir die Freigabe, den Kampf und das Überleben des Olympic TestNet gesehen, ein sehr klares Signal, dass ein mehrstufiges System der gegenwärtigen Monokultur weit überlegen wäre. Wir haben den Beginn des zweiten externen GO -Audits gesehen, hauptsächlich zur Überprüfung von Regressionen, aber auch Kommentare und Kritikpunkte zu Aspekten, die sich in der Zwischenzeit geändert haben, wie die Netzwerkschicht und die Synchronisierungsstrategie von Go. Wir haben gesehen, dass Mix und Solidität weiterentwickeln und reif sind. Und durch kontinuierliche Entwicklung und den Fortschritt der APIs haben wir alle Kunden sauberer, schneller und widerstandsfähiger.
Austausch
Wir haben weiterhin mit Börsen gearbeitet, jetzt bieten Marek und Konstantin sowohl wesentliche technische Unterstützung und helfen den Codierern aus den Börsen, die weiten Unterschiede zwischen der Verwendung von Standard-APIs der Kryptowährung und dem Smart-Contract-Ansatz von Ethereum zu verstehen. Um sie besser zu unterstützen und die Akzeptanz zu maximieren, haben wir einen Middleware JSON RPC -Proxy entwickelt und eingeführt, der eine viel vertrautere Schnittstelle zu Ethereum für den Austausch ermöglicht.
C ++
Auf der C ++-Seite haben wir Pv61 eingeführt, eine neue Etherum-Netzwerkprotokollversion (rückwärts kompatibel, um den Grenze-Release-Zeitplan für GO nicht zu behindern), das superschnelle parallele Hash-Ketten-Download und viel mehr Widerstand gegen schmutzige Hash-Ketten-Angriffe bietet. Arkadiy hilft dem Code für C ++, in der Hoffnung, dass es vor Homestead in Go gearbeitet werden kann.
Die Solidität hat sich in der Zwischenzeit erheblich fortschreitet: Solidität kann nun strukturell die Gasverbrauch vorhersagen, für die Speicherzugriff und die Codegröße sehr gut optimieren und interne Funktionsaufrufe mit dynamischen Typen sowie eine ganze Reihe anderer Funktionen unterstützen. Liana hackt weiterhin zusammen mit Christian auf diese Codebasis.
Mix unter der Anleitung von Aeron und Jutta mit AVSA, die visuelle Design-Erkenntnisse und Yann-Hacking liefert, sieht ein wesentliches UX-Politur und Refactoring, wobei das allgemeine Ziel darin besteht, dass es eine ultra-übliche, aber leistungsstarke IDE für die Vertragsentwicklung ist. ÐApps können nun in einem einfachen 3-stufigen Prozess im Netzwerk bereitgestellt werden, und die Layer für Status/Blockchain-Verwaltungsschicht wird weitaus verbessert, wobei eine einzelne Ansicht einschalen, aus der Sie alle Transaktionen, Anrufe und Protokolle leicht sehen können, und die Transaktionen zwischen Kettenrefrikten problemlos ausbreiten.
Alex arbeitet weiterhin auf der Network-Ebene auf niedriger Ebene und wird jetzt von Vlad unterstützt. Wir hatten vor 3 Wochen einen Gipfel in Zugg in Zuug, auf dem ich die Pläne für unsere LIBP2P -Netzwerkschicht und die Übereinstimmung mit den Flüster- und Ethereum -Protokollen in das ausgelegt habe. Unser erster Vollzeitentwickler auf Whisper, Vlad, wird weiterhin bei LIBP2P und Whisper hacken, wodurch das Protokoll widerstandsfähiger gegenüber verschiedenen Ethereum-Netzwerkangriffen wird, während das F & E für das P2P-Asynchron-nicht-Ende-Signal-Signal-Protokoll fortgesetzt wird.
Pawel, die aus Warschau arbeitet, hat die JIT EVM- und EVM -Bibliotheken fortgesetzt, die Stapelnutzung optimiert und dabei geholfen NetStats -Seite Das hat kürzlich seinen Nutzen in mehrfacher Hinsicht bewiesen. Diejenigen, die mit Bergbau -Setups am Olympia -Test experimentiert haben, werden wahrscheinlich die Arbeit von LeFteris bei der Übernahme der ETHASH -Implementierung und der Aktualisierung, Neuaufladung und Unterstützung der OpenCL -Implementierung von Tim Hughes erkennen. Besonderer Dank geht an jeden der Mitglieder der Community, die auf die eine oder andere Weise mit der Entwicklung dieses Code geholfen haben. Sie wissen, wer Sie sind (-: Christoph arbeitet jetzt an der Testberichterstattung für die Kernklassen und hilft dabei, verschiedene Probleme im Kern zu beheben.
Abgesehen von der Arbeit mit den Mix-Teams, Arkadiy und Marek, habe ich den neuen C ++-Wallet/Secret Store-Code (ein umgestaltetes Format und Kompatibilität mit GO und Python) kodiert, um den Kern zu optimieren (Importzeiten für mindestens ein gashaariger Block wurden kürzlich als ~ 10x-Faster als Python und ~ 3x-Faste-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Fast-Block-Block. Der EVM im Standalone -Modus und der “Etherkey” -Binärz für das Brieftaschenmanagement und zuletzt kodieren eine viel bessere interaktive Konsolenschnittstelle, ähnlich der JavaScript -Konsole von Go. Ich hoffe auch, dass ich in Alethzero eine viel bessere Blockchain -Download -Diagnoseanzeige in Kürze in Gang bringen kann.
Prüfung
Die interne Prüfung der C ++ – Codebasis hat begonnen. Christoph arbeitet an Tests für alle Kernklassen und Arkadiy, die bei einigen der Kernoptimierungen helfen. Der Sekretär- und Brieftaschenkurse wurde bereits von Christian geprüft, wodurch der C ++ – Kunde für die Verwaltung privater Schlüssel vernünftigerweise sicher ist. Das externe Audit C ++ beginnt in drei kurzen Wochen.
Da das wesentliche Versagen des Testnetzes nur in einem der drei Kunden verursacht wird, einschließlich Themen, die zwei Prüfungsverfahren überlebten, ist uns klar geworden, dass die Prüfung, externer oder interner, keine Silberkugel ist. Während wir uns für die Bereitstellung der besten Software verpflichten und unser Wirtschaftsprogramm fortsetzen werden, lassen Sie uns bitte klar sein: Der GO -Client hat nichts Magisches, nachdem es einen Prüfprozess durchlaufen hat. Wir wollen alle Kunden durch mindestens einen grundlegenden Prüfprozess durch die Homestead -Version haben, und ich sehe keinen Grund, den GO -Kunden über andere Kunden (C ++ oder Python) zu diesem Zeitpunkt zu verwenden, noch für die überwiegende Mehrheit der Benutzer während der Grenze. Keine Kunden haben Garantien. In der Tat gibt es das Argument, dass Minderheitenkunden, die ein kleineres Ziel sind, weniger wahrscheinlich angegriffen werden.
Voran
Wir setzen unsere Vorbereitungen für die Frontier -Veröffentlichung fort. Obwohl wir uns über das genaue Veröffentlichungsdatum immer noch nicht sicher sind, werden wir immer glücklicher über die Widerstandsfähigkeit des Olympischen Testnets. Da das Versagen des olympischen Testnetzes andauert, führte die Widrigkeiten zu einer gewissen Reflexion darüber, wie wir solche Probleme in Zukunft mindern könnten. Die Tiefe und Dauer des Konsensausfalls können ungefähr zwei Probleme niedergeschlagen werden: Erstens gab es einen Fehler in der Go-Codebasis, die dazu führte, dass sie ungültige Blöcke akzeptieren (in diesem Fall Blöcke mit einem ungültigen Nonce-Proof-of-Work-Proof-of-Work). Zweitens gab es ein großes Problem bei der Verbesserung des Netzwerks, da die Bergleute weiter in der „schlechten“ Kette abfuhren und ihre Knoten langsam aufrüsten, damit sie sich in der richtigen Kette abfanden. Im Wesentlichen war das erste ein forensisches Problem und das zweite ein Organisationsproblem.
Um sicherzustellen, dass dies in Zukunft niemals so tief oder breit ist, habe ich zwei neue Protokolle entworfen: die Schlechte Kette Kanarienvogel und die Schlechte Blockberichterstattung API. Der schlechte Kettenkanar ist ein einfacher Vertrag. Es wird von einem einzigen Schlüssel gesteuert (obwohl es einige von ihnen geben kann) und sitzt leise, bis er von seinem Besitzer gestoßen wird. Ich werde ein solcher Besitzer sein, Vitalik und Jeff zwei andere und es wird wahrscheinlich den viertens geben, Christoph. Beim Poked erhält es ein Blockhash- und Blocknummernpaar; Dieses Paar bezieht sich auf einen kürzlichen Block in einer schlechten Kette. Wenn sie mit der Kette übereinstimmen, auf der der Vertrag glaubt, dass er sitzt, steckt er in den Zustand der “schlechten Kette”. Dies ermöglicht es den Ethereum Core Devs, jeden zu informieren, der einen Kunden in einer schlechten Kette leitet (dh einer, die aufgrund eines Fehlers nicht dem gelben Papier entspricht), dass es so ist. Die Standardeinstellung in Clients (leicht überschrieben) besteht nicht darin, an solchen Ketten abzubauen (da dies eine Energieverschwendung wäre), sondern den Benutzer darüber informieren, dass er nach ihrer frühesten Gelegenheit aufrüsten sollte.
Die Bad Block Reporting API ist ein einfaches JSON -RPC, mit dem eine Reihe unserer Knoten in einem “Sentinel” -Modus ausgeführt werden können. In diesem Modus erstellen sie, wenn sie auf einen schlechten Block stoßen, automatisch einen standardisierten Bericht darüber zusammen, was schief gelaufen ist, einschließlich erwarteter Transaktionsbelege, VM-Spuren, Nachweis- und Block-Fehlerinformationen. Dieser Bericht wird dann sofort an einen ðξv -Server gesendet, auf dem er ein Frühwarnsystem auslösen kann und sollte der Release -Tzar (das Taylor) für notwendig erachtet, die Kern -Entwickler aufmerksam machen. Durch die Standardisierung und Verwendung eines einfachen Formats ist es so gestaltet, dass wir eine JSON-Vergleichs-Engine problemlos codieren können, um schnell zu diagnostizieren, wo das Konsensproblem liegt.
Eine zukünftige Aufgabe besteht darin, die beiden so zu kombinieren, dass der JSON -RPC auch die Berichterstattung über Kanarische Informationen verwalten kann. In diesem Fall kann ein Benutzer einen Sentinel -Server einrichten, um ihnen eine E -Mail zu geben, wenn der Vertragsbericht, dass das Mining eingestellt hat, und/oder sie ihren Knoten für das Berging fortsetzen sollten.
Stiftung
Schließlich werden die drei Direktoren der Ethereum Foundation (Vitalik mit drei Stimmen, dann Taylor und Mihai mit jeweils eine Abstimmung) bald in Vitaliks Worten eine “Art von großer Tod des Baton -Ereignisses” einberufen. Kelley, ðξvs unbezwingbarer COO, hat die Suche nach bewährten Kandidaten aus verschiedenen Bereichen geleitet, die der Stiftung sowohl im Hinblick auf Spendenaktionen als auch für die Annahme der Adoption einen echten Wert verleihen können. Wir sind sehr dankbar für all ihre harte Arbeit in dieser Hinsicht.

