A huge digital heist is a reminder that when your code has direct control of millions of dollars of assets, it had better be free of errors.
All software comes with bugs. And money is sometimes stolen via digital means from conventional financial institutions, for example in the recent attacks on the SWIFT system used for cross-border transfers.
But when software is empowered to directly control funds, as Ethereum was designed to allow, security becomes more critical.
Unfortunately, the designers of Ethereum and the DAO don’t appear to have drawn much on standard techniques that programmers and computer scientists have developed to contain the risk of security flaws. The DAO’s code wasn’t accompanied with documentation explaining the design of its various pieces, for example. That could have helped someone spot and fix the flaw used in the DAO heist sooner, perhaps before it was released.
There were many warnings that Ethereum’s design had security problems before today’s hack. The flaw used against the DAO was flagged earlier this month by Peter Vessenes, a Bitcoin entrepreneur who had previously cautioned that software built on Ethereum would be “candy for hackers.”
In a 2014 paper, researchers at University of Maryland who had asked students to build things with Ethereum concluded that “several subtle details about Ethereum’s implementation make smart contract programming prone to error.”
And in May, Sirer and two people active in the cryptocurrency community, including a researcher with the Ethereum project, called for the DAO to be effectively frozen until security flaws in its voting mechanisms were fixed.
A real fix for Ethereum’s problems will take a long time, and perhaps a complete redesign of much of its technology.
Cinglant article de la MIT Technology Review.