So first some background. We’ve already covered a little about what to expect from Frontier in the Ethereum Launch Process blog post and Gav has given us a comprehensive overview of the state of the development effort. You can also read about some of the ongoing security work, including the bug bounty system. The bug bounty program has found my favorite bug so far: Jonas Nick's discovery that you could send a negative payment to somebody which moves value from their account to yours!
As bug bounty finds go, an absolute gem. Well done!
Gav has a new blog post describing a little more about what the thorny end of the development process looks like: creating a precise specification for Ethereum by keeping three different implementations in sync, rather than having a canonical implementation which implicitly defines the protocol spec and which other versions then become bug-for-bug compatible with. This is a pretty tough-minded and thorough approach to putting together a system, and it’s worth reading to get a flavor of how the engineering work is going.
By now you should have a pretty good sense of what the development process looks like, and the disparate threads of work which are being woven together into the release. So let’s talk about what actually has to get done between now and Frontier.
There are four specific challenges for us to meet on Frontier.
- Network Stability
- All software has to be reasonably easy to install, mining included
- We need to support partners, particularly exchanges, to provide services
- We need to build our checkpointing and blockchain integrity testing services
- All within the context of the Frontier environment in which we make strong guarantees about network integrity (more on this later) at the cost of the risk of network rollbacks if/when we discover unexpected network behaviors or other problems.
If you would like to see the current state of play, Jeffrey Wilcke (lead on the Go client and the Amsterdam hub) has a Go client issue tracker for Frontier.
This issue list is the best reference for the Frontier release: right now, 10 issues closed, 26 open. New issues will get raised, and of course issue count is only a very loose proxy for “ship time” but the work done is the best indicator, so look there if you would like to prognosticate.
Please note: this is not to say that we are running on “Valve Time” (even though Valve Time does produce some spectacular products!) We have open development processes, you can see the code being written, download the latest branches, participate in testing. It’s not all hidden behind a company PR wall. But we are running on “releasing innovative software with huge associated security processes” time, and schedule estimation for things which have never been done before is not going to help anybody: part of the benefit of the way Ethereum was funded over conventional funding models is that we can do what is right in the medium- and long-term, rather than being under constant market pressure for next quarter’s numbers.
We will say this: there will be at least two weeks notice before anything goes live. You’ll get plenty of news from blog posts, you’ll see the issue count go down, and we’ll start saying positive things about security audit feedback and so on. We will keep you in the loop!
What about the feature list? We’ve largely gone over this in the Launch Processes post, but to reiterate Frontier will...
- Be command-line client only
- Mine at 10% of the normal rate, but this will be real Ether
- Include the full blockchain feature set including smart contracts and logs, although everything except account balances will be erased when Homestead is launched
- We are working with exchanges to make ETH convertible during Frontier
- For security, the block chain will be checkpointed manually every 24 hours, and any reported anomalies will be investigated
- Official exchanges will use this checkpointing service to protect traded assets from potential blockchain rollbacks
- In particularly severe cases of failure, the Foundation may stop checkpointing Frontier completely and release a client upgrade
Frontier is intended largely for people who are writing and testing tooling for mining and exchanges, and perhaps a few of the more hardy dApp developers. It is not a general release that we expect ordinary users to interact with at all, although you might download a client and mine a little Ether just because you can. The show really starts at Homestead, and we’ll have more news about Homestead’s features later
More news as I have it, and keep watching the skies!