The last one and a half months have seen great progress for Ethereum research, and we are excited that the protocol is moving closer and closer to the point where it is ready for mainstream adoption. Progress on consensus algorithms, privacy, zero knowledge proofs and formal verification is happening at increasing speed, and our research and development teams are expanding substantially.
A large amount of progress has been made on Casper. You can find a few Medium posts describing the algorithm here:
And a few blog posts from Yoichi formally proving correctness:
And on “Vlad Casper”:
And it’s not just theory:
- Casper contract, with test script: https://github.com/ethereum/research/blob/master/casper4
- Some work on the daemon by Karl Floersch: https://github.com/karlfloersch/simplecasper
More progress on Casper and sharding will continue to be published once it stabilizes to the point where it makes sense to write the ongoing work up in a document; the high-level details are now close to finalized, current discussions have more to do with the finer details of the design of the Casper contract.
And some other blog posts from Vlad:
- Dealing with Failure in Cryptocurrency: https://medium.com/@Vlad_Zamfir/dealing-with-failure-in-cryptocurrency-463475da83e5
- Simple model of an “internal” PoW attacker: https://medium.com/@Vlad_Zamfir/simple-model-of-an-internal-pow-attacker-1a713cf00672
- A post agitating for smaller block rewards: https://medium.com/@Vlad_Zamfir/the-case-for-smaller-block-rewards-fb0eab38e15c ; see also Reddit thread and Carbonvote
Some bugs were discovered in the ENS code leading to a delay of its launch. A security audit was commissioned, and the audit is now complete, bringing us a step closer to the final launch day:
Updates on formal proving:
- EVM formal provers can now run state tests: https://github.com/pirapira/eth-isabelle
Metropolis is continuing to progress, and the core development teams are continuing to make progress toward fully agreeing on the specification. Tests for some of the EIPs are already available, and more tests are continuously being written.
- Core dev meeting notes: https://github.com/ethereum/pm/tree/master/All%20Core%20Devs%20Meetings
- Implementation in Geth: https://github.com/ethereum/go-ethereum/pull/3757
- Implementation in Parity: https://github.com/paritytech/parity/issues/4833
- Tests: here, here and here, among other places.