I’m Vinay Gupta, the freshly appointed release coordinator for Ethereum. I’ve been collaborating with the communications team on strategy, and have now joined to facilitate the release procedure (some content in this blog may be outdated, please refer to this link for the latest information on Ethereum).
I’ll be spending approximately half my time on communications and half on release coordination. Much of this will involve keeping you informed about developments: new features, updated documentation, and hopefully sharing insights on fantastic new services you can utilize, as it lies in the interstice between communications and project management. Ideally, once I’m fully acquainted, I should be able to answer the question: “what’s happening?” But please allow me some time, as getting up to speed on everything is quite a task. Our development team is extensive, working with highly advanced and often complex new technologies, and keeping everyone updated on that simultaneously will be challenging. To execute this effectively, I must first grasp the underlying technicalities. There’s much for me to comprehend. I was a 3D graphics programmer throughout the 1990s and have a fairly solid foundation in financial cryptography (I was, and I’m not ashamed to admit, a cypherpunk during that period). However, we have a team of about 25-30 individuals working concurrently on various facets of Ethereum, so… kindly be patient as I grasp the current state of affairs in order to communicate about what’s evolving as we progress. It’s a substantial context to absorb, as I’m sure you’re all aware – if there’s the occasional blunder as I navigate this, please excuse me!
I’ve just returned from Switzerland, where I had the opportunity to meet many of the team members during my “orientation week,” which spanned three days and coincided with the release planning meetings. Gav elaborates on that week in detail here, so instead of reiterating his words, I’ll proceed to share what was discussed on that release whiteboard.
There’s good news and bad news, but most importantly, there is a release timetable.
Another blog entry with much more in-depth details about the release timeline for the first operational Ethereum network will be published shortly – likely by the end of this week, as the developer meeting mentioned by Gav concludes and the findings are communicated. That post will provide you with timelines to prepare your mining rigs, feature lists, and so forth. Until then, let me sketch out what the four key steps in the release procedure will resemble and we can delve into specifics soon.
First, let’s outline our current position: Ethereum is a vast undertaking with numerous teams across various countries implementing the same protocol in multiple language versions, enabling integration into the broadest possible array of other systems/ecologies, while ensuring long-term resilience and future-proofing. In addition to this comprehensive endeavor, there are several distinct applications/toolchains designed to assist users in viewing, building, and interacting with Ethereum: Mist, Mix, Alethzero, among others. Commencing fairly soon, and over the next few months, a series of these tools will be launched in late alpha, beta, and ready for general use. Given the value of the network, and the fact that its security is only as good as the software we provide, this process will prioritize security over scheduling. We want it executed correctly, and so do you – this is one of the most groundbreaking software projects ever delivered.
While you await the comprehensive, show-stopping CERN httpd + NCSA Mosaic combination, the “we have just launched the Future of the Internet” revolutionary system, we will actually release the code and tools progressively. We are establishing the framework for an entirely new web, piece by piece: starting with the server, followed by tool chains, and then the comprehensive user experience rich client. This approach is logical: a client requires something to connect to, hence the server infrastructure must be established first. An internet founded on this metacomputer model will be a drastically different environment, and creating an effective interface will introduce a brand new set of challenges. There’s no simple way to assemble all the components and assume they will fit together neatly as if constructing an arch by tossing bricks into the air: we require scaffolding and precise alignment. We achieve that by focusing on the fundamental technical facets for a while, including mining and the underpinning network, and as that becomes widely deployed, stable, and trusted, we will ascend towards the graphical user interface via Mist in the coming months. None of these components exist in isolation: the network requires miners and exchanges, and it takes time for individuals to organize effectively. The Mist client needs applications; otherwise, it remains just a bare browser without anything to connect to, and that too requires time for development. Each modification, each advancement, necessitates extensive discussions and support as we assist people in adapting to the new software and guiding their projects to fruition: the entire process constitutes an ecosystem. Every component requires its own time and dedicated focus. We must execute this in phases for all these reasons, and more.
Bitcoin, a far less intricate project, took several years to traverse that landscape: we have a larger team, but our project is more complex. Conversely, if you’re tracking the GitHub repositories, you can observe the progress being made, week by week, day by day, so… verify for yourself our current status.
Having aligned our understanding on real-world software engineering, let’s now examine the phases of this release process!
Release Step One: Frontier
Frontier adopts a model familiar to Bitcoiners and establishes it for our initial launch. Frontier represents the Ethereum network in its most elemental form: a means to mine Ether and a mechanism to upload and execute contracts. The primary purpose of Frontier during the launch phase is to initiate mining operations and Ether exchanges, allowing the community to activate their mining rigs, while simultaneously creating a “live” environment for users to test DApps and obtain Ether to upload their own software into Ethereum.
This is a command-line habitat with “no user interface to discuss,” and you are expected to possess a high level of expertise regarding the Ethereum world model, as well as a solid command of the tools available to you.
Nonetheless, this is not a test network: this is a frontier release. If you are prepared, join in! Do not “`html
expire from dysentery during the journey.
Frontier presents three domains of genuine application:
users are able to extract actual Ether, at 10% of the standard Ether distribution rate, 0.59 Ether per block reward, which can be utilized to operate programs or exchanged for other assets, as typical – this actual Ether(This was not applicable at launch – Frontier block reward is 5 Ether per block, and this figure will stay consistent until Casper).- you can trade Ether for Bitcoin, or with other participants, should you require Ether to execute code, etc.
- if you have previously acquired Ether during the crowd sale, and you are fully adept in the frontier environment, it can be utilized on the frontier network.
- we do not endorse this, yet there is a robust security-and-recovery protocol established to enhance safety – refer to details below
We will transition from Frontier to Homestead once Frontier is entirely reliable according to the primary developers and the auditors:
- when we are prepared to advance to Homestead, the successor to Frontier, the Frontier network will be deactivated; Ether values stored in wallets will be shifted, but the state in contracts will likely be lost (additional information will be shared in future blog entries)
- the switch to the new network will be mandated by “TheBomb”
This is very preliminary release software: complete within these limits, but with a considerable risk of unforeseen behaviors not observed in either the test net or the security assessment. And it’s not just us who will be deploying new code into the environment: contracts, exchanges, miners, and everyone else in the ecosystem will be introducing new services. Any malfunctioning of those components could severely affect numerous users, and our goal is to identify bugs across the entire ecosystem, not simply within our own infrastructure: we are all involved in this together.
Nonetheless, to assist you in protecting your Ether, we have outlined the following mechanisms (further specifics from the developers will be provided as soon as the security model is completed):
- if you refrain from conducting any transactions, we assure you that 100% your Ether will remain untouched and will be available for you once we progress beyond Frontier
- if you engage in transactions, we guarantee 100% that any Ether you have not utilized will will be accessible to you once we surpass Frontier and will remain secure
- Ether spent will not slip through cracks into others’ possession or disappear without a trace: in the rare instance that this occurs, you have 24 hours to notify us, and we will freeze the network, revert to the last stable state, and commence again with the bug resolved
- yes, this signifies a genuine risk of network volatility: every precaution has been taken to avert this, but this is an entirely new venture – remember your parachute!
- we will periodically create checkpoints within the network to demonstrate that neither user feedback nor automated testing has reported any issues. We anticipate the checkpoints will occur approximately daily, with an average of around 12 hours latency
- exchanges, etc. will be strongly encouraged to await the validation of checkpoints before distributing payments in fiat or bitcoin. Ethereum will offer explicit assistance to aid exchanges in confirming which Ether transactions have completely cleared
Over the upcoming weeks, various software components need to be integrated to sustain this collection of security features, allowing genesis block Ether onto this platform without intolerable risks. Constructing that infrastructure is a new endeavor, and while it appears to follow a safe, reasonable, and prudent schedule, there remains a possibility of delays as unforeseen challenges arise, whether from ourselves, the bug bounty hunters, or the security assessors. There will soon be a detailed post outlining this release strategy in technical depth, which will include substantial input from the developers, so for now, take this information with a grain of salt and we will provide concrete specifics and anticipated timelines as soon as possible.
Release Phase Two: Homestead
Homestead is the stage we advance to following Frontier. We expect the subsequent three significant alterations.
Ether mining will occur at 100% instead of 10% of the typical reward rate(Frontier/Homestead block reward will remain at 5 Ether)- checkpointing and manual pauses of the network should never be necessary, although checkpointing might continue if there is widespread demand for it
- we will eliminate the severe risk warning regarding placing your Ether on the network, even though we will not consider the software to be fully out of beta until Metropolis
Still command line, maintaining a somewhat similar feature array as Frontier, yet this version we can confirm is ready for action, within the pertinent confines.
What will the duration be between Frontier and Homestead? It entirely relies on Frontier’s performance: the best-case scenario is no less than a month. We will have a fair understanding of whether everything is progressing smoothly based on network evaluations, and we intend to keep you informed throughout this procedure.
Release Phase Three: Metropolis
Metropolis marks the moment when we finally officially launch a comparatively comprehensive user interface for non-technical users of Ethereum, and open the gates: Mist commences, and we anticipate this launch will encompass a DApp store along with several key projects featuring fully-functioning, well-designed applications to illustrate the network’s extensive capabilities. This is what we are all eagerly awaiting and striving towards.
In reality, I suspect there will be at least one, and probably two as-yet-unnamed phases between Homestead and Metropolis: I’m open to recommendations for titles (reach out to vinay[at]ethdev.com). Features will serve as logical checkpoints along the way: specific features integrated within Mist would be my assumption, yet I am still grappling with that, so I expect we will address those considerations after Homestead is operational.
Release Phase Four: Serenity
There’s only one aspect remaining to address: mining. Proof of Work involves the inefficient transformation of electricity into heat, Ether and network durability, and we would prefer to avoid heating the environment with our software more than is absolutely necessary. Aside from purchasing carbon offsets for every Ether mined (is that not such a troublesome idea?), we require an algorithmic solution: the notorious Proof of Stake.
Transitioning the network from Proof of Work to Proof of Stake will necessitate a considerable shift, a transition process potentially resembling the
“`one between Frontier and Homestead. Comparable rollback strategies may be necessary, although it is likely that more advanced mechanisms will be implemented (e.g. operating both systems simultaneously, with Proof of Work prevalent, while identifying any instances where Proof of Stake produces a different result.)
This appears to be a long way off, but it’s not as distant as one might think: the efforts are ongoing.
Proof of Work is an extreme misuse of computational resources – akin to democracy*, the least effective solution other than all the alternatives (*voluntarism etc. have yet to be implemented on a larger scale). Unrestricted by that limitation, the network is expected to be quicker, more effective, simpler for newcomers to engage with, and more durable against mining capacity monopolization, etc. This is likely to represent nearly as significant a leap forward as the introduction of smart contracts into a blockchain from the outset, by the time everything is concluded. It is still some way off. It will be worthwhile.
Timelines
As you have observed since the Ether Sale, advancements have been quick and consistent. Code on the essential route is being developed, teams are competent and productive, and overall, the organization is achieving its goals. Transforming the digital era is challenging, but it must be done. Currently, that responsibility falls to us.
We expect approximately one significant announcement monthly for the upcoming several months, followed by a pause while preparations for Metropolis are underway. There will also be DEVcon One, a chance to gather, learn the practical aspects of developing and launching DApps, connect with fellow developers, potential investors, and gain insight into the probable future landscape.
We will provide detailed information about each release as it nears, but I want to share the broader perspective of how this operates and where we are headed, filling in some of the details, emphasizing what is evolving, both technically and in our communications and business alliances, and offer you a preview of what this summer will entail as we progress towards Serenity, another groundbreaking technology.
I’m very pleased to be involved in this initiative. I’m somewhat at a loss right now trying to comprehend the vast scope of the project, and I’m looking forward to visiting many of the development teams over the summer to collect stories and put faces to names. This is a large, varied project and, beyond the project itself, it represents the initiation of a new sociotechnical ecosystem. We are, after all, a platform initiative: what will truly turn this into something extraordinary is you, and the creations you develop using the tools we are diligently working to deliver. We are crafting tools for tool creators.
Vinay signing off for now. More updates coming soon!