great. Just a minor update on what we are and aren’t doing here at Ethereum DEV.
First and foremost, we are developing a powerful quasi-Turing complete blockchain. This is known as Ethereum. In addition to being quasi-Turing complete, there are a number of other important considerations that come from the fact that we are developing an entirely new blockchain technology, including:
- Fast with a block time of 12 seconds;
- It is light client friendly, using Merkle roots in headers for compact proof of containment/state, and DHT integration that allows light clients to host and share small parts of the overall chain.
- ÐApp-friendly even for light clients with multi-level Bloom filters and transaction receipts. Merkle seeks to allow lightweight log indexing and attestation.
- Finite Blockchain Friendly – We designed the core protocol to facilitate upgrades to this technology, further reducing the light client footprint and ensuring medium-term scalability.
- ASIC-unfriendly – through the choice of PoW algorithm (as yet unconfirmed) and the threat of upgrading to PoS in the not-too-distant future.
It’s powerful because:
- Clearly and formally defined, it allows for tractable analysis, saturation testing, and formal auditing of implementation.
- We have an extensive and ultimately complete set of tests to provide a very high level of probability that a particular implementation will be suitable.
- Modern software development practices are followed, including CI systems, internal unit testing, rigorous peer review, a strict no-warning policy, and automated code analyzers.
- The mesh/p2p backend (also known as libp2p) is built on a well-tested security foundation (technology originating from the Kademlia project).
- Official implementations undergo a full industry standard security audit.
- A large-scale stress testing network will be established to profile and test against adverse conditions and attacks that may occur before final release.
Second (and correspondingly lower priority) we are developing materials and tools to exploit this unprecedented technology. These include:
- Develop a single custom-designed contract-oriented (CO) language.
- Develop a secure natural language contract specification format and infrastructure.
- Official documentation of the Help Coding Agreement;
- Tutorial on Help Coding Contracts;
- We sponsor web-based projects to get people involved in development.
- We are developing a blockchain integrated development environment.
Third, to drive adoption, acquire testers, and facilitate further development of this technology, we are developing, collaborating with, and sponsoring a variety of force amplification technologies that leverage existing technologies, including:
- Graphical client “browser” (utilizing drop-in browser components from the Chromium project and Qt 5 technology)
- A set of base contracts and apps, including registration, reputation, web of trust, and accounting (leveraging existing compiler and development technologies)
- a hybrid multi-DHT/messaging system codenamed Whisper (leveraging existing p2p backends and protocols);
- A simple reverse hash lookup DHT, codenamed Swarm (leveraging existing p2p backends and protocols), has an internal implementation underway, but may eventually merge or collaborate with the IPFS project.
We no longer actively target multiple languages (LLL and Mutan are rarely used, and Serpent continues as a side project). We do not develop server technology. And until we have a robust, secure, and effective blockchain that works with native development tools, the other parts of this entire project are of fairly low priority.
Following the launch of the Ethereum blockchain, other components are expected to dedicate more and more time to it.