All Research & Development posts:

The Burden of Proof(s): Code Merkelization

A note about the Stateless Ethereum initiative: Research activity has (understandably) slowed in the second half of 2020 as all contributors have adjusted to life on the weird timeline. But as the ecosystem moves incrementally closer to Serenity and the Eth1/Eth2 merge, Stateless Ethereum work will become increasingly relevant and impactful. Expect a more substantial year-end Stateless Ethereum retrospective in the coming weeks. Let’s roll through the re-cap one more time: The ultimate goal of Stateless Ethereum is to remove... [Read More]

EthereumJS VM v5 Release

While everyone is staring in amazement on December 1st, 12pm UTC anticipating the Eth 2.0 Beaconchain genesis, within the JavaScript team we quietly prepared our own little genesis release in the shadows. Being very much around the good ol’ Eth 1.0 chain we are nevertheless very much excited on this too. 😀 Some background story: the EthereumJS ecosystem around the VM consists of a very modular set of libraries (vm, blockchain, merkle-patricia-tree, tx,…), each encapsulating its own dedicated set of... [Read More]

Medalla data challenge results

The EF is excited to announce the results of the Medalla data challenge, a data hackathon focused on the Medalla testnet ✨ The prompt was open-ended: we asked for data tools, visualizations, and analyses of testnet data; in short, anything that would help the community make sense of all the data. Over the course of six weeks we received 23 submissions from a wide variety of teams. We were pleased to see high quality submissions for every category. Prizes are... [Read More]

eth2 quick update no. 16

Can’t travel these days Miss the people, not the planes Spadina, not Spain tl;dr Spadina (deposit and genesis dress rehearsal) testnet coming up Medalla Data Challenge in progress RFP for audit of blst super fast BLS12-381 signature library 💥 [Read More]

eth2 quick update no. 15

Farmer minds his crops An optimistic outlook The fields are aflame tl;dr Medalla chugging along smoothly Client diversity is a must eth1+eth2 (Phase 1.5 aka The Merge) end-to-end demo Testing and audits continue as we approach Phase 0 launch [Read More]

The Stateless Tech Tree: reGenesis Edition

This week we’re revising the Tech Tree to reflect some new major milestones to Ethereum 1.x R&D that are not quite a complete realization of Stateless Ethereum, but much more reasonably attainable in the mid-term. The most significant addition to the tech tree is Alexey’s reGenesis proposal. This is far from a well-specified upgrade, but the general sentiment from R&D is that reGenesis offers a less dramatic yet much more attainable step towards the ultimate goal of the “fully stateless”... [Read More]

Validated, staking on eth2: #5 - Why client diversity matters

Disclaimer: None of this is meant as a slight against any client in particular. There is a high likelihood that each client and possibly even the specification has its own oversights and bugs. Eth2 is a complicated protocol, and the people implementing it are only human. The point of this article is to highlight how and why the risks are mitigated. With the launch of the Medalla testnet, people were encouraged to experiment with different clients. And right from genesis,... [Read More]

The 1.x Files: GHOST in the Stack Machine

Ethereum can be simple enough to understand from a bird’s-eye view: Decentralized applications powered by the same sort of crypto-economic guarantees that underpin Bitcoin. But once you’ve zoomed in to, say, a street-level view, things get complicated rapidly. Even assuming one has a strong grasp on proof-of-work, it’s not immediately clear how that translates to a blockchain doing more than keeping track of everyone’s unspent transaction outputs. Bitcoin uses computational work to decentralize money. Ethereum uses computational work to decentralize... [Read More]

eth2 validator launchpad 🚀

After months of hard work from the eth2 research team, along with Consensys and DeepWork Studio, we’re happy to announce the release of the eth2 validator launchpad (testnet version). We’re releasing it now so that you can keep track of, and make deposits into, the upcoming Medalla multi-client testnet. But we’ll continue to fine-tune the interface in the run-up to mainnet launch. The idea behind the launchpad is to make the process of becoming an eth2 validator as easy as... [Read More]

Ask about Geth: Snapshot acceleration

This is part #1 of a series where anyone can ask questions about Geth and I’ll attempt to answer the highest voted one each week with a mini writeup. This week’s highest voted question was: Could you share how the flat db structure is different from the legacy structure? [Read More]

eth2 quick update no. 12

eth2 quick update no. 12 As always, a lot continues to happen on the eth2 front. Aside from written updates (check out the State of Eth2 post below) and other public summaries, client teams, contributors, and community members/prospective-validators have been busy! Today, we’ll cover some significant deposit contract news, and big steps toward implementation of spec version v0.12. tl;dr New Solidity deposit contract formally verified and added to the bounty program Altona v0.12 testnet expected to launch in the next... [Read More]

The 1.x Files: EIP 1559 and the Ethereum Improvement Horizon

I’ve been thinking recently about post-apocalyptic wastelands. Specifically, about this scene from Mad Max: Fury Road, when the main characters have just escaped the first wave of pursuit, and are staying ahead of their would-be captors. They need to keep moving, but still need to do maintenance on the centerpiece of the movie: a gigantic “war rig” truck driving them to safety. So Charlize Theron climbs out under the cab to make some repairs en-route: The idea of conducting repairs... [Read More]

The State of Eth2, June 2020

A huge thank you for excellent input and feedback from Sacha Saint-Leger, Joseph Schweitzer, Josh Stark, and protolambda. I spend a lot of my time explaining and answering questions about eth2, and I mean a lot. Some of this on a deep and technical level as I help communicate research and specifications to technical contributors, but more and more these days I’m fielding questions from the community about eth2 progress, direction, motivations, design decisions, delays, and more. I actually really... [Read More]

Validated, staking on eth2: #4 - Keys 🔑

Special thanks to Sacha Yves Saint-Leger & Danny Ryan for their review. At the core of every Proof of Stake system is a signature scheme. Signatures are used to verify the identity of each validator allowing their actions, both good and bad, to be attributed to them. We can verify honesty by looking at a validator’s signed messages and we can prove malice by showing messages that violate the rules of consensus. In fact, in eth2, the identity of a... [Read More]

eth2 quick update no. 11

We’ve all been pretty busy with all the things! I’ll try to keep these posts rolling out, but in the meantime, be sure to checkout Ben Edgington’s What’s New in Eth2 to get your fix. Tune into Ethereal Virtual Summit this Thursday and Friday! It’s full of excellent eth2 content and it’s 100% FREE. Thank you to all the organizers for their hard work in making the switch to online. I’m super excited :) tl;dr Doubling rewards for Phase 0... [Read More]

The 1.x Files: A Primer for the Witness Specification

Since a lot of us have a bit more time on our hands, I thought now might be a good opportunity to proceed with something perhaps a little bit boring and tedious, but nevertheless quite fundamental to the Stateless Ethereum effort: understanding the formal Witness Specification. Like the captain of the Battleship in StarCraft, we’re going to take it slow. The witness spec is not a particularly complicated concept, but it is very deep. That depth is a little daunting,... [Read More]

EF-Supported Teams: Research & Development Update

2020 Pt. 1

Friends, From our team to you and yours, we hope everyone and their families are well and keeping safe during these complicated weeks. To help pass some time while we’re all stuck in doors, it’s time again to update the community on progress made by some of the EF-supported projects not covered in last week’s ESP Allocation Update. While the last Winter edition in this series was posted only a few months ago, we’ve all come a long way since... [Read More]

The 1.x Files: The Updated Stateless Tech Tree

The Updated Stateless Ethereum Tech Tree Apologies for the delay in releasing this post; there have been some unavoidable distractions in my life recently, as I’m sure there have been in yours. I hope that you are making the best of your circumstances, whatever they may be, and implore you to turn your empathy up to eleven for the next few months, and to help your community’s at-risk people in whatever capacity you can :pray:. With that said, let’s talk... [Read More]

eth2 quick update no. 10

Have some fun announcements for y’all this week :) Other than the items below, client teams continue to move toward production. More on that next week! tl;dr Least Authority Phase 0 audit complete Phase 0 Pre-Launch Bounty Program 🐛 Unification of eth1+eth2 communications in the Eth R&D discord server [Read More]

Validated, staking on eth2: #3 - Sharding Consensus

Special thanks to Sacha Yves Saint-Leger & Joseph Schweitzer for review. Sharding is one of the many improvements that eth2 has over eth1. The term was borrowed from database research where a shard means a piece of a larger whole. In the context of databases and eth2, sharding means breaking up the storage and computation of the whole system into shards, processing the shards separately, and combining the results as needed. Specifically, eth2 implements many shard chains, where each shard... [Read More]

eth2 quick update no. 9

Strange times. I hope you are all well and continue to take care of yourselves, your families, and your communities. We’re a bit overdue on a quick update. My apologies. I’ll keep them coming at a regular clip after this one. Eth2 is looking good – Phase 0 is stable, client teams are crushing it, and some promising research was published for our stateless future. tl;dr v0.11.0 released as a stable target for multi-client testnets Release of Combining GHOST and... [Read More]

The 1.x Files: Stateless Summit Summary

The Stateless Ethereum Summit It’d be a fools errand to try and provide a representative or objective summary immediately following this week in Paris – I and everyone else whom were present shall be spending the coming weeks refining our takeaways, and adjusting for the year ahead. But for you, dear reader, who felt the Paris FOMO and have been eagerly awaiting an update, I will provide my personal and incomplete collection of high-level insights, decisions, and results of the... [Read More]

The 1.x Files: The State(lessness) of the Union

The next Stateless Ethereum research call is coming up in less than a week! The telegram chat now has hundreds of messages to catch up on, and only a small portion of the topics discussed have made it into the ethresearch forums. This post is just a quick primer and general update; we’ll re-cap most issues under discussion currently, and set the stage for call #4 as well as the 1.x researcher’s summit following EthCC. This post assumes a higher-than-average... [Read More]

Validated, staking on eth2: #2 - Two ghosts in a trench coat

Special thanks to Sacha Yves Saint-Leger & Danny Ryan for review. In this installment, we’ll discuss the consensus mechanisms behind eth2. Eth2 has a novel approach to deciding which block is the head of the chain, along with which blocks are and are not a part of the chain. By using a hybrid between the two mechanisms, eth2 aims to have a consensus which, in addition to being rapid and safe when the network is behaving normally, remains safe even... [Read More]

eth2 quick update no. 8

Keep it coming tldr; Audit and formal verification of deposit contract bytecode completed by Runtime Verification The word of the month is “optimization” Ongoing Phase 2 research driven by Quilt and eWASM. Welcome TXRX to the table Whiteblock releases gossipsub testing results Stacked spring! Conferences, hackathons, bounties, and more [Read More]

Solidity 0.6.x features: try/catch statement

The try/catch syntax introduced in 0.6.0 is arguably the biggest leap in error handling capabilities in Solidity, since reason strings for revert and require were released in v0.4.22. Both try and catch have been reserved keywords since v0.5.9 and now we can use them to handle failures in external function calls without rolling back the complete transaction (state changes in the called function are still rolled back, but the ones in the calling function are not). We are moving one... [Read More]

The 1.x Files: The Stateless Ethereum Tech Tree

I started to write a post that detailed a “roadmap” for Ethereum 1.x research and the path to stateless Ethereum, and realized that it’s not actually a roadmap at all —— at least not in the sense we’re used to seeing from something like a product or company. The 1.x team, although working toward a common goal, is an eclectic collection of developers and researchers independently tackling intricately related topics. Consequently, there is no “official” roadmap to speak of. It’s... [Read More]

eth2 quick update no. 7

Welcome to the first eth2 quick update of 2020! This is going to be an exciting year. tldr; Release of v0.10.0 spec as stable target for multi-client testnets and security reviews @paulhauner and @sigp_io team hard at work building Lighthouse Relaunch of Prysm testnet, now with aggregators and mainnet configuration A new proposal for an expedited merging of eth1+eth2 (aka Phase 1.5) [Read More]

Validated, staking on eth2: #1 - Incentives

Thanks to Joseph Schweitzer and Danny Ryan for review. Welcome back! Having discussed eth2’s design philosophy last time, today’s focus is on eth2’s incentives through the lens of that philosophy. More specifically, we look at the incentives effecting eth2 and how they are realised in the form of rewards, penalties, and slashings. We then walk through how and why validators are incentivised to remain online, why you won’t be slashed for going offline, and more. Let’s dig in. [Read More]

Update on the Vyper Compiler

The idea behind the Vyper Project was to develop something that was designed at the language level to naturally exhibit a high degree of safety. The project was originally authored by Vitalik as a proof-of-concept replacement for Serpent, its predecessor, but shortly after its creation Vyper found itself without a dedicated maintainer. Luckily, there were enthusiastic community members that took up the torch and continued development of the project, and we (the EF Python Team) became re-involved in the project... [Read More]

The 1.x Files: The State of Stateless Ethereum

In the last edition of The 1.x files, we did a quick re-cap of where the Eth 1.x research initiative came from, what’s at stake, and what some possible solutions are. We ended with the concept of stateless ethereum, and left a more detailed examination of the stateless client for this post. Stateless is the new direction of Eth 1.x research, so we’re going to do a pretty deep dive and get a real sense of the challenges and possibilities... [Read More]

eth2 quick update no. 6

Welcome to this week’s eth2 quick update! A handful of new eth2 testnets have come online and last week I had them all running on my laptop. There is still plenty of work to be done, but this is getting real :). tldr; Announcing comprehensive Phase 0 spec audit by Least Authority Sigma Prime launched public Lighthouse testnet with 16k+ validators and mainnet spec configuration, pushing the envelope on eth2 scale Nimbus integrates native nim-libp2p to be launched in testnet... [Read More]

The 1.x Files: a fast-sync

ETH 1.x: a fast sync The new direction of ETH 1.x research has begun proper, with a focus on moving the current Ethereum chain towards the ‘stateless client’ paradigm, with the eventual target being a smooth transition into an Eth 2.0 Execution Environment. The next call will be focused on collecting and organizing research topics and planning a more structured roadmap. The call is open for anyone to attend, and is scheduled for December 17th at 16:00 UTC – if... [Read More]

eth2 quick update no. 5

Welcome to this week’s eth2 quick update! tldr; Parity’s Shasper joins Prysmatic’s Sapphire testnet (the first public eth2 multi-client testnet)! Multiple eth2 block explorers launch – Bitfly’s beaconcha.in and Etherscan First eth2 networking call to tackle all the networkings – Ben’s notes and Mamy’s notes First eth2 phase2 community call to rally the effort Fix to ensure fork choice head state matches FFG finality info Presentation, specification, and implementation of the new BLS standards [Read More]

EF-Supported Teams: Research & Development Update

2019 Pt. 2

Friends, Since the last EF-Supported Teams report, progress has been made across the board. From improved network conditions, to the coming Istanbul release and Eth1.x and Eth2 development, all areas core to the functionality and sustainability of Ethereum are advancing. This series focuses on teams and efforts from the Foundation and larger Ethereum ecosystem that are working to grow and improve Ethereum as a whole. In this edition, we’re covering updates from many teams highlighted in the previous report, fully... [Read More]

Validated: Staking on eth2 #0

Thanks to Danny and Joe for review. As the launch of the beacon chain grows nearer and eth2 becomes ever more final, the time has come to fast-sync the community with the latest on the inner workings of eth2 and on the concrete requirements, incentives and experience of being a validator. This article will provide a high-level overview of eth2 which will form the basis for a series on all aspects of eth2 relevant to validators. eth2 has been in... [Read More]

eth2 quick update no. 4

Welcome to the fourth installment of eth2 quick update. There are a lot of moving pieces to talk about this week. Other than the heroic eth2 client development going on, these are the highlights: tldr; Grant to Sigma Prime for eth2 differential fuzzing Light Client Task Force is formed Some notes on the uni-directional bridge between eth1 and eth2 [Read More]

Eth2 at ETHWaterloo: Prizes for Eth2 education, tooling, and research

For the first time ever, the Ethereum Foundation will be sponsoring a range of hacker prizes related to Eth2 at a major hackathon. With Eth2 development proceeding rapidly, there are now many discrete areas of work that a team of motivated hackers can complete over a weekend. The bounties below include useful educational tools for Eth2 development, necessary tooling, and valuable research. Members of Eth2 teams will be available remotely during the hackathon to answer questions from hackers and provide... [Read More]

eth2 quick update no. 2

Welcome to the second installment of eth2 quick update. tldr; Spec release of v0.9.0 -- Tonkatsu to ensure Phase 0 development can continue unimpeded. Work continues in ironing out the details of the modified Phase 1 proposal. Quiet client development focused on eth1 -> eth2 infrastructure, general hardening for production, and optimizations. [Read More]

eth2 quick update

Although the internet has been more quiet than usual, we’ve been super busy hacking away on eth2! Between Devcon5 and keeping our heads down to work, it seems we’ve left the community in the dark on a couple of items. Here’s a quick update to fill in the gaps. [Read More]

Eth2 Interop in Review

Last week, seven of the eight Eth2 clients under active development succeeded in marking the major milestone of moving from single-client to multi-client testnets at the “Interop Lock-in”. With this exciting success in Eth2 development, we wanted to reflect on how this point was reached and on what it means to the Ethereum network and ecosystem. Anyone following Ethereum over the past couple of years has likely become familiar with terms such as “Ethereum 2.0”, “Eth2”, or “Serenity”. Each of... [Read More]

Geth v1.9.0

Six months distilled

After many months of silence, we’re proud to announce the v1.9.0 release of Go Ethereum! Although this release has been in the making for a lot longer than we anticipated, we’re confident there will be some juicy feature for everyone to enjoy! Warning: We’ve tried our best to squash all the bugs, but as with all major releases, we advise everyone to take extra care when upgrading. The v1.9.0 release contains database schema changes, meaning it’s not possible to downgrade... [Read More]

Solidity Storage Array Bugs

Solidity Storage Array Bug Announcement This blog post is about two bugs connected to storage arrays which are otherwise unrelated. Both have been present in the compiler for a long time and have only been discovered now even though a contract containing them should very likely show malfunctions in tests. Daenam Kim with help from Nguyen Pham, both from Curvegrid discovered an issue where invalid data is stored in connection with arrays of signed integers. This bug has been present... [Read More]

EF-Supported Teams: Development Report

2019 Pt. 1

Friends, Over the last year, developers and researchers supported by Ethereum Foundation have kept their heads down and continued to produce at a staggering pace. Their focus has remained on their work, and together we’re all building a more complete Ethereum. Today, our regular all-team update series is relaunching in a changed and ever growing ecosystem. Ethereum features larger dApp, developer and user communities than ever before, the network has continued to improve, and steady progress has been made on... [Read More]

Solidity Optimizer and ABIEncoderV2 Bug

Solidity Optimizer and ABIEncoderV2 Bug Announcement Through the Ethereum bug bounty program, we received a report about a flaw within the new experimental ABI encoder (referred to as ABIEncoderV2). Upon investigation, it was found that the component suffers from a few different variations of the same type. The first part of this announcement explains this bug in detail. The new ABI encoder is still marked as experimental, but we nevertheless think that this deserves a prominent announcement since it is... [Read More]

Ethereum Constantinople/St. Petersburg Upgrade Announcement

The Ethereum network will be undergoing a scheduled upgrade at block number 7,280,000, which is predicted to occur on Thursday, February 28, 2019. The exact date is subject to change depending on block times between now and then and could be activated 1-2 days before or after. A countdown timer can be seen at https://amberdata.io/blocks/7280000. You can monitor the network upgrade in real time at http://forkmon.ethdevops.io/. What is Constantinople and St. Petersburg? Constantinople and St. Petersburg are the names given... [Read More]

Ethereum Constantinople Upgrade Announcement

NOTE: DUE TO A SECURITY VULNERABILITY WE ARE POSTPONING CONSTANTINOPLE. PLEASE DISREGARD THE INSTRUCTIONS IN THIS BLOG POST. CLICK HERE FOR MORE INFORMATION. The Ethereum network will be undergoing a scheduled upgrade at block number 7,080,000, which is predicted to occur on Wednesday, January 16, 2019. The exact date is subject to change depending on block times between now and then and could be activated 1-2 days before or after. A countdown timer can be seen at https://amberdata.io/blocks/7080000. You can... [Read More]

Solidity Bugfix Release

The latest version 0.4.25 release of Solidity fixes two important bugs. Another important bug has already been fixed in version 0.4.22 but it was only discovered recently that the bug existed. Note that the Ethereum Foundation runs a bounty program for the code generator part of Solidity. [Read More]

Announcing Swarm Proof-of-Concept Release 3

The Swarm Team is pleased to announce the immediate release of Swarm client v0.3, the third proof-of-concept release (POC3) of the Ethereum Swarm client. The POC3 code is now merged into the official go-ethereum repository’s master branch. Swarm 0.3 has been deployed to the public Testnet, and the Ethereum Foundation is running a 50-node strong cluster of Swarm nodes together with a public web gateway on https://swarm-gateways.net. We welcome everyone to try it out or commit to operate stable nodes.... [Read More]

Announcing World Trade Francs: The Official Ethereum Stablecoin

We have long recognized that in order for cryptocurrency to reach mass adoption, a form of cryptocurrency that has higher price stability than existing cryptocurrencies like BTC and ETH would be needed so that people can use the currency to store funds and engage in commerce without worrying about their monthly salary dropping by 57% between the time they receive it and the time they can use the money to buy products. Unfortunately, we’ve found that the existing stablecoins all have various... [Read More]

Geth 1.8 – Iceberg¹

After waaay too much time under development, we’re proud to finally announce version 1.8.0 of the Go Ethereum client: Iceberg! The release fixes a lot of pain points felt by the community and ships a few notable new features, tallying up to ~170 modifications! Please note, this release introduces a few breaking changes that may affect certain power users! If you are running a production setup, make sure you read the “Breaking changes” section at the end of this blog... [Read More]

Ethereum scalability research and development subsidy programs

The Ethereum community, key developers and researchers and others have always recognized scalability as perhaps the single most important key technical challenge that needs to be solved in order for blockchain applications to reach mass adoption. Blockchain scalability is difficult primarily because a typical blockchain design requires every node in the network to process every transaction, which limits the transaction processing capacity of the entire system to the capacity of a single node. There are two main paths to improving... [Read More]

Q4 Roundup

Ethereum has grown very rapidly in the last few months. Transaction volume on the blockchain has more than doubled, surpassing 10 transactions per second for days at a time. The number of new accounts created per day passed 100,000, and the number of nodes has increased despite rising system requirements. As attention and interest in the blockchain space as a whole continues to hit new highs, we are entering a new phase in the industry’s growth: the phase where we... [Read More]

Byzantium HF Announcement

The Ethereum network will be undergoing a planned hard fork at block number 4.37mil (4,370,000), which will likely occur between 12:00 UTC and 13:00 UTC on Monday, October 16, 2017. The Ropsten test network underwent a hard fork on September 19th (UTC) at block number 1.7mil (1,700,000). A countdown timer can be seen at https://fork.codetract.io/. As a user, what do I need to do? Download the latest version of your Ethereum client: Latest version of Ethereum Wallet/Mist. Latest geth client (v 1.7.2) Latest... [Read More]

Roundup #6

Metropolis is finally (almost) here! The fork for Byzantium, the first and larger part of Metropolis, succeeded on the testnet over two weeks ago, and the likely date for the fork on the mainnet has been set to block 4.37 million, which is expected to be on Oct 17. New features include opcodes such as REVERT and RETURNDATACOPY, as well as precompiles that can be used to support a wide array of cryptographic algorithms. At the same time, we have been... [Read More]

Geth 1.7 – Megara

The Go Ethereum team is proud to announce the next release family of Geth, the first incarnation focusing on laying the groundwork for the upcoming Metropolis hard forks (Byzantium and Constantinople), consisting of 125+ code contributions for various parts of the project. [Read More]

Roundup #5

Development has steadily continued over the last month and a half as we approach the launch of Metropolis. Over a series of core dev calls over the last few months, we have specified and finalized the EIPs for Metropolis, and made the appropriate changes to the Yellow Paper. Metropolis has now been split up into two consecutive forks, named “Byzantium” and “Constantinople”. EIPs for Byzantium (Metropolis part one) are essentially finalized, and the last remaining work to be done has... [Read More]

Roundup Q2

Thanks to all the developers and team leads who contributed to the sections on their projects In the last month and a half, the Ethereum network went through a rapid growth in usage, to the point that it now processes as many transactions per second as Bitcoin. To accommodate the increased load, which has on a few occasions reached the network’s full capacity for hours at a time, the community independently came together and miners voted to increase the gas... [Read More]

Roundup Round III

Over the last month and a half we saw vigorous ongoing research and development on all sides of the Ethereum roadmap, and progress is rapidly starting to translate into real results that can be run and verified inside of an Ethereum client. On Metropolis: Agendas for core dev meetings 15 and 16 here: https://github.com/ethereum/pm/issues/13 and https://github.com/ethereum/pm/issues/14 List of accepted EIPs here: https://github.com/ethereum/EIPs/blob/master/README.md (mostly agreed on, though we are still going back and forth on details such as gas costs) Most... [Read More]

Solidity optimizer bug

A bug in the Solidity optimizer was reported through the Ethereum Foundation Bounty program, by Christoph Jentzsch. This bug is patched as of 2017-05-03, with the release of Solidity 0.4.11. Background The bug in question concerned how the optimizer optimizes on constants in the byte code. By “byte code constants”, we mean anything which is PUSHed on the stack (not to be confused with Solidity constants). For example, if the value 0xfffffffffffffffffffffffffffffffffffffffffffffffe is PUSHed, then the optimizer can either do... [Read More]

Geth 1.6 – Puppeth Master

Cramming in a lot more goodies than originally anticipated, the Go Ethereum team is proud to finally deliver the first incarnation of the 1.6 Geth release series! Glimpsing through the commit list, this is going to be a monster post! Toml configuration files For a very long time now, people were requesting that we support configuration files to aid in switching between different public and pirate chains. We didn’t focus much on private networks, so we’ve always pointed people towards... [Read More]

Ethereum Dev Roundup: Q1 (Boring Edition)

The last one and a half months have seen great progress for Ethereum research, and we are excited that the protocol is moving closer and closer to the point where it is ready for mainstream adoption. Progress on consensus algorithms, privacy, zero knowledge proofs and formal verification is happening at increasing speed, and our research and development teams are expanding substantially. A large amount of progress has been made on Casper. You can find a few Medium posts describing the... [Read More]

Ethereum Dev Roundup: Q1

The last one and a half months have seen great progress for Ethereum research, and we are excited that the protocol is moving closer and closer to the point where it is ready for mainstream adoption. Progress on consensus algorithms, privacy, zero knowledge proofs and formal verification is happening at increasing speed, and our research and development teams are expanding substantially. After three years of trying to find solutions to the "nothing at stake" and "stake grinding" attacks, we have... [Read More]

Ethereum JS Ecosystem Updates

It’s been a fairly busy for the last couple of months for the Ethereum javascripters. To start with, there was a really great hackathon with IPFS. You can read Dan Finlay’s excellent write up here. Also, during this time Aaron Davis (Kumavis) made some excellent progress towards a JS light client by utilizing IPFS’s libp2p to build a in-browser mesh network and IPLD to provide the merklization layer. This will be important work in the future for building pure in-browser clients. Also Casey Detrio... [Read More]

Ethereum R&D Roundup: Valentine’s Day Edition

During the last month and a half, the Ethereum core development and research teams have been building upon the progress made in the last year, and with the specter of last year’s security issues now well behind us, work has begun in full force on implementing the Metropolis hard fork. First, ongoing progress on the collaboration with the Zcash team and the implementation of zk-SNARKs: The full series of "zk-SNARK explainer" posts from myself is now finished, see https://medium.com/@VitalikButerin/quadratic-arithmetic-programs-from-zero-to-hero-f6d558cea649, https://medium.com/@VitalikButerin/exploring-elliptic-curve-pairings-c73c1864e627 and https://medium.com/@VitalikButerin/zk-snarks-under-the-hood-b33151a013f6 An update... [Read More]

An Update on Integrating Zcash on Ethereum (ZoE)

Members of the Ethereum R&D team and the Zcash Company are collaborating on a research project addressing the combination of programmability and privacy in blockchains. This joint post is being concurrently posted on the Zcash blog, and is coauthored by Ariel Gabizon (Zcash) and Christian Reitwiessner (Ethereum). Ethereum’s flexible smart contract interface enables a large variety of applications, many of which have probably not yet been conceived. The possibilities grow considerably when adding the capacity for privacy. Imagine, for example, an... [Read More]

Introduction of the Light Client for DApp developers

The first version of the Light Ethereum Subprotocol (LES/1) and its implementation in Geth are still in an experimental stage, but they are expected to reach a more mature state in a few months where the basic functions will perform reliably. The light client has been designed to function more or less the same as a full client, but the “lightness” has some inherent limitations that DApp developers should understand and consider when designing their applications. In most cases a properly... [Read More]

December Roundup

December marks a month of continued progress in the Ethereum ecosystem. Research on proof of stake and sharding continues after the research team’s workshop in Singapore in November, the light client slowly keeps getting better, Whisper and Swarm keep moving forward, and discussions on protocol economics and community governance continue to mature. First, privacy technologies on Ethereum, and particularly zk-SNARKs (or “zero knowledge proofs”), have been rapidly moving forward. A blog post, "zk-SNARKs in a Nutshell", by Christian Reitwiessner A blog post... [Read More]

Swarm alpha public pilot and the basics of Swarm

With the long awaited geth 1.5 (“let there bee light”) release, Swarm made it into the official go-ethereum release as an experimental feature. The current version of the code is POC 0.2 RC5 – “embrace your daemons” (roadmap), which is the refactored and cleaner version of the codebase that was running on the Swarm toynet in the past months. The current release ships with the swarmcommand that launches a standalone Swarm daemon as separate process using your favourite IPC-compliant ethereum... [Read More]

The History of Casper – Chapter 2

This chapter describes the game theory and economic security modelling we were doing in the Fall of 2014. It recounts how the “bribing attacker model” led our research directly to a radical solution to the long range attack problem. Chapter 2: The Bribing Attacker, Economic Security, and the Long Range Attack Problem Vitalik and I had each been reasoning about incentives as part of our research before we ever met, so the proposition that “getting the incentives right” was crucial... [Read More]

The History of Casper — Chapter 1

Vitalik suggested last week that I share my basic research and design philosophy in a blog post, I agreed but complained that it was still changing. My friend Jon West told me that everyone would really appreciate it if I told everyone about my Casper research, I mostly agreed. Then someone on reddit told me to focus on Ethereum. So here’s the Casper tech story, given as a chronological history of the evolution of the key technology, ideas and language... [Read More]

zkSNARKs in a nutshell

The possibilities of zkSNARKs are impressive, you can verify the correctness of computations without having to execute them and you will not even learn what was executed - just that it was done correctly. Unfortunately, most explanations of zkSNARKs resort to hand-waving at some point and thus they remain something “magical”, suggesting that only the most enlightened actually understand how and why (and if?) they work. The reality is that zkSNARKs can be reduced to four simple techniques and this... [Read More]

Ethereum Research Update

This week marks the completion of our fourth hard fork, Spurious Dragon, and the subsequent state clearing process, the final steps in the two-hard-fork solution to the recent Ethereum denial of service attacks that slowed down the network in September and October. Gas limits are in the process of being increased to 4 million as the network returns to normal, and will be increased further as additional optimizations to clients are finished to allow quicker reading of state data. In the midst of... [Read More]

Hard Fork No. 4: Spurious Dragon

The Ethereum network will be undergoing a hard fork at block number 2,675,000, which will likely occur between 15:00 and 16:00 UTC on Tuesday, November 22, 2016. A countdown timer can be seen at https://fork.codetract.io/. The Morden test network will be undergoing a hard fork at block number 1,885,000. [Read More]

Whoa… Geth 1.5

The Go Ethereum team is very proud to finally release Geth 1.5, which can almost be called a complete internal rewrite of the Go Ethereum (go-ethereum) codebase. We’ve packed a huge number of changes into this release, and simply listing them wouldn’t do them justice. Instead, we’ve decided to write them up in a more informal way, explaining not only what’s new, but also why it’s needed, and why it’s awesome! Go Ethereum website The go-ethereum project never really had a website. There... [Read More]

Analysis of Storage Corruption Bug

This blog post provides an update on our findings following the discovery of the storage corruption bug last week. In summary, the bug was much less severe than we initially thought. The small number of affected contracts we found is either only exploitable by the owner, or the exploit can only cause a disruption in the user interface and not in the actual contract logic. All exploitable contracts/dapps we reviewed can be fixed without having to upgrade the contract itself. Of course, please still check... [Read More]

Uncle Rate and Transaction Fee Analysis

One of the important indicators of how much load the Ethereum blockchain can safely handle is how the uncle rate responds to the gas usage of a transaction. In all blockchains of the Satoshian proof-of-work variety, any block that is published has the risk of howbecoming a “stale”, ie. not being part of the main chain, because another miner published a competing block before the recently published block reached them, leading to a situation where there is a “race” between... [Read More]

Announcement of imminent hard fork for EIP150 gas cost changes

During the last couple of weeks, the Ethereum network has been the target of a sustained attack. The attacker(s) have been very crafty in locating vulnerabilities in the client implementations as well as the protocol specification. While the recent patches have led to an overall increased resiliency in the client implementations, the attacks have also demonstrated that a lower-level change to the EVM pricing model is needed. For many users, the most visible consequence is probably that they are having... [Read More]

Transaction spam attack: Next Steps

Today the network was attacked by a transaction spam attack that repeatedly called the EXTCODESIZE opcode (see trace sample here), thereby creating blocks that take up to ~20-60 seconds to validate due to the ~50,000 disk fetches needed to process the transaction. The result of this was a ~2-3x reduction in the rate of block creation while the attack was taking place; there was NO consensus failure (ie. network fork) and neither the network nor any client at any point... [Read More]

The Ethereum network is currently undergoing a DoS attack

URGENT ALL MINERS: The network is under attack. The attack is a computational DDoS, ie. miners and nodes need to spend a very long time processing some blocks. This is due to the EXTCODESIZE opcode, which has a fairly low gasprice but which requires nodes to read state information from disk; the attack transactions are calling this opcode roughly 50,000 times per block. The consequence of this is that the network is greatly slowing down, but there is NO consensus... [Read More]

Dev Update: Formal Methods

Today, I am delighted to announce that Yoichi Hirai (pirapira on github) is joining the Ethereum project as a formal verification engineer. He holds a PhD from the University of Tokyo on the topic of formalizing communicating parallel processes and created formal verification tools for Ethereum in his spare time. In his own words: I’m joining Ethereum as a formal verification engineer. My reasoning: formal verification makes sense as a profession only in a rare situation where the verification target... [Read More]

On Inflation, Transaction Fees and Cryptocurrency Monetary Policy

The primary expense that must be paid by a blockchain is that of security. The blockchain must pay miners or validators to economically participate in its consensus protocol, whether proof of work or proof of stake, and this inevitably incurs some cost. There are two ways to pay for this cost: inflation and transaction fees. Currently, Bitcoin and Ethereum, the two leading proof-of-work blockchains, both use high levels of inflation to pay for security; the Bitcoin community presently intends to... [Read More]

Onward from the Hard Fork

The foundation has committed to support the community consensus on the admittedly difficult hard fork decision. Seeing the results of various metrics, including carbonvote, dapp and ecosystem infrastructure adoption, this means that we will focus our resources and attention on the chain which is now called ETH (ie. the fork chain). That said, we recognize that the Ethereum code can be used to instantiate other blockchains with the same consensus rules, including testnets, consortium and private chains, clones and spinoffs,... [Read More]

Hive: How we strived for a clean fork

The DAO soft-fork attempt was difficult. Not only did it turn out that we underestimated the side effects on the consensus protocol (i.e. DoS vulnerability), but we also managed to introduce a data race into the rushed implementation that was a ticking time bomb. It was not ideal, and even though averted at the last instance, the fast approaching hard-fork deadline looked eerily bleak to say the least. We needed a new strategy… The stepping stone towards this was an idea borrowed from Google... [Read More]

Hard Fork Completed

We would like to congratulate the Ethereum community on a successfully completed hard fork. Block 1920000 contained the execution of an irregular state change which transferred ~12 million ETH from the “Dark DAO” and “Whitehat DAO” contracts into the WithdrawDAO recovery contract. The fork itself took place smoothly, with roughly 85% of miners mining on the fork: You can see ongoing fork progress here. EthStats shows Go, Java and Parity (Rust) nodes successfully synchronized to the fork chain. The recovery... [Read More]

To fork or not to fork

The DAO, though not a product developed by the Ethereum Foundation, has been a hot topic as of late, both internally in the organisation as well as within our community. The Hard Fork is a delicate topic and the way we see it, no decision is the right one. As this is not a decision that can be made by the foundation or any other single entity, we again turn towards the community to assess its wishes in order to provide the... [Read More]

How to build server less applications for Mist

Ethereum is not meant to be a platform to build esoteric smart contract applications that require a STEM degree to understand, but it aims to be one pillar of a different architecture for applications on the world wide web. With this post we will try to elucidate how this can be done and give some basic examples on how to start building a decentralized app. Who is this for? This text is intended at those who have a basic understanding... [Read More]

Taylor’s Summer Update

Hey everyone, I spent some time with our Canadian friends in Toronto after presenting “Ethereum: The World Computer” at Blockchain Training Conference last month and I wanted to provide a quick update on some of the exciting happenings in the Ethereum dev ecosystem. Lots of things are brewing behinds the scenes, so let’s jump in! [Read More]

C++ DEV Update – July edition

Since the last C++ DEV Update, a lot of things happened in the engine room which were not really visible to the outside. This post wants to give an overview about what we are currently working on. Apart from the features side, Bob has been working on a proposed process for re-licensing of the C++ runtime client code to Apache 2.0, as has been mentioned a few times in the past month or two. Expect more news on that very... [Read More]

DAO Wars: Your voice on the soft-fork dilemma

The last week was quite hectic for all of us in the Ethereum ecosystem. The DAO has shown us that it takes much more effort to write smart contracts than we originally anticipated; but also that it takes a surprising amount of debate to reach a consensus on issues of this scale. Everybody in our community was very vocal and forthcoming about how the problem should be fixed in his/her opinion, or whether there’s even a problem to fix in the first place.... [Read More]

CRITICAL UPDATE Re: DAO Vulnerability

An attack has been found and exploited in the DAO, and the attacker is currently in the process of draining the ether contained in the DAO into a child DAO. The attack is a recursive calling vulnerability, where an attacker called the “split” function, and then calls the split function recursively inside of the split, thereby collecting ether many times over in a single transaction. The leaked ether is in a child DAO at https://etherchain.org/account/0x304a554a310c7e546dfe434669c62820b7d83490; even if no action is... [Read More]

Go Ethereum’s JIT-EVM

The Ethereum Virtual machine is kind of different than most other Virtual Machines out there. In my previous post I already explained how it’s used and described some of its characteristics. The Ethereum Virtual Machine (EVM) is a simple but powerful, Turing complete 256bit Virtual Machine that allows anyone to execute arbitrary EVM Byte Code.</blockquote> The go-ethereum project contains two implementations of the EVM. A simple and straightforward byte-code VM and a more sophisticated JIT-VM. In this post I’m going to explain some of the differences... [Read More]

On Settlement Finality

Special thanks to Tim Swanson for reviewing, and for further discussions on the arguments in his original paper on settlement finality. Recently one of the major disputes in ongoing debate between public blockchain and permissioned blockchain proponents is the issue of settlement finality. One of the simple properties that a centralized system at least appears to have is a notion of “finality”: once an operation is completed, that operation is completed for good, and there is no way that the... [Read More]

C++ DEV Update: Announcing Remix

After almost three months into the “reboot” of the C++ team, I would like to give an update about the team itself, what we did and what we plan to do. Team update The so-called C++ team currently consists of Paweł Bylica (@chfast), Greg Colvin (@gcolvin), Liana Husikyan (@LianaHus), Dimitry Khokhlov (@winsvega), Yann Levreau (@yann300), Bob Summerwill (@bobsummerwill), me (@chriseth) and (kindly “donated” by Eris Industries) RJ (@VoR0220). Paweł is the original author of the llvm-based EVM-to-native just-in-time compiler, re-joined in... [Read More]

Ethereum Partners with R3CEV on Lizardcoin, Bringing Together the Best of Centralized Finance and Blockchain Technology

The Ethereum Foundation has announced that it will be working with the New York-based banking consortium R3CEV on creating a new blockchain-based cryptocurrency, Lizardcoin, which aims to showcase the benefits of blockchain technology as well as the consortium’s ability to bring the technology to institutional clients and the regulation-loving masses by supplementing it with a healthy dose of centralized control. Lizardcoin aims to be a direct competitor to Bitcoin as a store-of-value, beating out Bitcoin’s 21 million fixed supply cap... [Read More]

Solidity Available in Visual Studio

Consensys and Microsoft have announced that the Ethereum contract programming language Solidity will be available in Microsoft’s Visual Studio integrated development environment. ConsenSys and Microsoft collaborated on this integration to enable developers to rapidly build smart contract-based applications for the public Ethereum blockchain, as well as private and consortium blockchain deployments based on Ethereum. This integration is being revealed at //Build, Microsoft’s annual developer conference, in San Francisco on March 30th; Vitalik Buterin, Consensys CEO Joseph Lubin and Consensys Enterprise... [Read More]

An Open Source Mining Pool Bounty and DEVgrant

Ethereum’s present reliance on Proof of Work (PoW) mining is not ideal, and while we continue to work with gusto towards a Proof of Stake solution (PoS), we have to live with PoW as gracefully as possible (at least until the eventual switch!). Meanwhile, in the interest of overall network health, mining decentralization and diversity is a clear imperative: [caption id=”attachment_2623” align=”alignnone” width=”622”] Mining Pool Diversity from March 28 via https://etherchain.org/statistics/miners[/caption] Though there are some instances of open source Ethereum... [Read More]

Serenity PoC2

After an additional two months of work after the release of the first python proof of concept release of Serenity, I am pleased to announce that Serenity PoC2 is now available. Although the release continues to be far from a testnet-ready client, much less a production-ready one, PoC2 brings with it a number of important improvements. First and foremost, the goal of PoC2 was to implement the complete protocol, including the basic corner cases (slashing bets and deposits), so as... [Read More]

Homestead Release

Update: We’ve released version 1.3.5 including networking hotfix for homestead 1.3.4.  Development of Ethereum started in December 2013 when two developers and a college dropout researcher decided to put their heads together and develop this amazing piece of technology. We were later joined by many like-minded individuals. Our first Proof of Concept (PoC) came on February 1, 2014. By the time we started our crowdsale on July 23, we were up to PoC 5 with a protocol that was almost finished,... [Read More]

From Smart Contracts to Courts with not so Smart Judges

Ethereum is often described as a platform for self-enforcing smart contracts. While this is certainly true, this article argues that, especially when more complex systems are involved, it is rather a court with smart lawyers and a judge that is not so smart, or more formally, a judge with restricted computational resources. We will see later how this view can be leveraged to write very efficient smart contract systems, to the extent that cross-chain token transfers or computations like checking... [Read More]

BTC Relay included in Ethereum Bounty Program

Following hacking @ DEVCON1,  Martin Swende is Nr. 1 on the leaderboard of the Ethereum Bounty Program. The bounty program is ongoing and the last bounty awarded amounted to 5 BTC. The program is open to anyone. With BTC Relay getting ready for launch on Ethereum and its importance for many DApps, we want to highlight its ongoing security audit by including it in the Ethereum Bounty Program. BTC Relay is an Ethereum contract that implements Bitcoin SPV: https://en.bitcoin.it/wiki/Thin_Client_Security The... [Read More]

Ethereum DEV Update: C++ Roadmap

Although this is my first post in this blog, many people might already know me as the person behind Solidity. I recently took on the lead of the C++ team and would like to share my vision for the future development. Ethereum is a free software project that anyone is free to use and improve. From what we have seen at our conferences and meetups, there are so many people working on projects on top of Ethereum, but we only... [Read More]

Ambients Applied to Ethereum

Part I Sometimes Ethereum is compared to a singleton Virtual Machine.  While this is correct in some sense; I think it is a bit more. First of all what is a singleton in a distributed system? It is merely a set of values that some threshold of participants have come to consensus on.  A Virtual Machine is a computational environment that is isolated from the physical computer and from other environments. A hypervisor allows the physical machine to be multiplexed... [Read More]

Privacy on the Blockchain

Blockchains are a powerful technology, as regular readers of the blog already likely agree. They allow for a large number of interactions to be codified and carried out in a way that greatly increases reliability, removes business and political risks associated with the process being managed by a central entity, and reduces the need for trust. They create a platform on which applications from different companies and even of different types can run together, allowing for extremely efficient and seamless... [Read More]

Understanding Serenity, Part 2: Casper

Special thanks to Vlad Zamfir for introducing the idea of by-block consensus and convincing me of its merits, alongside many of the other core ideas of Casper, and to Vlad Zamfir and Greg Meredith for their continued work on the protocol In the last post in this series, we discussed one of the two flagship feature sets of Serenity: a heightened degree of abstraction that greatly increases the flexibility of the platform and takes a large step in moving Ethereum... [Read More]

Understanding Serenity, Part I: Abstraction

Special thanks to Gavin Wood for prompting my interest into abstraction improvements, and Martin Becze, Vlad Zamfir and Dominic Williams for ongoing discussions. For a long time we have been public about our plans to continue improving the Ethereum protocol over time and our long development roadmap, learning from our mistakes that we either did not have the opportunity to fix in time for 1.0 or only realized after the fact. However, the Ethereum protocol development cycle has started up... [Read More]

Ethereum in practice part 3: how to build your own transparent bank on the blockchain

This is the third and final post on a series on how to use the Ethereum Wallet to create your own autonomous organisations. On the first post we detailed how to create a token, and on the second we shown how to generate a digital democracy controlled by these tokens. Now we will do the full circle and create a token controlled by the Organisation! We are going to modify the token contract to allow it to be minted by... [Read More]

Ethereum in practice part 2: how to build a better democracy in under a 100 lines of code

This is a second post on a series on how to use the current Ethereum tools to build smart contracts without needing programming experience. Download the latest version of the Ethereum Wallet, read the first part and let’s have fun! Creating a token is fun, but what is the value of a token that doesn’t do anything new? We are now going to create a new contract that uses the tokens we just created. The contract will be a Democratic organization... [Read More]

Ethereum in practice part 1: how to build your own cryptocurrency without touching a line of code

A lot of things have happened in the past few weeks in the Ethereum ecosystem, so many that it might be hard for a casual observer to understand where we are and what’s available out there. So I would like to use my first post here to give you an overview of the tools we’ve built and how you can use them to build interesting things right now. But first a short introduction: I am Alex Van de Sande and... [Read More]

Applications of Security Deposits and Prediction Markets You Might Not Have Thought About

Special thanks to Vlad Zamfir for his work in developing many of the ideas behind prediction markets for content curation. For the past six years, people have been searching to try to find those elusive applications of blockchain technology that could finally break out into the mainstream. For cryptocurrency, the applications are largely already known - though it of course remains to be seen just how well it will be able to retain its advantages as traditional payment systems continue... [Read More]

Merkling in Ethereum

Merkle trees are a fundamental part of what makes blockchains tick. Although it is definitely theoretically possible to make a blockchain without Merkle trees, simply by creating giant block headers that directly contain every transaction, doing so poses large scalability challenges that arguably puts the ability to trustlessly use blockchains out of the reach of all but the most powerful computers in the long term. Thanks to Merkle trees, it is possible to build Ethereum nodes that run on all... [Read More]

Stateful Turing-Complete Policies

One of the major security challenges of the internet over the last twenty years has consistently been the rather simple problem of securing user accounts. Right now, users have accounts with hundreds of websites, and dozens of passwords, leading to large numbers of hacks as individual websites, often run by people not particularly skilled in the finer points of cryptography and internet security, find themselves exploited by increasingly clever hackers, and users frequently deal with the complexity of remembering hundreds... [Read More]

Ethereum Dev Update 2015 / Week 44

With DEVCON1 a mere week away, the teams are excited and preparing to share all the great tools and technology the ecosystem has to offer. There will be hundreds of developers and dozens of talks including Nick Szabo, Vitalik Buterin, and Marley Gray from Microsoft. Tickets are limited and we anticipate selling out, so if you haven’t already registered, head on over to https://devcon.ethereum.org to secure your spot now! cpp-ethereum TurboEthereum released 1.0.0 of the C++ tools. Work has been... [Read More]

Vitalik’s Research and Ecosystem Update

Over the last five days, myself, our executive director Ming Chan, and several others from the Ethereum team and Ethereum-based projects and businesses including Maker, String/Dfinity and Consensys have been visiting China and Hong Kong, where there have been a series of back-to-back conferences and events most notably including the Blockchain Workshop in Hong Kong on Oct 11-13 and the “First Global Blockchain Summit” in Shanghai organized by our friends at Wanxiang on Oct 15-16, while at the same time... [Read More]

Ethereum Dev Update 2015 / Week 41

In an effort to bring the community more information about the going-ons at Ethereum, we’re planning to release semi-weekly updates of project progress. I hope this provides some high-level information without having to live on GitHub ;) The Go and C++ teams have daily standups and are making regular progress along with several other improvements around the ecosystem. Concurrent with this, the teams are gearing up for DEVCON1, preparing talks and presentations along with finalizing more details in the coming weeks. If you... [Read More]

The Evolution of Ethereum

Many of you know that the Ethereum platform grew out of the realization that blockchains can go far beyond currency, together with a frustration with the limitations of previous projects. The core idea was simple: a blockchain with a built-in Turing-complete programming language, allowing users to build any kind of applications on top. Over time, the vision evolved and expanded. The blockchain remains a crucial centerpiece, but it is ultimately only part of a larger vision of “web 3.0” as... [Read More]

More uncle statistics

The following are some interesting results on the performance of different miners over the course of the first 280,000 blocks of the Ethereum blockchain. For this timespan I have collected the list of block and uncle coinbase addresses; raw data can be found here for blocks and here for uncles, and from this we can glean a lot of interesting information particularly about stale rates and how well-connected the different miners and pools are. First off, the scatter plot: What... [Read More]

Ethereum Wallet – Developer Preview

We are happy to announce our very first developer-preview of the Ethereum Wallet ÐApp. The point of this release is to gather feedback, squash bugs and, most importantly, get the code audited. Please note that this is a developer-preview and not the final release. We advise you to be extremely careful putting large amount of Ether in the wallet contracts. Using the wallet on the mainnet should only be done with small amounts!   As Steve Ballmer once said Developers!... [Read More]

On Slow and Fast Block Times

One of the largest sources of confusion in the question of blockchain security is the precise effect of the block time. If one blockchain has a block time of 10 minutes, and the other has an estimated block time of 17 seconds, then what exactly does that mean? What is the equivalent of six confirmations on the 10-minute blockchain on the 17-second blockchain? Is blockchain security simply a matter of time, is it a matter of blocks, or a combination... [Read More]

On Anti-Pre-Revelation Games

An increasing number of proposed applications on top of Ethereum rely on some kind of incentivized, multi-party data provision - whether voting, random number collection, or other use cases where getting information from multiple parties to increase decentralization is highly desirable, but also where there is a strong risk of collusion. A RANDAO can certainly provide random numbers with much higher cryptoeconomic security than simple block hashes - and certainly better than deterministic algorithms with publicly knowable seeds, but it... [Read More]

Olympic Rewards Announced

ETH DEV would like to thank everyone for their participation in the Olympic test network, which helped us greatly in stress testing, optimization, and finding bugs in the Ethereum clients, as well as determining what the limits of the current Ethereum system are. To that end, we are pleased to announce the Olympic reward recipients. On top of the rewards announced below, every miner who mined a block in the Olympic chain with block number in the range [310000, 589999]... [Read More]

An Analysis of the First 100000 Blocks

After a successful launch, Frontier passed it’s 100000th block earlier this week. Here are some interesting stats from these first blocks. The first 50 block times (in seconds): Right after genesis, it took 29 seconds for the second block to appear, then 31 and 29 seconds for the next couple of blocks. Not too surprising as the miners scrambled with their setups as the final genesis block became known. After these first blocks, we see the block time drop significantly... [Read More]

Chain Reorganisation Depth Expectations

This following shows our current and planned expectations concerning maximum likely chain-reorganisation depth. We would not consider transactions within this depth to have an exceptionally high chance of being permanent. These are our own expectations only and do not constitute any sort of guarantee. They are derived from theoretical considerations, ongoing empirical data, human factors in contingency planning and the past experience of our security team. As with all things in the peer-to-peer space the risk is entirely with the... [Read More]

On Public and Private Blockchains

Over the last year the concept of “private blockchains” has become very popular in the broader blockchain technology discussion. Essentially, instead of having a fully public and uncontrolled network and state machine secured by cryptoeconomics (eg. proof of work, proof of stake), it is also possible to create a system where access permissions are more tightly controlled, with rights to modify or even read the blockchain state restricted to a few users, while still maintaining many kinds of partial guarantees... [Read More]

Ethereum Protocol Update 1

Here comes the first Frontier patch, and this is a big one! Before you go further, if your keys date back from Go 1.0 rc or C++ 0.9.36, note that you should regenerate all of your keys NOW. Though some releases of the pre-alpha and alpha clients are secure, this depends on which codebase and which version. You should assume that all keys generated prior to these clients are insecure and compromised. This, note, does not affect the pre-sale wallets.... [Read More]

The Thawing Frontier

After a smooth launch, please find a few updates of note below. These probably will be of interest only to the more advanced users amongst you - if you’re not a miner, there is nothing to action. Epoch switch in 2 hours Let’s start with a quick heads up to miners, the network will be switching epoch in roughly 2 hours. If you are using the geth/ethminer combo, you should be all set if you have opted to use the... [Read More]

Introducing Casper “the Friendly Ghost”

Hi everyone – Vlad here. I’ve been working on the analysis and specification of  “proof-of-stake” blockchain architecture since September 2014. While Vitalik and I haven’t agreed on all of the details of the spec, we do have consensus on many properties of the proof-of-stake protocol that will likely be implemented for the Serenity release! It is called Casper “the friendly ghost” because it is an adaptation of some of the principles of the GHOST (Greedy Heaviest-Observed Sub-Tree) protocol for proof-of-work... [Read More]

Ethereum Launches

A few minutes ago, many of you generated and loaded the Ethereum Genesis block, marking the inception of Frontier, the first Live release of the Ethereum project. The Dev team joins me in thanking each and everyone of you for your support during the past year and half. It’s incredible to see the progress that has taken place since that humble first commit on Christmas Eve 2013. The vision of a censorship-proof ‘world computer’ that anyone can program, paying exclusively... [Read More]

A few last minute notes…

Genesis is roughly 4 hours away, here are a few last minute pointers for those preparing: All clients are functional on all platforms and build to completion: http://ethereum-buildboard.meteor.com/ Please note that it will take a little while (10-1000 blocks) before the network stabilises. This is a marathon, not a sprint. For this reason we will not make the Genesis block hash known until a solid consensus has been formed. We will not announce the –extradata immediately either - if we... [Read More]

Final Steps

An update as promised: all systems are now ‘Go’ on the technical side (pun intended) and we intend to release Frontier this week. Thank you to everyone who provided feedback on my previous blog post. What became apparent is that prior to the big day, many of you wanted to know more about what the sequence of events would exactly be, and how to prepare your machine for the release. A transparent and open release Frontier users will need to... [Read More]

How do you know Ethereum is secure?

As I’m writing this, I’m sitting in the London office and pondering how to give you a good overview about the work we’ve been doing to secure Ethereum’s protocols, clients and p2p-network. As you might remember, I joined the Ethereum team at the end of last year to manage the security audit. As spring has passed and summer arrived and meanwhile several audits finished, it’s now a good time for me to share some results from the inspection of the... [Read More]

On Abstraction

Special thanks to Gavin Wood, Vlad Zamfir, our security auditors and others for some of the thoughts that led to the conclusions described in this post One of Ethereum’s goals from the start, and arguably its entire raison d’être, is the high degree of abstraction that the platform offers. Rather than limiting users to a specific set of transaction types and applications, the platform allows anyone to create any kind of blockchain application by writing a script and uploading it... [Read More]

State Tree Pruning

One of the important issues that has been brought up over the course of the Olympic stress-net release is the large amount of data that clients are required to store; over little more than three months of operation, and particularly during the last month, the amount of data in each Ethereum client’s blockchain folder has ballooned to an impressive 10-40 gigabytes, depending on which client you are using and whether or not compression is enabled. Although it is important to... [Read More]

Ethereum messaging for the masses (including fathers) – via infographic

When I started evangelizing bitcoin and blockchain tech back in 2012 my Dad was a hard sell. There was the common skepticism and typical counters of “what’s backing it?”, “what can be done with it?” and “what the heck is cryptography?” Back then my pitch wasn’t refined and the learning tools had just not quite matured yet…but frankly, I think more of the reason he didn’t grasp it was that he just isn’t technical and doesn’t adopt early tech. I... [Read More]

Another Ethereum ÐΞV Update

Been a while, I know, but then these are rather busy days. I’m writing this from a Starbucks in Shanghai sitting behind the Great Firewall, able to peep out only occasionally. I’ve been in Asia with Marek for the last couple of weeks, mainly for meetups, workshops and technical meetings. During this time, we’ve seen the release, struggle and survival of the Olympic testnet, a very clear signal that a multi-client system would be far superior to the present monoculture.... [Read More]

The Problem of Censorship

One of the interesting problems in designing effective blockchain technologies is, how can we ensure that the systems remain censorship-proof? Although lots of work has been done in cryptoeconomics in order to ensure that blockchains continue pumping out new blocks, and particularly to prevent blocks from being reverted, substantially less attention has been put on the problem of ensuring that transactions that people want to put into the blockchain will actually get in, even if “the powers that be”, at... [Read More]

The Business Imperative Behind the Ethereum Vision

Special thanks to Vitalik Buterin, Gavin Wood and Jeffrey Wilcke for countless revisions feedback, picks at their brains, and helping me read their tea leaves. Introduction In the world of cryptography-based computer science, the Ethereum technology vision has captivated the imagination of a large number of software developers and technologists who saw its obvious promise. But those same promises and their business interpretations (and implications) have not widely reached, nor been well understood by non-technical audiences. As Ethereum nears coming out... [Read More]

Announcing eπ: Ethereum on Raspberry Pi Programme

As part of our drive to introduce Ethereum to the far corners of the world, not to mention demonstrate the potential for embedded blockchain technology (even without light-nodes) I’m happy to announce the roll-out of our “eπ” Ethereum-on-Raspberry Pi programme. As part of our programme, we’re offering a full-kit for placing a full Ethereum node on the internet to communities around the world. Included in the kit is a Raspberry Pi (version 2), power connector and SD card preloaded with... [Read More]

Olympic: Frontier Pre-Release

What began all the way back on midnight of February 1st 2014, is coming to a close: we are happy to announce the release of the ninth and last in the Ethereum Proof-of-Concept series. We invite the community to participate in the ongoing Proof-of-Concept IX testnet in our present release, Olympic, made available now. The purpose of Olympic is to reward people who try to test the limits of the Ethereum blockchain during the pre-release period, spamming the network with... [Read More]

The end of the beginning…

As part of our tiered release process, we will soon be beginning the final phase prior to our Frontier release. So far our ongoing Proof-of-Concept IX testnet has been running smoothly for around a month with dozens of nodes around the world, well over 200,000 blocks and including clients on several platforms and three different clean-room implementations. However, that’s not enough of a test for us. In a phase of the PoC-IX testnet called “Olympic”, the usage of this network... [Read More]

Visions, Part 2: The Problem of Trust

Special thanks to: Robert Sams, Gavin Wood, Mark Karpeles and countless cryptocurrency critics on online forums for helping to develop the thoughts behind this article If you were to ask the average cryptocurrency or blockchain enthusiast what the key single fundamental advantage of the technology is, there is a high chance that they will give you one particular predictable answer: it does not require trust. Unlike traditional (financial or other) systems, where you need to trust a particular entity to... [Read More]

Visions, Part 1: The Value of Blockchain Technology

One of the questions that has perhaps been central to my own research in blockchain technology is: ultimately, what is it even useful for? Why do we need blockchains for anything, what kinds of services should be run on blockchain-like architectures, and why specifically should services be run on blockchains instead of just living on plain old servers? Exactly how much value do blockchains provide: are they absolutely essential, or are they just nice to have? And, perhaps most importantly... [Read More]

Ethereum Builders: Tapping Into The Collaborative Potential

Hello, fellow Ethereans. I am Mihai Alisie, one of the Ethereum founders, and for the past year I’ve served as the vice president of the Ethereum Foundation and as director of Ethereum Switzerland. During the last few months I’ve been researching and testing a number of collaborative tools, constantly assessing the usefulness and applicability of each tool in the context of our community. Why? Because I think there is a lot of untapped potential in this community, and I think... [Read More]

Blockchain Scalability: Chain-Fibers Redux

History I came up with the first seed of this idea while chatting to Janislav Malahov in Berlin in Spring 2014. Unfortunately, the original article I wrote was lost along with my laptop when it was stolen in Vienna. After chatting over the principles with Vitalik more recently, we made a number of alterations and formalisations, mainly to the validation and the sub-state cutting mechanisms. What follows is a fairly complete illustration of one particular possible plan for block chain... [Read More]

Bazaar Services

I’m a great believer in judging the present through the knowledge of the past. In the past 25 or so years one of the biggest trends in business and technology was what might loosely be termed as the open source revolution. The notion of it being good business to share your source code might not yet be cemented into the eyes of many a traditionalist, however the idea of leveraging existing open source software is. We are swiftly getting to... [Read More]

Implementing Vitalik’s vision

Although the core concept was proven last summer when lead developers Vitalik Buterin, Gavin Wood, and Jeffrey Wilcke initiated the PoC (proof-of-concept) series in Python, C++, and Go, a lot of engineering effort has gone to solidifying these implementations. We’re all anxious to release a stable command line client and issues flagged in the external audit are being resolved when uncovered. As soon as this process is complete, a general release should be around the corner. In the meantime, the rest... [Read More]

Ethereum’s unexpected future direction

Ethereum has been preparing what we consider to be the most exciting digital alliance since IBM and Microsoft partnered so successfully on the IBM PC. We know that you’ve been anticipating great things from Ethereum and we are delighted to present you with this exciting and unexpected news. As you know, mining in Ethereum is best done on graphics cards. However, industrial scale buying of expensive graphics cards to mine re-creates the centralized mining cartels which are so much a... [Read More]

Ethereum Builders: A Proposed Experiment

Hello, fellow Ethereans. I am Mihai Alisie, one of the Ethereum founders, and for the past year I’ve served as the vice president of the Ethereum Foundation and as director of Ethereum Switzerland. In the early days of the project I concentrated my attention on the community side and worked on the holons idea for a distributed physical infrastructure. For the past few months I’ve been contemplating what the next project step(s) should be and how we can create favorable... [Read More]

Jutta’s update on bug bounty program and security audit

Hi, Jutta writing again – I initially introduced myself when we started the bounty program earlier this year and I’m happy to provide you with an update on what’s happening on the security side prior and throughout launch. We have had some high quality submissions by bounty hunters – kudos for the creative exploits sent along that the bugs made possible. The number of submissions recently rose. Hence we decided and are announcing that we will continue the bounty program... [Read More]

Mihai’s Ethereum Project Update. The First Year.

Into the ether Hello, fellow Ethereans. I am Mihai Alisie, one of the Ethereum founders, and for the past year I’ve served as the Vice President of the Ethereum Foundation and Director of Ethereum Switzerland. In the early days of the project I concentrated my attention on the community side and worked on the holons idea for a distributed physical infrastructure; however, the project needed someone in Switzerland, and I was more useful here focusing on other things. During the... [Read More]

Getting to the Frontier

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... [Read More]

The Ethereum Development Process

So I’m not sure if this kind of development methodology has ever been applied to such an extreme before so I figured I’d document it. In a nutshell, it’s sort of like test-driven triplet-programming development. While speed-developing our alpha codebase, four of us sat around a table in the office in Berlin. Three people (Vitalik, Jeff and me) each coders of their own clean-room implementation of the Ethereum protocol. The fourth was Christoph, our master of testing. Our target was... [Read More]

The Ethereum Launch Process

I’m Vinay Gupta, the newly minted release coordinator for Ethereum. I’ve been working with the comms team on strategy, and have now come aboard to help smooth the release process (some of the content in this blog is out of date, please see this link for the most up to date information on Ethereum). I’ll be about 50/50 on comms and on release coordination. A lot of that is going to be about keeping you updated on progress: new features, new... [Read More]

Gav’s Ethereum ÐΞV Update V

I was woken by Vitalik’s call at 5:55 this morning; pitch black outside, nighttime was still upon us. Nonetheless, it was time to leave and this week had best start on the right foot. The 25-minute walk in darkness from the Zug-based headquarters to the train station was wet. Streetlights reflecting off the puddles on the clean Swiss streets provided a picturesque, if quiet, march into town. I couldn’t help but think the rain running down my face was a... [Read More]

The Subjectivity / Exploitability Tradeoff

One of the issues inherent in many kinds of consensus architectures is that although they can be made to be robust against attackers or collusions up to a certain size, if an attacker gets large enough they are still, fundamentally, exploitable. If attackers in a proof of work system have less than 25% of mining power and everyone else is non-colluding and rational, then we can show that proof of work is secure; however, if an attacker is large enough... [Read More]

The P + epsilon Attack

Special thanks to Andrew Miller for coming up with this attack, and to Zack Hess, Vlad Zamfir and Paul Sztorc for discussion and responses One of the more interesting surprises in cryptoeconomics in recent weeks came from an attack on SchellingCoin conceived by Andrew Miller earlier this month. Although it has always been understood that SchellingCoin, and similar systems (including the more advanced Truthcoin consensus), rely on what is so far a new and untested cryptoeconomic security assumption - that... [Read More]

Superrationality and DAOs

Warning: this post contains crazy ideas. Myself describing a crazy idea should NOT be construed as implying that (i) I am certain that the idea is correct/viable, (ii) I have an even >50% probability estimate that the idea is correct/viable, or that (iii) “Ethereum” endorses any of this in any way. One of the common questions that many in the crypto 2.0 space have about the concept of decentralized autonomous organizations is a simple one: what are DAOs good for?... [Read More]

Light Clients and Proof of Stake

Special thanks to Vlad Zamfir and Jae Kwon for many of the ideas described in this post Aside from the primary debate around weak subjectivity, one of the important secondary arguments raised against proof of stake is the issue that proof of stake algorithms are much harder to make light-client friendly. Whereas proof of work algorithms involve the production of block headers which can be quickly verified, allowing a relatively small chain of headers to act as an implicit proof... [Read More]

Ethereum Community Survey

Back in November, we created a quick survey for the Ethereum community to help us gauge how we’re doing, what can be improved, and how best we can engage with you all as we move forward towards the genesis block release in March. We feel it’s very important to enable the community to interact with Ethereum as well as itself, and we hope to offer new and exciting tools to do so using the survey results for guidance. The survey itself... [Read More]

Jeff’s Ethereum ÐΞV Update II

First of all, happy new year! What a year it has been. With a little luck we’ll surpass last year with an even more awesome year. It’s been too long since I’ve given an update on my side of things and that of the Go team and mostly due to a lack of time. I’ve been so incredibly busy and so many things have happened these past 2 months I’ve hardly had time to sit down and assess it all. As you... [Read More]

On Silos

One of the criticisms that many people have made about the current direction of the cryptocurrency space is the increasing amount of fragmentation that we are seeing. What was earlier perhaps a more tightly bound community centered around developing the common infrastructure of Bitcoin is now increasingly a collection of “silos”, discrete projects all working on their own separate things. There are a number of developers and researchers who are either working for Ethereum or working on ideas as volunteers... [Read More]

Secret Sharing DAOs: The Other Crypto 2.0

The crypto 2.0 industry has been making strong progress in the past year developing blockchain technology, including the formalization and in some cases realization of proof of stake designs like Slasher and DPOS, various forms of scalable blockchain algorithms, blockchains using “leader-free consensus” mechanisms derived from traditional Byzantine fault tolerance theory, as well as economic ingredients like Schelling consensus schemes and stable currencies. All of these technologies remedy key deficiencies of the blockchain design with respect to centralized servers: scalability... [Read More]

A call to all the bug bounty hunters out there…

Hi, I’m Jutta! As some of you might have read in earlier posts, I’ve recently been busy setting up a security audit prior to the Ethereum genesis block release. Ethereum will launch following a world-class review by experts in IT security, cryptography and blockchain technology. Prior to the launch, we will also complete a bug bounty program - a major cornerstone of our approach to achieving security. The bug bounty program will rely on the Ethereum community and all other motivated bug bounty... [Read More]

Ethereum ÐΞV: What are we doing?

OK so a minor update about what we are (and are not) doing here at Ethereum DEV. We are, first and foremost, developing a robust quasi-Turing-complete blockchain. This is known as Ethereum. Aside from having quasi-Turing-completeness, it delivers on a number of other important considerations, stemming from the fact we are developing entirely new blockchain technology including: speedy, through a 12 second blocktime; light-client-friendly through the use of Merkle roots in headers for compact inclusion/state proofs and DHT integration to... [Read More]
Tags: dev ethereum

Gav’s Ethereum ÐΞV Update IV

Time for another update! So quite a bit has happened following ÐΞVcon-0, our internal developer’s conference. The conference itself was a great time to get all the developers together and really get to know each other, dissipate a lot of information (back to back presentations for 5 days!) and chat over a lot of ideas. The comms team will be releasing each of the presentations as fast as Ian can get them nicely polished. During the time since the last... [Read More]

From inside Ethereum ÐΞVhub Berlin

Yesterday was the first proper day of ÐΞVhub Berlin being open, following the first Ethereum internal developers’ symposium ÐΞVcon-0. I want to post a few images to let you gauge the mood here. Henning, Marek, Viktor and Felix hacking on the couch Aeron and Brian in discussion Alex and Jutta conferencing over network and security The rest of the team hacking in the lab [Read More]

Proof of Stake: How I Learned to Love Weak Subjectivity

Proof of stake continues to be one of the most controversial discussions in the cryptocurrency space. Although the idea has many undeniable benefits, including efficiency, a larger security margin and future-proof immunity to hardware centralization concerns, proof of stake algorithms tend to be substantially more complex than proof of work-based alternatives, and there is a large amount of skepticism that proof of stake can work at all, particularly with regard to the supposedly fundamental “nothing at stake” problem. As it... [Read More]

On Bitcoin Maximalism, and Currency and Platform Network Effects

One of the latest ideas that has come to recently achieve some prominence in parts of the Bitcoin community is the line of thinking that has been described by both myself and others as “Bitcoin dominance maximalism” or just “Bitcoin maximalism” for short - essentially, the idea that an environment of multiple competing cryptocurrencies is undesirable, that it is wrong to launch “yet another coin”, and that it is both righteous and inevitable that the Bitcoin currency comes to take... [Read More]

Gav’s Ethereum ÐΞV Update III

I’m Gavin Wood, a co-founder of Ethereum and, along with Vitalik Buterin and Jeffrey Wilcke, one of the three directors of the Eth Dev, the NFP organisation that is managing the development (under contract from Ethereum Suisse) of the Ethereum blockchain. This is a small update to let you all know what has been going on recently. I sit here on an immaculate couch that has been zapped forward in time from the 1960s. It is in the room that... [Read More]

Scalability, Part 3: On Metacoin History and Multichain

Special thanks to Vlad Zamfir for much of the thinking behind multi-chain cryptoeconomic paradigms First off, a history lesson. In October 2013, when I was visiting Israel as part of my trip around the Bitcoin world, I came to know the core teams behind the colored coins and Mastercoin projects. Once I properly understood Mastercoin and its potential, I was immediately drawn in by the sheer power of the protocol; however, I disliked the fact that the protocol was designed... [Read More]

The Search for a Stable Cryptocurrency

Special thanks to Robert Sams for the development of Seignorage Shares and insights regarding how to correctly value volatile coins in multi-currency systems Note: we are not planning on adding price stabilization to ether; our philosophy has always been to keep ether simple to minimize black-swan risks. Results of this research will likely go into either subcurrencies or independent blockchains One of the main problems with Bitcoin for ordinary users is that, while the network may be a great way... [Read More]

Ethereum Community and Adoption Update – Week 1

Hi, I’m Stephan Tual, and I’ve been responsible for Ethereum’s adoption and education since January as CCO. I’m also leading our UK ÐΞV hub, located at Co-Work in Putney (South West London). I feel really privileged to be able to lead the effort on the communication strategy at ÐΞV. For the very first time, we’re seeing the mainstream public take a genuine interest in the potential of decentralisation. The feeling of excitement about what ‘could be’ when I first read Vitalik’s whitepaper... [Read More]

Jeff’s Ethereum ÐΞV Update I

I thought it was about time I’d give an update on my side of things for those interested in knowing how we’re doing on the Dutch side. My name is Jeff, a founder of Ethereum and one of the three directors (alongside Vitalik and Gavin) of Ethereum ÐΞV, the development entity building Ethereum and all the associated tech. Over the past months I’ve been been looking for a suitable office space to host the Amsterdam Hub. Unfortunately it takes more work... [Read More]

Gav’s Ethereum ÐΞV Update II

Well… what a busy two weeks. I thought it about time to make another update for any of you who might be interested in how we’re doing. If you don’t already know, I’m Gavin, a founder of Ethereum and one of the three directors (alongside Vitalik and Jeffrey) of Ethereum ÐΞV, the development entity building Ethereum and all the associated technology. After doing some recruitment on behalf of DEV in Bucharest with the help of Mihai Alisie and the lovely... [Read More]

An Information-Theoretic Account of Secure Brainwallets

An important and controversial topic in the area of personal wallet security is the concept of “brainwallets” - storing funds using a private key generated from a password memorized entirely in one’s head. Theoretically, brainwallets have the potential to provide almost utopian guarantee of security for long-term savings: for as long as they are kept unused, they are not vulnerable to physical theft or hacks of any kind, and there is no way to even prove that you still remember... [Read More]

Scalability, Part 2: Hypercubes

Special thanks to Vlad Zamfir, Chris Barnett and Dominic Williams for ideas and inspiration In a recent blog post I outlined some partial solutions to scalability, all of which fit into the umbrella of Ethereum 1.0 as it stands. Specialized micropayment protocols such as channels and probabilistic payment systems could be used to make small payments, using the blockchain either only for eventual settlement, or only probabilistically. For some computation-heavy applications, computation can be done by one party by default,... [Read More]

Gav’s ÐΞV Update I: Where Ethereum’s at

Who are you? I’m Gav - together with Jeffrey Wilcke and Vitalik Buterin, I’m one third of the ultimate leadership of Ethereum ÐΞV. ÐΞV is a UK software firm that is under a non-profit-making agreement with the Ethereum Foundation to create version 1.0 of the Web Three software stack. We three directors—who are ultimately responsible that the software is built and works—are the same three developers who designed and implemented the first working versions of the Ethereum clients. ÐΞV is... [Read More]

Slasher Ghost, and Other Developments in Proof of Stake

Special thanks to Vlad Zamfir and Zack Hess for ongoing research and discussions on proof-of-stake algorithms and their own input into Slasher-like proposals One of the hardest problems in cryptocurrency development is that of devising effective consensus algorithms. Certainly, relatively passable default options exist. At the very least it is possible to rely on a Bitcoin-like proof of work algorithm based on either a randomly-generated circuit approach targeted for specialized-hardware resitance, or failing that simple SHA3, and our existing GHOST... [Read More]

Scalability, Part 1: Building on Top

Over the next few weeks, I am going to make a series of posts that is going to be a large overview of the possibilities for scalability of Ethereum, intending to create a precise understanding of the problems at bay in implementing a scalable cryptocurrency infrastructure, and where the least-bad tradeoffs and sacrifices required to solve those problems might lie. As a general outline of the form that this series is going to take, I intend to first discuss the... [Read More]

crypto renaissance

“The best way to predict the future is to invent it.” Alan Kay</blockquote> January 3rd 2009 marked the beginning of a new era. The invention of the blockchain is a milestone in technology – the string of characters 36PrZ1KHYMpqSyAQXSG8VwbUiq2EogxLo2 being just one of the side effects triggered by it. Thanks to you and this technology, more than thirty one thousand bitcoins will go towards spawning an entire new digital realm. The unfettered peer to peer world wide digital finance grid is... [Read More]

Software and Bounded Rationality

One of the key properties that is usually sought for in a cryptoeconomic algorithm, whether a blockchain consensus algorithm such a proof of work or proof of stake, a reputation system or a trading process for something like data transmission or file storage, is the ideal of incentive-compatibility - the idea that it should be in everyone’s economic interest to honestly follow the protocol. The key underlying assumption in this goal is the idea that people (or more precisely in... [Read More]

State of Ethereum: August Edition

Development of Ethereum has been progressing increasingly quickly this past month. The release of PoC5 (“proof of concept five”) last month the day before the sale marked an important event for the project, as for the first time we had two clients, one written in C++ and one in Go, perfectly interoperating with each other and processing the same blockchain. Two weeks later, the Python client was also added to the list, and now a Java version is also almost... [Read More]

An Introduction to Futarchy

One of the more interesting long-term practical benefits of the technology and concept behind decentralized autonomous organizations is that DAOs allow us to very quickly prototype and experiment with an aspect of our social interactions that is so far arguably falling behind our rapid advancements in information and social technology elsewhere: organizational governance. Although our modern communications technology is drastically augmenting individuals’ naturally limited ability to both interact and gather and process information, the governance processes we have today are... [Read More]

building the decentralized web 3.0

how ethereum could shard the web Given the state of our 25-year old web and all the problems inherited from legacy 1970’s systems design, we should pause and take inventory of those components which are fundamentally broken and would offer a substantial return on development investment. Intersecting this concern with security, privacy, and censorship resistance, it should be painfully obvious that an all-out attack on Internet infrastructure is already underway. As netizens, a shared duty falls on us to explore,... [Read More]

Secret Sharing and Erasure Coding: A Guide for the Aspiring Dropbox Decentralizer

One of the more exciting applications of decentralized computing that have aroused a considerable amount of interest in the past year is the concept of an incentivized decentralized online file storage system. Currently, if you want your files or data securely backed up “in the cloud”, you have three choices - (1) upload them to your own servers, (2) use a centralized service like Google Drive or Dropbox or (3) use an existing decentralized file system like Freenet. These approaches... [Read More]

Announcement on planned withdrawal from exodus

Now that the first two weeks of the ether sale are over, and over 50 million ETH has been sold, we intend to soon make a transaction to begin using the funds to repay loans and kickstart the process of setting up our development hubs and expanding our staff. We have made a commitment to be highly transparent about how we spend the funds, and that is a commitment that we intend to live up to; to that end, we... [Read More]

Ethereum and Oracles

One of the more popular proposals for implementing smart contracts differently from the way they are typically presented in Ethereum is through the concept of oracles. Essentially, instead of a long-running contract being run directly on the blockchain, all funds that are intended to go into the contract would instead go into an M-of-N multisig address controlled by a set of specialized entities called “oracles”, and the contract code would be simultaneously sent to all of these entities. Every time... [Read More]

the ethereum project: learning to dream with open minds

“And those who were seen dancing were thought to be insane by those who could not hear the music.” Friedrich Nietzsche</blockquote> Ethereum as a project is more than just a technology, even if technology is at its core. In the rush of creating, co-creating and debugging everything you sometimes lose sight of the bigger picture. You need stop for a second, take a step back and observe in order to fully appreciate what’s going on. The project started as an... [Read More]

Toward a 12-second Block Time

One of the annoyances of the blockchain as a decentralized platform is the sheer length of delay before a transaction gets finalized. One confirmation in the Bitcoin network takes ten minutes on average, but in reality due to statistical effects when one sends a transaction one can only expect a confirmation within ten minutes 63.2% of the time; 36.8% of the time it will take longer than ten minutes, 13.5% of the time longer than twenty minutes and 0.25% of... [Read More]

On Stake

The topic of mining centralization has been a very important one over the past few weeks. GHASH.io, the Bitcoin network’s largest mining pool, has for the past month directed over 40% of the Bitcoin network’s hashpower, and two weeks ago briefly spiked over 50%, theoretically giving it monopoly control over the Bitcoin network. Although miners quidkly left the pool and reduced its hashpower to 35%, it’s clear that the problem is not solved. At the same time, ASICs threaten to... [Read More]

Advanced Contract Programming Example: SchellingCoin

Writing effective decentralized applications in Ethereum is at the same time easy and hard. The easy part we all know: rather than needing to create your own blockchain, manage complicated database code, deal with networking and NAT traversal, or any of the other complexities involving writing a peer-to-peer app from scratch, you can write code in a simple, high-level programming language like Serpent or Mutan (or LLL if you prefer mucking around a bit lower-level), with the simplicity of a... [Read More]

On Mining

Decentralization, n. The security assumption that a nineteen year old in Hangzhou and someone who is maybe in the UK, and maybe not, have not yet decided to collude with each other. There has been a large amount of ruckus in the past week about the issue of mining centralization in the Bitcoin network. We saw a single mining pool, GHash.io, amass over 45% hashpower for many hours, and at one point even grow to become 51% of the entire... [Read More]

Ethereum Project Update

Development of the Ethereum project has gone very well over the months since inception.  The core activity — development of the software platform — is on track and many developers around the world are starting to build small, exploratory distributed applications on the platform, even though we are still not yet in alpha release. The 5th installment of the proof of concept series will be released soon, though many community members download the developing source code, compile it and use... [Read More]

What If Ethereum Lived on a Treap? Or, Blockchains Charging Rent

Although truly solving blockchain scalability fundamentally, that is to say figuring out a solution to the problem that every node must process every transaction, is a very hard problem, and all suggested solutions rely on either highly advanced cryptography or intricate multi-blockchain architectures, partial solutions that provide a constant-factor improvement over the way Bitcoin does things are actually quite easy to find. In Ethereum, for example, we have the concept of a separate state tree and transaction history, allowing miners... [Read More]

On Long-Term Cryptocurrency Distribution Models

One of the challenges when creating a new cryptocurrency is figuring out what the distribution model is going to be. Who is going to receive the currency units, at what time, and what is the mechanism that decides? Despite the crucial importance of this question, there has actually been comparatively little thought into the issue compared with other aspects of currency, like consensus algorithms and feature sets. The question is particularly challenging because, just like many other problems in the... [Read More]

Long-Range Attacks: The Serious Problem With Adaptive Proof of Work

Our current proof of work design, blockchain-based proof of work, is the second iteration of our attempt to create a mining algorithm that is guaranteed to remain CPU-friendly and resistant to optimization by specialized hardware (ASICs) in the long term. Our first attempt, Dagger, tried to take the idea of memory-hard algorithms like Scrypt one step further by creating an algorithm which is memory-hard to compute, but memory-easy to verify, using directed acyclic graphs (basically, trees where each node has... [Read More]

The Xbox and Ethereum’s Dual Mandate

The Necessity to Build and Launch an Ecosystem on Genesis Day Imagine if Microsoft released the Xbox and there were no games. On the day on which the Ethereum genesis block is created, many of the elements of the ecosystem — core infrastructure, mining network, user app browser and applications — will be in place.  Granted there will be an enormous amount of development to do beyond the genesis to craft Ethereum into a sophisticated, decentralized consensus (decentcon) application platform.... [Read More]

What is Ethereum? Project, Platform, Fuel, Stack.

What is Ethereum, the Project? The Ethereum Project is an open source, community-driven effort designed to create a next-generation distributed application platform intended to be maximally flexible and powerful in the possibilities that it enables. What is Ethereum, the Platform? The Ethereum Platform combines a generalized peer-to-peer networking platform with next-generation blockchain architecture to deliver a decentralized consensus-based (decentcon), full-stack platform for developing, offering and using distributed application services.  A consumer-facing application, called the EtherBrowser, integrates the front and back... [Read More]

DAOs, DACs, DAs and More: An Incomplete Terminology Guide

One of the most popular topics in the digital consensus space (a new term for cryptocurrency 2.0 that I’m beta-testing) is the concept of decentralized autonomous entities. There are now a number of groups rapidly getting involved in the space, including Bitshares (also known as Invictus Innovations) developing “decentralized autonomous companies”, BitAngels’ David Johnston with decentralized applications, our own concept of decentralized autonomous corporations which has since transformed into the much more general and not necessarily financial “decentralized autonomous organizations”... [Read More]

Serpent upgrades: More Fun Stuff

Over the past two weeks our primary focus has been getting all of the clients updated to PoC5 compatibility, and it definitely has been a long road. Among the changes to the VM include: The new init/code mechanism: basically, when you create a contract, the code provided will execute immediately, and then the return value of that code will be what becomes the contract’s code. This allows us to have contract initialization code, but still keep to the same format... [Read More]

Decentralized Protocol Monetization and Forks

The idea of releasing a new currency as a mechanism for funding protocol development is perhaps one of the most interesting economic innovations to come out of the cryptocurrency space. In the past twenty years, we have seen a growing centralization in the protocols that underlie the internet, with the rise of proprietary chat systems and social networks like Facebook, and a large part of the reason for this trend has been the need for monetization; if Facebook was cryptographically... [Read More]

The Issuance Model in Ethereum

Ether (ETH), the cryptofuel that powers distributed applications on the Ethereum platform, will be issued at a constant annual linear rate via the block mining process. This rate is 0.3 times the total amount of ETH that will be purchased in the pre-sale. While the best metaphor for ETH is “fuel for running the contract processing engine,” for the purposes of this post, we will treat ETH purely as a currency. There are two common definitions of “inflation.”  The first... [Read More]

Pyethereum and Serpent Programming Guide

The content of this tutorial is intended to apply to PoC5. Most of the instructions given below will not work in the older PoC4 implementations of AlethZero (C++) and Ethereal (Go) Over the last few weeks, we have made a large number of changes to the Ethereum protocol. POC4, introducing a large body of changes made by Gavin Wood and myself, was announced as an informal description two weeks ago, and has been formally specified in Gavin Wood’s “yellow paper”... [Read More]

SchellingCoin: A Minimal-Trust Universal Data Feed

One of the main applications of Ethereum that people have been interested in is financial contracts and derivatives. Although financial derivatives have acquired a reputation as a highly risky and destabilizing device with the sole function of enriching speculators, the underlying concept in fact has a number of legitimate uses, some of which actually help people protect themselves against the volatility of financial markets. The main idea here is called “hedging”, and is best explained in the context of Bitcoin,... [Read More]

The Latest EVM: “Ethereum Is A Trust-Free Closure System”

In the past two weeks our lead C++ developer, Gavin Wood, and myself have been spending a lot of time meeting the local Ethereum community in San Francisco and Silicon Valley. We were very excited to see such a large amount of interest in our project, and the fact that after only two months we have a meetup group that comes together every week, just like the Bitcoin meetup, with over thirty people attending each time. People in the community... [Read More]

The Question of Mining

There are a lot of interesting changes to the Ethereum protocol that are in the works, which will hopefully improve the power of the system, add further features such as light-client friendliness and a higher degree of extensibility, and make Ethereum contracts easier to code. Theoretically, none of these changes are necessary; the Ethereum protocol is fine as it stands today, and can theoretically be released as is once the clients are further built up somewhat; rather, the changes are... [Read More]

DAOs Are Not Scary, Part 2: Reducing Barriers

In the last installment of this series, we talked about what “smart contracts” (or, perhaps more accurately, “self-enforcing contracts”) are, and discussed in detail the two main mechanisms through which these contracts can have “force”: smart property and “factum” currencies. We also discussed the limits of smart contracts, and how a smart contract-enabled legal system might use a combination of human judgement and automatic execution to achieve the best possible outcomes. But what is the point of these contracts? Why... [Read More]

DAOs Are Not Scary, Part 1: Self-Enforcing Contracts And Factum Law

Many of the concepts that we promote over in Ethereum land may seem incredibly futuristic, and perhaps even frightening, at times. We talk about so-called “smart contracts” that execute themselves without any need, or any opportunity, for human intervention or involvement, people forming Skynet-like “decentralized autonomous organizations” that live entirely on the cloud and yet control powerful financial resources and can incentivize people to do very real things in the physical world, decentralized “math-based law”, and a seemingly utopian quest... [Read More]

Ethereum Scalability and Decentralization Updates

Scalability is now at the forefront of the technical discussion in the cryptocurrency scene. The Bitcoin blockchain is currently over 12 GB in size, requiring a period of several days for a new bitcoind node to fully synchronize, the UTXO set that must be stored in RAM is approaching 500 MB, and continued software improvements in the source code are simply not enough to alleviate the trend. With every passing year, it becomes more and more difficult for an ordinary... [Read More]

Why Not Just Use X? An Instructive Example from Bitcoin

Bitcoin developer Gregory Maxwell writes the following on Reddit: There is a design flaw in the Bitcoin protocol where its possible for a third party to take a valid transaction of yours and mutate it in a way which leaves it valid and functionally identical but with a different transaction ID. This greatly complicates writing correct wallet software, and it can be used abusively to invalidate long chains of unconfirmed transactions that depend on the non-mutant transaction (since transactions refer... [Read More]

Cryptographic Code Obfuscation: Decentralized Autonomous Organizations Are About to Take a Huge Leap Forward

There have been a number of very interesting developments in cryptography in the past few years. Satoshi’s blockchain notwithstanding, perhaps the first major breakthrough after blinding and zero-knowledge proofs is fully homomorphic encryption, a technology which allows you to upload your data onto a server in an encrypted form so that the server can then perform calculations on it and send you back the results all without having any idea what the data is. In 2013, we saw the beginnings... [Read More]

More Thoughts on Scripting and Future-Compatibility

My previous post introducing Ethereum Script 2.0 was met with a number of responses, some highly supportive, others suggesting that we switch to their own preferred stack-based / assembly-based / functional paradigm, and offering various specific criticisms that we are looking hard at. Perhaps the strongest criticism this time came from Sergio Damian Lerner, Bitcoin security researcher, developer of QixCoin and to whom we are grateful for his analysis of Dagger. Sergio particularly criticizes two aspects of the change: the... [Read More]

Introducing Ethereum Script 2.0

This post will provide the groundwork for a major rework of the Ethereum scripting language, which will substantially modify the way ES works although still keeping many of the core components working in the exact same way. The rework is necessary as a result of multiple concerns which have been raised about the way the language is currently designed, primarily in the areas of simplicity, optimization, efficiency and future-compatibility, although it does also have some side-benefits such as improved function... [Read More]

On Transaction Fees, And The Fallacy of Market-Based Solutions

Of all the parts of the Ethereum protocol, aside from the mining function the fee structure is perhaps the least set in stone. The current values, with one crypto operation taking 20 base fees, a new transaction taking 100 base fees, etc, are little more than semi-educated guesses, and harder data on exactly how much computational power a database read, an arithmetic operation and a hash actually take will certainly give us much better estimates on what exactly the ratios... [Read More]

Conference, Alpha Testnet and Ether Pre-sale Updates

Important notice: any information from this post regarding the ether sale is highly outdated and probably inaccurate. Please only consult the latest blog posts and official materials at ethereum.org for information on the sale Ethereum received an incredible response at the Miami Bitcoin Conference. We traveled there anticipating many technical questions as well as a philosophical discussion about the purpose of Ethereum; however, the overwhelming amount of interest and enthusiasm for the project was much larger than we had anticipated.... [Read More]

Ethereum: Now Going Public

I first wrote the initial draft of the Ethereum whitepaper on a cold day in San Francisco in November, as a culmination of months of thought and often frustrating work into an area that we have come to call “cryptocurrency 2.0″ – in short, using the Bitcoin blockchain for more than just money. In the months leading up to the development of Ethereum, I had the privilege to work closely with several projects attempting to implement colored coins, smart property,... [Read More]

Slasher: A Punitive Proof-of-Stake Algorithm

The purpose of this post is not to say that Ethereum will be using Slasher in place of Dagger as its main mining function. Rather, Slasher is a useful construct to have in our war chest in case proof of stake mining becomes substantially more popular or a compelling reason is provided to switch. Slasher may also benefit other cryptocurrencies that wish to exist independently of Ethereum. Special thanks to tacotime for some inspiration, and for Jack Walker for improvement... [Read More]

Bootstrapping a Decentralized Autonomous Corporation, Part 3: Identity Corp

In the first two parts of this series, we talked about what the basic workings of a decentralized autonomous corporation might look like, and what kinds of challenges it might need to deal with to be effective. However, there is still one question that we have not answered: what might such corporations be useful for? Bitcoin developer Jeff Garzik once suggested that one application migh be a sort of decentralized Dropbox, where users can upload their files to a resilient... [Read More]

Bootstrapping An Autonomous Decentralized Corporation, Part 2: Interacting With the World

In the first part of this series, we talked about how the internet allows us to create decentralized corporations, automatons that exist entirely as decentralized networks over the internet, carrying out the computations that keep them “alive” over thousands of servers. As it turns out, these networks can even maintain a Bitcoin balance, and send and receive transactions. These two capacities: the capacity to think, and the capacity to maintain capital, are in theory all that an economic agent needs... [Read More]

Bootstrapping A Decentralized Autonomous Corporation: Part I

Corporations, US presidential candidate Mitt Romney reminds us, are people. Whether or not you agree with the conclusions that his partisans draw from that claim, the statement certainly carries a large amount of truth. What is a corporation, after all, but a certain group of people working together under a set of specific rules? When a corporation owns property, what that really means is that there is a legal contract stating that the property can only be used for certain... [Read More]