We want to believe. The image of a noob going around randomly pressing buttons and suddenly crashing the whole thing down is hilarious, even though 500,000 eth is no laughing matter.
But the story is endearing. A curious new developer just learning stuff through trial and error hands on experience to see what things do, suddenly burns $150 million dollars.
We’ve all been there, although perhaps not at this scale. Accidentally deleting a file, or some line of code, perhaps even a comma, and the whole thing stops working.
One wonders if the person wasn’t a noob whether this kill switch would have been found. It is all open source after all. Hundreds, if not thousands, of developers may have looked at the code and thought it perfectly good.
Nothing like some innocent noob eyes, untainted by assumptions of experience, to provide quite a different view on that code.
Now, many will argue it was sloppy, or rubbish code, or the coders are incompetent. Yet none of them did so before the noob. In fact, just months ago they were praising Parity as the best client.
It did, after all, keep the ethereum network running last year while Geth was chocked due to a DDoS attack. The community forked to clear up all the DDoS bloat.
Parity does synchronize quicker. And overall, until recently, it was seen as somewhat superior and better. But you hand it over to a noob and it’s torn to pieces.
It is under these conditions that public blockchains have to operate. There are no back offices, or no-go areas, or only authorized personnel, or children keep out signs.
Instead everything is public, and even cats can mess around if they suddenly happened to walk on a laptop randomly typing stuff that happens to be some commands which can kill a smart contract.
The noob in question says he is not malicious and does not even know how to code, by which presumably he means smart contracts. There may be reasons to doubt it, but we’ll take the court’s approach of assuming he is telling the truth until proven otherwise.
Not least because we want to believe the story. The innocent boy, engaging in a very worthy endeavor of increasing his knowledge, through the best means as far as code is concerned – trying things out to see what they do – and accidentally happens to crash the whole thing down.
It’s not his fault, but can Parity really be faulted? Who can throw the first stone when none of them found the vulnerability before the noob?
The blame, in our view, lies in the nature of public blockchains and the fact this industry is still very young. In a way, at this stage, we are all the noob.
Going around, trying stuff, seeing what works and what doesn’t, in the process gaining knowledge and experience, thus accordingly refining systems, until eventually it all becomes very robust.
It isn’t something that applies to just this space. We keep hearing of websites being hacked, hundreds of millions of personal data being stolen, and so on. Even in far more tragic circumstances, airplanes do still crash.
We can never expect absolute perfection. Not in this life. But nor should we shy away from the challenges because without failure there is no learning. Without trial and error, there is no experience, and thus no knowledge.
Which is why the noob, devops199, is in many ways the embodiment of this space. We are all noobs in the grand scheme of things.