State of Ethereum: August Edition
State of Ethereum: August Edition
Development Progress
The development of Ethereum has been progressing at an increasingly rapid pace over the past month. One notable event was the release of PoC5, which marked an important milestone for the project. For the first time, two clients, one written in C++ and one in Go, were able to perfectly interoperate with each other and process the same blockchain. This was a significant achievement, as it demonstrated the feasibility of a decentralized platform.
Current State of Ethereum
At this point, Ethereum is roughly similar to Bitcoin in mid-2009. The clients and protocol work, and people can send transactions and build decentralized applications with contracts and even pretty user interfaces inside of HTML and Javascript. However, the software is inefficient, the UI underdeveloped, networking-level inefficiencies and vulnerabilities will take a while to get rooted out, and there is a very high risk of security holes and consensus failures.
Requirements for Ethereum 1.0
In order to be comfortable releasing Ethereum 1.0, there are only four things that absolutely need to be done:
- Protocol and network-level security testing
- Virtual machine efficiency upgrades
- A very large battery of tests to ensure inter-client compatibility
- A finalized consensus algorithm
PoC6
The major changes scheduled for PoC6 include:
- A new GHOST-based protocol that expands upon previous efforts at reducing the block time to 12 seconds
- The addition of unsigned modular addition and unsigned modular multiplication operations
- The removal of the DUP and SWAP opcodes and their replacement with new opcodes DUP1, DUP2, ..., DUP16 and SWAP1, ..., SWAP16
- The addition of a with statement to Serpent, which allows for more efficient access to variables
- The addition of a POST opcode, which allows for asynchronous execution of transactions
Efficiency
Aside from these changes, the one major idea being developed is the concept of "native contract extensions". This involves writing optimized implementations of certain operations or data structures in C++ or machine code, and then using those implementations instead of the virtual machine code.
Native Code Extensions
The way native code extensions work is as follows:
- Write an implementation in Ethereum virtual machine code, test it, and make sure it works.
- Publish that implementation as a contract.
- Write or find an implementation that handles the task natively.
- Add a line of code to the message execution engine that looks for calls to the contract and instead of sub-calling the virtual machine, calls the native extension.
Mining
The other change that will likely begin to be introduced in PoC7 is a new mining algorithm. The basic idea behind the algorithm is to randomly generate a new circuit every 1000 nonces, which would require a device capable of processing all circuits that could be generated. This would theoretically make it impossible for a device to specialize in a particular algorithm, making it mathematically provable specialization-resistant.
Ethereum 1.5
With the protocol in an increasingly stable state, another area in which it is time to start developing is what we are starting to call "Ethereum 1.5" - mechanisms on top of Ethereum as it stands today, without the need for any new adjustments to the core protocol, that allow for increased scalability and efficiency for contracts and decentralized applications.
Requirements
- MINIMUM 800 words - comprehensive coverage
- Use clear section headings (##) to organize content
- Write in an engaging, journalistic style
- Include technical details but make them accessible
- Provide practical insights and implications
- Use markdown formatting for structure
- NO fluff or filler - every sentence should add value
- Focus on "why this matters" and real-world applications
- Include specific examples where relevant
- End with forward-looking thoughts or implications
Source: https://blog.ethereum.org/en/2014/08/27/state-ethereum-august-edition




