Euvie: We’re having this conversation about smart contracts and basically the general idea of whether we can codify behavior and whether we can make that code perfect. Is it possible to codify human behavior, be it a smart contract, or law, or the way that a government runs, and make it 100 percent perfect?

Mike: So, why don’t we talk about the events first of what happened this past weekend. I just happened to be in the DAO slack as this was all going down. Basically, the DAO, which is autonomous organization built on a smart contract in Ethereum, they raised something like 90 million dollars. Just recently this past weekend they were hacked and it was basically a legal exploit within the Ethereum contract. Someone was able to withdraw funds. I won’t get into the technical details of this, what we’re mostly interested in is the human element, the moral implications of this, what this means for the DAO and Ethereum in the future.

Euvie: I just wanted to clarify actually, because I do think that this is important for the sake of the conversation. The person who did the exploit actually was not able to withdraw the funds but they were able to put it in a subcontract within the DAO so nobody else could get a hold of these funds except for the person who did this. However, they’ve frozen it since then.

Mike: There’s a lot of ways to reverse this hack and get the funds back. They involve compromising the ideal of what Ethereum is all about, which decentralized, [inaudible contracts. What happens is if everyone votes and decides to go forward and do this, they’re going to do what’s called a hard fork. They’re going to basically go back in time and change the line of code that has this transfer occurring from the main DAO account to the hacker’s subcontract. They’re not really affecting anyone else but it’s a compromise of what Ethereum is all about.

A lot of people are saying that this should, basically, because the people who programmed the contract didn’t do their due diligence and left this hole open, that they should be eating this loss. There’s a lot of argument back and forth what this means for Ethereum and the DAO and its potential adoption into the mainstream, because people won’t feel so safe if nearly 100 million dollars can be lost to a hacker overnight. But there’s some good arguments on both sides. That’s what we’re going to talk about here, some of the moral implications on both sides of these arguments.

Euvie: So, first of all, there’s a lot of overlap in the people who designed Ethereum and the people who designed the DAO, which a lot of people have pointed out is a very big conflict of interest. It just happened this way historically because there aren’t that many people yet developing smart contracts and working with the Ethereum blockchain. Some of the smartest people in Ethereum also happen to be the people creating the DAO and investing in the DAO. Because of this, any proposition or any decision that comes out of the people behind Ethereum or the DAO, people will say that it’s a selfish decision because they’re trying to save Ethereum or they’re trying to save their own investment. That muddies the waters.

Mike: In order to reverse the hack, the community has to reach consensus about this. That’s an important point here is a lot of people are saying the ideals are compromised, that there’s a degree of centralization leadership happening that there shouldn’t be.

Euvie: In Ethereum, when you vote, you don’t vote one person one vote, your vote weight is based on your processing power. It’s not quite so proportionate to the number of people. That’s one issue. Another issue is that it’s only the miners that are voting. The people who invested in the DAO or the people who invested in Ethereum who aren’t mining actually don’t have a voice in this case. So, some people are saying that that’s a problem, too. Because the people who tend to mine and the people who tend to trade and invest are not necessarily the same kinds of people.

Mike: What happens to the sort of integrity and reputation of Ethereum if the whole community decides not to go forward and do the fork and reverse the hack?

Euvie: I’ve seen a lot of arguments in forums and in Reddit of people talking about if people don’t vote for the fork that will uphold the ideals of Ethereum and the ideals of the DAO and the blockchain in general, which is immutable contracts, autonomous, no human intervention, no possibility of reversing contracts once they’re in place. That appeals to a lot of people who believe that it’s possible to write a perfect contract, but I think that’s a bit of an error in itself because many experienced programmers have pointed out in these conversations that it’s impossible to write 100 percent perfect code because you will always have bugs.

Mike: There needs to be testing, their needs to be opportunities to make mistakes. The idea that people are so hard line, the ideals cannot be compromised, all of the rules need to be coded and if not all the rules were coded properly than that’s your fault, you lose out. Even though they didn’t do their due diligence and have that code audited, is it morally okay with all of us that they should lose that money when we can all do something about it? That’s really the question here is there’s a lot of these hard line programmers and cryptocurrency anarchist kind of guys. They really draw the line at human intervention in any of this.

Euvie: I think if you expect to write perfect code that is never going to chance, you are digging yourself into a hole. Because society changes, society is not static. Several hundred years ago it was considered morally right to kill the gays and burn the witches, and now it’s considered morally wrong. Things change, cultures change.

Mike: I just watched a video that was voted quite highly in reddit/videos. It was of a guy who made an app, a flight simulator, and he got a cease and desist, he was being sued by a company that says they have the patent for how to use the app store. Instead of attacking Google, which they know they’ll lose, they’re attacking this small independent app developers saying, “We have the patent on uploading apps to the app store.” They’re attacking these guys knowing that they’re not going to have the money to defend themselves, so they’re going to settle. This guy does this investigation and he discovers there’s tons of these patent troll companies, they exist for the sole purpose of suing people.

They’re not providing any value, they’re not creating anything. Then he goes through a list of some of the patents that have been accepted – using a laser pointer to entertain your cat. Not the laser pointer, but the actual action of using the laser pointer to entertain the cat is patented and you can be sued for doing that. There’s all kinds of things like this. It’s a fault in the law system that we’re allowed to make these patents and then go chase people in law suits. At no point is a judge or jury going, “Yeah, this should not be happening, let’s make the moral decision here.” They rely on outsourcing their moral judgment to the code, which, in this case, the code is clearly broken.

That’s the same thing happened with this. No one cares about the intent in this situation. The intent was obviously not to write the contract so that the attacker could then drain the funds and everyone loses out.

Euvie: Actually, this happened to me the other day. I sent Ether from my contract wallet to an exchange address. Apparently, you can’t do that so my Ether is stuck, it’s stuck in limbo and I can’t do anything about it. Now, I’ve been trying to get a hold of this exchange to see if they can do something about it. Things like this. Humans make mistakes, we’re stupid, we’re monkeys. You have to account for that. This actually leads us to another point that we have to think of how do we make decisions that are best for everyone, not just for one person. If you think in this one every man or himself way, then, yeah, I’m stupid for making this mistake and I should take the blame. Does it benefit society as a whole? Not really.

Mike: It’s an opportunity to improve the code and write the wrong. There’s an opportunity here where no one has to get heard but people are stuck to the hard line coding and what they deem Ethereum to stand for. To certain people, it’s about having no government interference, being able to do whatever you want and be anonymous and get your guns, get your drugs, get your child porn and everything and not have anyone fucking with you. To me, that’s not what Ethereum’s about, that’s not what crypto is about, decentralization, the blockchain.

To me, it’s about democratising everything, decentralizing everything, and giving the whole community the opportunity to vote on what they care about. That’s number one for me. In this case, the whole community, if they decide to hard fork, then Ethereum has done its job, they’ve given the power back to the people. Whereas, if this was in the hands of maybe the heads of the DAO and they’re making all the decisions here, then, yeah, we have ethical issue with this. I’m okay with whatever the community does, either direction. They could decide, “Screw it, these guys made a mistake.” To me, all that matters is that the community decided it. That’s what’s missing in our modern societies, that’s what Ethereum is supposed to solve. I think it’s doing its job perfectly.

Euvie: One of the questions that was raised is that intention is difficult to codify and difficult to identify. People can also be misled and cajoled. The human element is fragile in this case. If you rely too much on the human element, you’re going to get human error. I think that’s part of the reason why people want to codify these contracts, so that there’s no human error involved. How do we have a balance of both? Because if we have no human intervention, no human involvement whatsoever, then we can get runaway code. A great example that Vitalik brought up in his post is if you have super intelligent AI and you program it to eliminate cancer.

So, the AI goes through the whole human genome, it identifies where the cancer is, it does 99.9 percent of the work but then it just can’t do that .1 of a percent because the data is missing or it just can’t figure it out. So, it decides, “Okay, to eliminate cancer, I have to now destroy all the humans,” and it goes and does that.

Mike: Cancer is cured.

Euvie: Problem solved. Okay, let’s say you write a stipulation: you have to eliminate all the cancer without harming any humans. Okay, the AI goes and cryogenically freezes every single human. It’s not technically harming them, it’s solving the problem. Another example that’s similar to this actually is one we talked about in a previous episode a while ago. It’s the My Little Pony fanfiction with a singularity happening. Where this program becomes self-aware and it’s imperative was…

Mike: Friendship and ponies.

Euvie: Yeah, something about to maximize friendship and ponies. So, it proceeds to convert every human to upload themselves into this game and leave their physical body. Then, after it’s uploaded all the humans to the game, it uses all the matter of the earth and then all the matter of the solar system and then the whole universe and transforms it into commutation so it can basically have more players in the game to maximize friendship and ponies.

Mike: It’s an out of control badly programmed contract in a way.

Euvie: Yeah.

Mike: It’s had one objective and…

Euvie: It did it perfectly.

Mike: Yeah, it optimized perfectly for that objective. That’s sort of the issue we’re facing here. To me, empathy and emotions have always been this confusing, murky, how the fuck do I codify this thing sort of realm. Really, the question for me is can you codify emotion, can you codify the human element and make the perfect contract? At the moment, I believe no.

Euvie: Definitely, at the moment for me the answer is also no. But that doesn’t mean that in the future we couldn’t do it. I think actually a lot of it comes down to computation. This can be seen in something like predicting weather, because there are so many different variables that could affect where weather system is going to go. We use very powerful computers to try to predict it but we just can’t account…

Mike: There’s too many variables.

Euvie: Yeah, too many variables and we can’t account for all the possible outcomes. If you believe that human behaviour is more complex than weather, then the answer is right there. We can’t predict the weather, then we definitely can’t predict human behaviour, at least not 100 percent. I think we should aim to codify things to the best of our ability, but we still need that .1 percent human failure to account for.

Mike: It’s not even that, in this situation particularly, the ability is to coded in to undo the mistake. It’s perfectly there, it’s just there’s a lot of people arguing against it. Actually, I captured a screenshot of someone on Reddit who has a really good argument here. I’m just going to read it out: “An important question that needs to be answered is who and what is Ethereum for. Is it just for crypto anarchists or for the general public? In the first option,” he says, “if you think the point of Ethereum is a kind of Bitcoin 2.0, i.e. for crypto anarchists to be able to make financial transactions free of any interference, that the point is to be free not just from government interference but from the kind of social or ethical restraint, that the value of the network is being able to buy drugs, buy child porn, fund terrorism, or create bounties for hacking.”

“If you believe that the kind of society you want is one where code is law, no matter how buggy or how bad the consequences, then vote against the hard fork. Crypto anarchists will not forgive us for bringing ethics into the system. If you think the point of Ethereum is to enable the world to access innovative services based on distributed consensus, like computing micro-payments-based APIs, unforgeable supply chain records, community electricity grids and internet of rentable things, finance, insurance, markets, bedding, synthetic borderless share trading, then vote for the hard fork. The general public will not trust us unless we bring ethics into the system.” So perfectly said.

Euvie: Yeah.

Mike: For a small group of people the first is more important and that’s their definition of what Ethereum is for. But if we think on a more world centric scale here, there’s so much more Ethereum can do for the world and it’s important that we don’t screw up the reputation of Ethereum before it even has its chance. That said, I don’t think this event, no matter which it goes, is really going to screw up the opportunity and the future that Ethereum can create, but it is an important question here. What do you think Ethereum is for and what do you think the possibilities for it can be? In this situation I think it’s more important that people have the early idea that Ethereum can be trusted.

Euvie: At least for the general public, because I’ve seen a lot of arguments on the crypto purist side that say that if Ethereum hard forks, then it cannot be trusted, then it’s not what it claims to be, it’s not immutable, autonomous. I think one of the arguments though that was presented is that, first of all, it’s not the whole community deciding, the people who actually have money invested are not necessarily deciding, it’s only the people with the mining power, so it’s skewed.

Secondly, if people can be convinced and pressured into something, then that opens the door for governments and other entities to replicate that in the future, to cajole and pressure and influence people’s decision. That’s why people were bringing up the argument that with autonomous, immutable smart contracts is the only situation where it’s not possible, so they had a problem with even the wisdom of the crowd they had a problem with, because the crowd can be manipulated.

Mike: Okay, it’s really a technical question then, right?

Euvie: Yeah.

Mike: If it’s possible to change the blockchain to go back and do this hard fork, if these guys have a problem with it, they’re arguing for people not to vote for it but it’s more of a technical issue. If it’s possible to do it, some government can go out and say, “ I’m going to kill your favourite person unless you do what I want you to do.” The ability is there. We’ve taken notes and screenshots of different discussions all over Reddit. One of them that is counter to this that says, “Unlike traditional contracts, the idea was that the smart contracts were going to eliminate the need for enforcement or dispute resolution, so that the law is enshrined in code but this incident has set a precedent, at least with Ethereum, that the project leadership will intervene to enforce the spirit of a smart contract.”

Their intellectual leaders, they’re providing solutions for the community in terms of code, Vitalik provided the code for this hard fork and provided intellectual solutions, but everyone still has to vote on it, so it kind of doesn’t matter. The whole idea of the decentralization is anyone can provide a solution. It could have been any no name person providing the same solution and we all have to still agree on it. This whole idea that Vitalik or Stephen or anyone else has the kind of power to influence anyone and force their hands to vote one way or another is false. People have to do their own research and investigate their own ethics in this situation and decide for themselves and cast your vote.

The whole solution is encapsulated in our ability to have a say and make a vote on this. Here’s what someone else has said, “Giving up on code is law. There are two problems here. First, when Ethereum allows forks to happen and override smart contracts code, it’s giving up on code as law and allowing the spirit of code to trump it when the execution deviates from the spirit.” Same idea really. It’s like people expecting the code to be perfect.

Euvie: And eternal. If we look at the constitution of every country, it has been changed many times because we realized that something we originally encoded as outcomes that are undesired and there’s nothing wrong with going back and changing that. It’s not just the law makers making that decision.

As long as the majority can make that decision, well, I would argue that it’s better. If we can come up with a solution that’s better for everyone. Again, there’s just so much technical discussion here where I understand that this is a culture of programmers and engineers, I’m kind of joking here so please don’t take this to heart but bad things happen when engineers don’t consult humans in writing code.

Mike: That’s so true. Look at the whole demonstration of the leadership in taking responsibility for this. No one’s come up and said, “I’m sorry.”

Euvie: “We fucked up.”

Mike: “We fucked up.”

Euvie: “We’re losing money, you’re losing money. We feel bad. We know. We’re really sorry.” It’s just been a lot of technical apologies like, “It’s a bug or it’s an exploit.”

Mike: There’s a lot of individuals that have screwed and there’s a lot of people, including every single person who invested in the DAO who need to take more responsibility for this and are not currently taking responsibility. If you invested a bunch of money in the DAO, you should have done your due diligence, you should have had that code reviewed and you didn’t. Nobody did. So many people had the opportunity to, nobody put their hand up to do that. That’s something else Vinay said, too, and it’s totally true. As a community, everyone needs to be like, “Yup, we screwed up, we’re not going to make that same mistake again.” It’s a huge opportunity for Ethereum, for DAOs, for the whole crypto market. We have an opportunity to undo that mistake.

Euvie: Yeah, exactly. People make their argument that, yes, the code was reviewed, one of the best companies in the business came in and reviewed the code but it happened after already a lot of people invested a lot of money. It was kind of too late, actually, in the game. On the other hand, as with any decentralized application, the code is transparent so anyone can review it but that doesn’t mean that people are programmers and they’re going to understand it. If you just want to invest in something because you like the idea or you thin kit might make you a lot of money or you resonate with it intellectually or whatever, you shouldn’t have to be a programmer to invest in this idea.

Yeah, okay, maybe if you’re putting millions of dollars into it, maybe you can hire an auditor that can come in and investigate it before you put your millions of dollars in it, but if you’re just an average guy you just don’t have those kinds of resources. Putting that full responsibility on the average Joe who wanted to invest in the idea is pretty ridiculous, too. But also absolving them of all responsibility is ridiculous. This idea is presented really well in a book called Difficult Conversations. It talks about conflict resolution and how to have difficult conversations. When emotions come out and when money is at stake, when relationships are at stake, people tend to point fingers a lot.

This is exactly the opposite of what we should be doing. Because in every conflict there’s multiple contributors. In this book they talked about the contribution system rather than the blame system. So, what did each person contribute to this conflict arising? Take responsibility for the thing that you contributed. Again, this is a very unique situation because we actually have a way to do right by people, we have a way to reverse this. For example, with [inaudible situation, there was no way to reverse it, so people just had to ‘eat that’, people had to accept their losses. In this case, we have a way to reverse it, so it’s just a matter of, “What’s the ethical thing to do? Should we or shouldn’t we?”

Mike: Someone else wrote something here, too, I want to say. “This casts doubt on the true decentralization of the system and invites regulators and oppressive regimes to step up in the future and apply pressure to reverse history and/or change the rules of the system. This is summed up by their idea that smart contracts are either code as law or they are mere social contracts.” Again, it comes back to what you think Ethereum is for. It’s so much more than that, than this hard line, “There’s either value or no value here.” For the situation that this guy is saying, for regulators and oppressive regimes to step up in the future and apply pressure to reverse history, I’m totally speculating here but by the time this becomes a thing, I don’t think Ethereum’s going to be the small level that people can be convinced.

The whole majority of people can be convinced to change their minds and fork a system based off an oppressive regimes pressure. I think this is something the community agrees on and we’re coming forth to do that. I don’t think it changes a precedent. If the ability is there, it’s possible to do it and whether or not we do it now or at some point in the future, someone pressures all the miners to do this, it doesn’t change anything by us doing it now. It doesn’t set a precedent, it’s just us undoing some fuck ups in the early versions of some of the smart contracts, the early experiments and tests.

Anyway, we want to hear from you guys about this. We obviously don’t have the answers here and we’re not trying to have the answers, we just want to discuss this and hear your guy’s opinions on this. There’s so much discussion, there’s so much back and forth on here. Go to futurethinkers.org/episode29 and leave a comment and let us know what you think, let’s continue the discussion there.