The DAO of ETHEREUM: Analyzing the DAO hack, the Blockchain, Smart contracts, and the Law

AAEAAQAAAAAAAAi2AAAAJDY4NGY2YzA5LTBjNDMtNGI0Zi04MjdhLWQ5NjIyMTIyNzE3Mw

 

They say it’s lonely at the top, in whatever you do
You always gotta watch motherfuckers around you
Nobody’s invincible, no plan is foolproof
We all must meet our moment of truth–Gangstar, Moment of Truth

As the title suggests, this is my attempt, or practical observation, of the current DAO situation, Ethereum, and what it means to be an to be an entrepreneur in the wider blockchain innovation space.

It came to mind, in the current debacle that’s happening, that many lessons can be learned, and that these lessons; no matter how hard they are for Slock.IT, Ethereum, and the wider blockchain ecosystem:

That in a strange way, this drama is the best thing that could happen for us all.

I’m saying this as a Miner, DAO token and Ether holder– and someone who has a deep appreciation for the Ethereum and DAO teams–but also with respect for the investors that supported the project.

My bias will lean towards the founders and technologists working in this space. Although I will try not to absolve them of any wrongdoing or incompetence, and I will place onus on the investors to understand their own financial risk tolerance, and the technology underlying their investment.

As a community, were very much like the characters in the allegorical tale “The Tao of Pooh”, I won’t get into the book, but if you decide to read it, it’s very short, you will come to see that things are as they should be, and that we all played a part in creating the situation that we have at hand–that is ongoing, fueled by panic, emotion, and competing self interests.

I include the “”Attacker”” in this as well, although he’s being villainized, he plays an important, catalyst role, in the future of Ethereum, and blockchain innovation as a whole.

This situation is complex, but so is the DAO, Ethereum and what we all want to get out of the respective projects, but in order to un-pack the current crisis we need to understand what happened and the context in which it happened in.

What happened?

The short answer is ambition, complexity, and enthusiasm.

It’s arguable, but I think few will contest, that the DAO project is one of the most revolutionary and ambitious projects in technology today.

It showcased that international crowdfunding works, as it is currently the world’s largest crowdfunded campaign in history.

It’s the Napster of finance, international law, and the nature and of work. All wrapped into one organization. The music industry was never the same after Napster.

Financial services and international law as we know it, will never be the same after the DAO.

The sheer scope of the project demands a technological rigor that only few can attempt, and a scope of knowledge that spans finance, securities, and international law. With many precedents set in a space that is nascent and has no framework for best practices.

It’s a new frontier that takes an intrepid nature to even conceive of, let alone attempt.

Whether you think a fully decentralized and autonomous organization shaped into an investment fund is a good idea or not, the challenge that the Slock.IT team and the collaboration with the people at Ethereum undertook is an endeavor of magnitude and ambition, which was what created the appeal, but at the same time baked in alot of complexity. I’d liken it to Elon musk launching his first space crafts, yes they exploded or did not land, but we all looked at it in amazement because of what he and his team was trying to do, and we supported them along the way.

Complexity is the enemy of security, and although there was multiple parties who looked at the code, some of the smartest and most accomplished security professionals and visionary technologist, getting the code right from a logical perspective, became problematic to say the least.

Ethereum

Ethereum is a revolutionary, decentralized platform, that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud, or third party interference.

Essentially developers can make apps that run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property. This enables developers to create markets, store registries of debts or promises, move funds in accordance with instructions given long in the past (like a will or a futures contract) and many other things that have not been invented yet, all without a middle man or counterparty risk.

The project was crowdfunded during August 2014 by fans all around the world. It is developed by the Ethereum Foundation, a Swiss nonprofit, with contributions from great minds across the globe. [1]

The DAO

The DAO is a Decentralized Autonomous Organization (“DAO”) – more specifically, it is a new breed of human organization never before attempted. The DAO was borne from an immutable, unstoppable, and irrefutable computer code, operated entirely by its members, and fueled using ETH, the token that represents value on the Ethereum blockchain, which creates DAO tokens.

The DAO leverages smart contracts on the Ethereum blockchain so that anyone, anywhere in the world can be empowered to participate. In exchange for their early help, participants receive DAO tokens which represent ownership in the DAO and the right to vote on proposals for the funding of Ethereum blockchain applications

The DAO backs proposals, which it selects for their innovative nature, to be delivered by “Contractors”. Some of these Proposals could hold no promise of return whatsoever (in the case of a charity for example), others could involve the building of products or services which The DAO could then use for its own purposes.

The DAO charges for the use of its the products or services. This revenue is then sent directly to The DAO in the form of ETH. The DAO then has the option to accumulate this ETH to support its growth, or redistribute it to the DAO Token Holders as a reward.

The ETH held by The DAO will never be centrally managed as it is fully autonomous and lives on a section of the Ethereum blockchain.

DAO token holders are able to vote on important decisions relating to the management of The DAO, including the power to redistribute its ETH amongst themselves.[2]

The Attack

The same sheisty cats that you hang with, and do your thang with
could set you up and wet you up, nigga peep the language
It’s universal, you play with fire it may hurt you
or burn you, lessons are blessings you should learn through–Gangstar, Moment of Truth

A few days back from the date of this post 3,641,694 ETH was split from “theDAO”. The “Attacker” found a loophole in the regular “splitDAO” function so that they could reuse the same DAO tokens over and over again.

Essentially, the “”Attacker”” found a legal “loophole” in the contract code that allowed him/her to exploit the contract unilaterally.

In an open letter to the Ethereum community he wrote which is PGP signed and titled: “An Open Letter To the DAO and the Ethereum community” the “Attacker” claimed he/she had examined the code and believes the Ether drained is now legitimately his/hers.

The “Attacker” writes that people characterizing the event as “theft” are completely unjustified and that the smart contract itself has allowed this to happen. The “Attacker” writes:

“I have made use of this feature and have rightfully claimed 3,641,694 ether, and would like to thank the DAO for this reward. It is my understanding that the DAO code contains this feature to promote decentralization and encourage the creation of “child DAOs”. I am disappointed by those who are characterizing the use of this intentional feature as “theft”. I am making use of this explicitly coded feature as per the smart contract terms and my law firm has advised me that my action is fully compliant with United States criminal and tort law.”

The so-called “Attacker” also cites the written words of the binding smart contract which says,

“The terms of The DAO Creation are set forth in the smart contract code existing on the Ethereum blockchain. Nothing in this explanation of terms or in any other document or communication may modify or add any additional obligations or guarantees beyond those set forth in The DAO’s code.”

The author claims that a soft or hard fork would be considered “theft” in legitimate tort law, and he/she believes the 3.5 million plus Ether was declared legally through the terms of the smart contract.

The “Attacker” also says that changing the code in a fork-type manner will destroy the Ethereum community and confidence in the very foundations of smart contracts.

The author explains the effect that will take place if developers decide to continue with the fork solutions saying:

“A soft or hard fork would amount to seizure of my legitimate and rightful ether, claimed legally through the terms of a smart contract. Such fork would permanently and irrevocably ruin all confidence in not only Ethereum but also the in the field of smart contracts and blockchain technology. Many large Ethereum holders will dump their ether, and developers, researchers, and companies will leave Ethereum. Make no mistake: any fork, soft or hard, will further damage Ethereum and destroy its reputation and appeal.”

The unconfirmed “Attacker” concludes his/her message by saying legal action has been taken, and he/she is working with a law firm at the moment in regards to this case.

“Accomplices (developers) taking part in a freeze, hard fork, soft fork, or roll back will “be receiving Cease and Desist notices in the mail shortly.”

He continues by saying:

“I hope this event becomes a valuable learning experience for the Ethereum community and wish you all the best of luck. Yours truly, ‘The “Attacker”’

The “Attacker” managed to combine 2 exploits. The first exploit was to call the split DAO function recursively. That means the first regular call would trigger a second (irregular) call of the function and the second call would trigger another call and so on.

The following calls are done in a state before the balance of the “Attacker” is set back to 0. This would allow the “”Attacker”” to split multiple times per transaction, probably about 20-50 times. He could not do more – otherwise the transactions would have gotten too big and eventually would have reached the block limite.

The “Attacker” managed to replicate this attack from the same two addresses with the same tokens over and over again (roughly 250 times from 2 addresses each). So the “Attacker” found a second exploit that allowed to split without destroying the tokens in the main DAO.

He/She managed to transfer the tokens away before they get sent to address 0x0 and only after this they are sent back. The combination of both attacks multiplied the effect. Attack one, on its own, would have been very capital intensive (you need to bring up 1/20 of the stolen amount upfront) – the attack two would have taken a long time.

Smart Contracts and the law

The details of contract law varies depending on the jurisdiction, but yet the have a broad set of parameters that are uniform based on jurisprudence. Contracts; govern the associations between humans.

Therefore, although Ethereum and The DAO are both decentralized autonomous organizations and, to a certain extent, they seemingly float above jurisdiction and regulation; because they are on the internet, networked, and/or in the “cloud” –they can under the law, if there was a precedent for this situation, which there is not, be interpreted under “default”, (more on this) as a general partnership.

Secondly, the fascinating features about the DAO is that as it “hovers” above specific jurisdictions, it could also be subject to any jurisdiction and none, simply because the contract did not specify any jurisdiction at all, whether real or virtual

Moreover, even though the The DAO was explicit in its communication that the “code is the contract” and anything that the codes does is the default, does not mean that other laws don’t apply.

Many entrepreneurs avoid considering legal context because it’s both confusing and appears to limit choices instead of expanding them. The reality, however, is that making no choice of legal context is a choice – a choice to abide by the default law. Default laws are often counter-intuitive resulting in harsh unexpected consequences. Failure to choose is the worst choice you can make. [4]

Default laws are laws (or rules) that apply when the parties haven’t made other choices

Courts will apply these default terms whether or not the parties actually know they exist or understand them. If, however, the terms were clearly specified in the contract, the court would abide by those instead of the default rules.

Which is why, in the case of the DAO, a simple but effective remedy that could have mitigated the risks involved, in the event that they did not place the right “clause” in the code; Is a mediation and/or arbitration clause.

They are very simple and are offered in a variety of different ways to suit your needs and essentially give you the option to have your case, mediated by professionals in the space, which the courts, must uphold, provided you place this simple clause in your contracts. Here is an example of one.

“In the event of a dispute arising out of or relating to this contract, including any question regarding its existence, validity or termination, the parties shall first seek settlement of that dispute by mediation in accordance with the LCIA Mediation Rules, which Rules are deemed to be incorporated by reference into this clause.

If the dispute is not settled by mediation within […………] days of the commencement of the mediation, or such further period as the parties shall agree in writing, the dispute shall be referred to and finally resolved by arbitration under the LCIA Rules, which Rules are deemed to be incorporated by reference into this clause.

The language to be used in the mediation and in the arbitration shall be […………].

The governing law of the contract shall be the substantive law of […………].

In any arbitration commenced pursuant to this clause,

(i) the number of arbitrators shall be [one/three]; and

(ii) the seat, or legal place, of arbitration shall be [City and/or Country].”[5]

Another implication that Slock.IT, the “Attacker” and the Ethereum community face, is something known as “equitable remedies” whereby remedies that can be obtained in a breach of contract situation and in essence, remedies may be divided into two categories: legal and equitable. Legal remedies allow the non-breaching party; but according to the DAO’s own legal contract, there was nothing in the contract that did not allow the “Attacker” to create a child DAO, and be recursively rewarded in DAO tokens for doing so– and the intent is completely unimportant — the only important and relevant governance is the smart contracts themselves. Consequently, there is no real legal difference between a feature and an exploit. It is all a matter of interpretation.

To recover monetary damages, in lieu of a breach of contract, equitable remedies are actions that the court prescribes which will serve to resolve the breach or dispute. But in this particular case, because there was no jurisdiction specified, where would a case be pleaded? Or could the case be pleaded in multiple jurisdiction, if a case arose, and one that would be favourable to a plaintiff, or multiple plaintiff given that the DAO would be interpreted as a general partnership?

Equitable remedies are typically granted when legal remedies or monetary compensation cannot adequately resolve the wrongdoing. It is often a requirement that legal damages be unavailable before a court will decide to issue equitable relief. In the case of Slock.IT the category of equitable remedy that would be most favourable to them would be a  “Contract Rescission” this is where the old contract which was breached is rescinded or cancelled. A new contract may be written which more clearly addresses the different needs of each party. [6]

The Blockchain and Dual Legal Integration

A process, that could have been incorporated into the DAO that would have mitigated the risks, or at least would have been able to provide mechanism for remedy if something went wrong is the concept of  Dual integration. Which is the the process of integrating a specific legal contract (which can be built with Legal Markdown or any other contract building system) into a specific smart contract which runs on a distributed data store such as Ethereum, or Eris industries [7]

The idea of dual integration is to allow users to be able to have the certainty of having a real world contract which can be taken to a court and enforced using established dispute resolution processes in the jurisdiction(s) of the user(s) while also using a smart contract as the primary mechanism for administering the data-driven interaction which attends to the agreement between the parties.

For another system which is also seeking to bridge this gap see Primavera de Filippi’s Draft Legal Framework For Crypto-Ledger Transactions.[8]

The reason Eris Industries recommends to all users of Distributed Technology, and particularly smart contracts, to dual-integrate their smart contracts with real world legal contracts built by lawyers qualified in the jurisdiction(s) that will be relevant to the agreement, is simple.

Smart contracts are necessarily limited. And the fallout of the DAO is a direct showcase of how dumb smart contracts can be.

As they are, at their core, just scripts which live in a distributed data store, the pure code of a smart contract has a limited ability to “reach” outside the context of their data store to incorporate a legally-binding contractual understanding. While they are capable of being structured in a manner which would automatically administer a data-driven interaction and ensure harmony of the data set in which the smart contracts reside (if they have permissions to do so),judges are unlikely, for the foreseeable future, to be able to easily resolve disputes stemming from smart contracts solely on the basis of their coded parameters (meaning without an integrated legal contract) without simply applying the commercial defaults for the agreement in the jurisdiction – an end that is unlikely to reflect the intention of the parties to the agreement in question. For these reasons of the limited reach of smart contracts and the limited enforceability of smart contracts, we highly encourage all smart contract systems developers to utilize dual integration of some kind.

Nobody knows right now if there will  be lawsuits from the $50m-plus attack the DAO, but the notion of decentralised governance is a model that will be tested, scrutinized, and debated for a long time to come.

I likened The DAO to Napster, in the sense that it created a shockwave of disruption that forever changed the landscape of music, by calling into question ownership in a peer to peer network, to exchange the title and ownership of music; and here is an example where the DAO has caused the same uproar in the financial and legal community regarding associations and legal formations in the world of cryptography.

In time, it may be that regulators and courts, or maybe even a Decentralized Arbitration and Mediation Network decide these things. I do not know quite how a court would decide this situation as I am not a lawyer, and nothing that I have written here should be construed as legal advice, but it is quite possible that in the eyes of the court, the hacker is himself is simply a legitimate operator operating in the bounds of the smart contract and it is those who are attempting to change the smart contract through soft or hard fork are in effect, violating the law.

What can be done?

Ideally, the DAO developers will find a way to extract the stolen funds without any protocol alterations (aka “hard fork”). However, such a plan, if feasible, will take time to design, test and deploy. If Slock.IT and the Ethereum team can find a way of remedying the situation through their own “attack” (DAO war), then investors will still have thier funds, the DAO can go on, in whatever capcity they feel is relevant and suitable, and the integrity of Ethereum will remain intact in the eyes of the community.

If not feasible, an alternative approach will have to be found, quite possibly a minor hard-fork of the core protocol. Either way there has to be a limit to the damage being done – the fastest, most effective way of doing this is through a temporary soft-fork.

But what if they can’t?

Since the DAO has no internal governance mechanism to reverse the alterations that have already happened, any kind of intervention to recover the stolen funds would take the form of a hard-fork: an alteration of the core Ethereum protocol.

What is a soft Fork?

A soft-fork is a minor, temporary alteration to the protocol all remnants of which can eventually be removed from the protocol with no recourse for syncing the blocks that were introduced during the period that it was in effect. Basically, it requires only the acquiescence of implementers and miners and need have no long-term repercussions, neither in terms of the code-bases nor in terms of the protocol spec.

“Parity” the lighter and faster, and more secure ethereum client, that is written with a different programming language called “Rust”, already has such a soft-fork waiting, which would lock the stolen funds, preventing them from being removed, exchanged or sold.[9]

What is a Hard Fork?

A hard fork would require longer discussion and consensus finding in the Ethereum community, but essentially it would remove all funds from the “Attackers” child DAO and move them to a to a new smart contract and would replace the contract at the main DAO with a simple refund contract with only one function. This function takes one parameter (address of childDAO), to determine a combined balance of mainDAO and childDAO and then pays back ether accordingly (in order to also pay back DAO token holders who did already split)

With this solution, 100% of the funds can be refunded, with no rollback of blocks or transactions is required.

Usually when people think about hard forks, they imagine about rollbacks of entire blocks, undoing unrelated transactions (similar to bitcoin hard forks). But in this case,the hard fork is far more elegant and easier to implement, as there is no need to roll any blocks back, or to undo any transactions that have nothing to do with the DAO.

In fact, a typical ethereum user will not feel anything from that hardfork, besides a minor client update. [10]

The Cost of Innovation and the perils of progress

“The play-it-safe pessimists of the world never accomplish much of anything, because they don’t look clearly and objectively at situations, they don’t recognize or believe in their own abilities to overcome even the smallest amount of risk.”-Benjamin Hoff, The Tao of Pooh

The DAO experiment is one of the most exciting projects in the world today, challenging the notions of international finance and governance, and testing the limits of blockchain technology. It is the very definition of entrepreneurship and an expose on innovation at it’s highest ideals.

In saying this, it is not to excuse the responsibility that comes with dealing with this powerful technology or the regulations that we have in place for financial dealings and organizations, but a testament to the spirit of entrepreneurship that progresses our society.

The notion that a small team of curious, and talented individuals can launch, from their grandmother’s house in europe, and align the focus and sentiment, of like minded individuals from around the world, to create an unmanned investment vehicle to benefit the ambitions of a community– all working on projects that might not otherwise get funded; is a showcase of courage in a world where a lot of people have ideas, and blow hard on the hype of blockchain technology, yet have nothing to show for it.

We have banks banding together to pay exorbitant amounts of money to hold hands as they jump into the shallow end of blockchain technology, while these entrepreneurs with limited resources at hand, systematically changed how we view organizations, the law and finance.

Are there problems, yes. Are there going to be mistakes. Of course. But If you know the story of Slock.IT and Etherem, both partners of a similar vision, you know that 10 months ago Ethereum was launched and it was one of the worlds largest crowdfunded projects in history raising 18m EU, for one of the world’s most revolutionary advancements in cryptography and computer science. Then 10 months later, that same group of friends banded together to out do themselves, obviously by accident, to raise another DAO worth up to 250 million USD in less than a month from launch.

As an “investor” in many of these projects, Ethereum and the DAO, I’m well aware of the risks. Anyone who dropped money into this venture, small or large, expecting a 6000% return on investment in 6 months, was deluding themselves, or was not truly assessing the risk involved in an experimental technology and investment vehicle.

Thankfully, given the sentiment that I have come across online, many did not have that intention, but to help other startups in the space progress with a technology that many do not really understand. It’s very hard to pitch these types of projects to investors unless they are knowledgeable about the space and technology, which apart from the illusory hype, is very very few people.

The DAO and Ethereum are creating ways for entrepreneurs to have the resources and the scale to realize their ideas and for this reason alone, aside from the mishap that caused the splitting of 50m USD from the DAO, this project has had far more positive intentions than negative fallout.

This technology is experimental, it’s not even a year old and it’s already provided evidence, for better or for worse, of what it can do, and we haven’t even nicked the surface of the types of applications and  products that it can enable.

Ethereum, and the blockchain ecosystem is still nascent, still growing, and in its early stage of development. It’s expected that things will go wrong, it’s understood that this is the exploratory phase of growth, but without people pushing the limits of imagination and capabilities we will be stuck with the problems of old without any solutions that can remedy the impediments of our society.

The Future

“But isn’t the knowledge that comes from experience more valuable than the knowledge that doesn’t?–Benjamin Hoff, The Tao of Pooh

This situation has turned out to be the “Too big to fail” scenario that we blockchain and cryptocurrency enthusiasts have railed against in the “real world” and have pinned hopes on platforms like Ethereum and the DAO. Although this is a challenging time for the Slock.IT team and the Ethereum community, I firmly believe that the distributed vision of the future is being lead by thoughtful and considerate leaders in the community like Ethereum and Slock.IT, and that the first widely adopted Decentralized Autonomous Organization will be an amazing learning lesson and catalyst for more bold and visionary projects in the future.

Be the first to comment

Leave a Reply