“The fundamental issue is that the “attack” was technically permitted under the terms of the DAO’s code. It was not a “hack” of that code. If the “code is law” then the result should stand – the members contributed on the basis of the DAO’s code and should remain subject to it, even if it produced this unexpected result. The alternative approach is to orchestrate a “fork” (which is what happens when a blockchain is itself changed) in the Ethereum blockchain to remedy the attack. This would contradict the “code is law” thinking but would arguably be more in line with what would happen in a collective investment arrangement which was not solely governed by software. It is not clear what will happen next, the complexity is increased by there being no centralised resolution framework – this was designed to be a decentralised structure. Whatever does happen next, it is a blow for confidence in smart contracts which are designed for full automation. Trusting the machine to do everything did not work out so well.
But it does not have to end this way. If the framework allowed for human intervention when needed then the incident could have been easily fixed. There should be a smart contract solution which takes the best of computational code and human discretion. We believe that a “Digital” strand has to be blended with an “Analogue” strand – computer with human, to produce a single “truly smart” contract which has the best of both worlds. We refer to this architecture which combines these two strands as “DnA”. (…)
Take the concept of good faith for example. Trying to explain this to a group of transistors so that it can be computationally executed is currently science fiction (without the use of an enormous amount of code or computing power). Another example is default. Although the loss which is caused by someone’s default might be calculable without using human judgment in some cases, the choice to exercise rights against a defaulter is not. It is based on many factors including other relationships, other assets and other transactions. Quite often the decision whether to enforce against someone in default is a highly nuanced decision, an “art” rather than a “science”. An attempt to codify that decision would only deprive the parties of a valuable right to choose what to do, as well as potentially drain an enormous amount of computer resources. It is just not efficient to try to turn a whole contract into computer code, unless it is truly very simple. And financial markets contracts are not very simple. So if a financial markets contract wants to be “truly smart” then it needs human judgment as well as computer automation. ”
via King & Wood Mallesons – excellent article. http://ow.ly/FcNY301XJQ7