I was roused by Vitalik’s call at 5:55 this morning; pitch darkness outside, the night still lingered. Nevertheless, it was time to depart, and this week ought to commence positively.
The 25-minute stroll in obscurity from the Zug-based headquarters to the train station was damp. Streetlights illuminating the puddles on the pristine Swiss roads offered a picturesque, albeit quiet, march into town. I couldn’t help but feel that the rain streaming down my face served as a very liquid reminder of the forthcoming seasonal transition, and then, upon reflection, how swiftly the last nine months had passed.
Strong Foundations
The previous week was occupied in Zug by the Ethereum foundation board and ÐΞV leadership: Vitalik, Mihai, and Taylor who officially make up the foundation’s board, along with Anthony and Joseph serving as additional official advisors, and Aeron & Jutta as ÐΞV executives accompanied by Jeff and myself, wearing various hats of both ÐΞV and advisory). The primary outcome was the distribution of Vitalik’s excellent plan to reform the foundation and transform it into a professional entity. The board will be composed of established professionals with minimal conflicts of interest; the existing group of “founders” has officially stepped down from their positions, and a professional executive will be recruited, a process led by Joseph. Anthony will assume a more prominent ambassadorial role for Ethereum in China and North America. Conversely, ÐΞV will operate more as a department under the Foundation’s executive rather than as a largely independent entity. Lastly, I presented the release strategy to the others; an event after which I’ve never witnessed quite so many photos taken of a whiteboard. Needless to say, everything was well-received by the board and advisors. More details will follow shortly.
As I compose this, I’m seated on a packed early commuter train, with Vinay Gupta alongside me, who recently assumed a considerably more significant role this week as release coordinator. He will assist with the release strategy and keep you updated about our release process. This week, which could be dramatically described as ‘crucial’ in the release process, will have Jeff, Vitalik, and me gather around a table to develop all the PoC-9 modifications, associated unit tests, and integrations in three days, joined by our indefatigable Master of Testing, Christoph. The results of this week will inform our announcement, which will come later this week clarifying what we will be releasing and when.
I apologize for the lengthy gap without an update. The preceding two months have been rather hectic, filled with travel and meetings, with the remaining time absorbed by coding, team management, and oversight. The team is now significantly formed; the formal security audit commenced four weeks ago; and the bounty program is operating smoothly. The latter processes are in the exceptionally capable hands of Jutta and Gustav. Meanwhile, Aeron will be transitioning out of his role as the ÐΞV head of finance and operations and will resume the role he was initially hired for, system modeling. We hope to announce his successors next week (yes, that was plural; he has been managing the responsibilities of 2.5 individuals over the past few months).
We are also in the midst of establishing partnerships with third parties in the industry; George, Jutta, and I are overseeing this process; I’m delighted to announce that at least three exchanges will support Ether from day one on their trading platforms (the specifics of which we will share soon), with more exchanges to come. Marek and Alex are delivering technical support there, with Marek going so far as to create a substantial reference exchange implementation.
I also completed the initial draft of ICAP, the Ethereum Inter-exchange Client Address Protocol, a system compatible with IBAN for referencing and transacting to client accounts aimed at simplifying the process of transferring funds, worry-free between exchanges and, eventually, making KYC and AML burdens a relic of the past. The IBAN compatibility may even open the possibility of seamless integration with existing banking infrastructure in some future.
Advancements
Proof-of-Concept releases VII and VIII were launched. NatSpec, “natural language specification format” and the foundation of our transaction security was prototyped and implemented. Under Marek’s guidance, now assisted by Fabian, ethereum.js is truly reaching maturity with near-source-level compatibility with Solidity on contract interaction and support for the typed ABI with calls and events, the latter facilitating hassle-free state-change reporting. Mix, our IDE, underwent its first release and after some initial challenges is now being utilized effectively thanks to the impressive work done by Arkadiy and Yann. Solidity has seen numerous features introduced and is quickly nearing 1.0 status, with thanks to Christian, Lefteris, and Liana. Marian’s efforts continue to progress on the network monitoring system while Sven and Heiko have been tirelessly working on the stress-testing infrastructure which evaluates and tests the peer network formation and performance. They will soon be joined by Alex and Lefteris to expedite this initiative.
One of the major issues that required attention for the next release is the proof-of-work algorithm that we shall utilize. This had several requirements, two of which were actually conflicting, but fundamentally it needed to be a light-client-friendly algorithm whose mining speed is proportional to the IO-bandwidth and which requires a substantial amount of RAM to accomplish that. There was a general consensus that we (well… Vitalik and Matthew) should head toward a Hasimoto-like algorithm (a proof-of-work designed for the Bitcoin blockchain that aims to be IO-bound, meaning, loosely speaking, that to enhance its speed, more memory would need to be added rather than merely supporting a smaller/faster ASIC). Since our blockchain possesses several significant differences from the Bitcoin blockchain (primarily in transaction density), stemming from the exceedingly brief 12s block time we aim for, we would have to utilize not the blockchain data as Hashimoto does, but rather an artificially created dataset, performed with an algorithm known as Dagger (yes, some may recall it as Vitalik’s initial and flawed attempt at a memory-hard proof-of-work).
While this appeared to be a promising path, a swift evaluation of Vitalik and Matt’s initial algorithm by Tim Hughes (former Director of Technology at Frontier Developments and specialist in low-level CPU and GPU operation and optimization) revealed major flaws. With his assistance, they were able to collaborate to devise a considerably more robust algorithm that we are confident will make the job of developing an FPGA/ASIC sufficiently challenging, particularly given our determination to transition to a proof-of-stake system within the next 6-12 months.
Lastly, but certainly not least, the new website was launched. Hats off to Ian and Konstantin for diving in and getting it accomplished. The next step will be the developer site, which will be loosely modeled on the remarkable resource at qt.io, intent on providing a comprehensive hub of up-to-date reference documentation, curated tutorials, examples, recipes, downloads, issue tracking, and build status.
Forward
So, as Alex, our networking maestro might assert, these are thrilling times. When entrenched in the nitty-gritty of development, one sometimes overlooks just how world-changing the technology being created is, which is probably for the best since the gravity of the situation at hand might be consistently distracting. Nonetheless, once one begins to contemplate the imminent modifications that we can genuinely bring, one realizes that the wave of change is, at once, unavoidable and headed straight for you. For what it’s worth, I find that an excellent accompaniment to this chaotic life is the superb music of Pretty Lights.