 Are smart contracts agreed upon, or are they more of a saying, this is how I function? If you want to interact with me, you have to follow these rules. Gabriel, I think part of the challenge here is the word smart contract. For many people, this is very confusing. The word smart contracts themselves lead people to believe that this is somehow a contract. A contract as in the undersigned, I, Andrea Santonoblos, agree upon presentation of a receipt for the delivery of oranges to pay $3 to Gabriel Gomez, etc., etc., and that they have some kind of contractual element to them. They're called smart contracts, but effectively they're not smart and they're not contracts. I like to remind people that smart contracts are really dumb programs. They're programs that have things like, if the input is 3 and the date is x, then do y. These little programs are not particularly smart. In fact, they're not smart at all. They will follow the rules exactly as written in the software. If you don't account for all possible inputs that might enter your smart contract, you can have bugs, problems, or unanticipated situations. You can also not account for anything that's happening in the real world. Again, we talked about the Oracle problem. In the past, people had suggested that you could have smart contracts that control the renting out of an apartment. They would automatically collect payment and manage insurance so that you can rent an apartment... in the form of Airbnb, which is a known company for private apartment rentals. The question I always ask in those cases is, okay, how do you account in the smart contract for the fact that the next morning... the guests found someone drowned in the pool, floating face-down? Life has exceptions. You're not going to write in the smart contract what happens with the insurance payment... if someone drowns in the pool, or if someone trashes the house, or if they set fire to it, or whatever else might happen in the real world. Once you have smart contracts like that that are successful, these problems tend to arise. Gabriel, to answer your question, smart contracts are not agreed upon. Really, there are software programs. Someone wrote that. In many cases, for different types of applications that you might want to engage in on the Ethereum network, there is more than one option. For example, if you wanted to build a token and you wanted to make it compatible with the ERC-20, or you wanted to do a crowd sale, there are 25 different implementations of that. The only part where you can say you kind of agreed is when you decide to choose to use one of those 20 implementations, you are effectively agreeing to the rules that are written in that contract. Essentially, you're agreeing to that software, and you'd better understand how it's going to execute. The truth is that most people don't really know how that contract is going to execute. They haven't read the code, and even if they had read the code, very few people really understand all of the possibilities that can arise in software and all of the potential vulnerabilities. A perfect example of that is the Dow. A lot of people invested money in the Dow. They thought they knew what the Dow could and couldn't do, and a tiny minority of the people who put money into it actually read the code. Even those people who read the code didn't understand the very subtle re-entrancy bug that existed that led to a loss. Again, you don't agree to a contract. You run the software, you choose which software to run, and hopefully you understand how that software is going to work. In reality, you depend on other people having run that software for large amounts of money for long periods of time. In the end, most of the security and understanding of what the contract will do comes from maturity. It comes from having this run thousands of times for long periods of time, with lots of money at stake, have people try to attack it and fail, and if it's still stable and exactly what you think it will do, then you can put a bit more trust into this software. Sure, it will follow the consensus rules. Sure, the software will run as written, but it is very difficult to know what as written means. What is your opinion of humanly readable, legally binding smart contracts? Well, there is a really big problem with reconciling how we do law in the real world versus what a smart contract does in code. English, and as such any other human language, is ambiguous, it's vague, it's very difficult to write something in English that has only one interpretation. The entire basis of law is about interpretation. Over time, legal contracts have matured over particular tests, so that everybody knows why there is a comma before the end in that particular clause, probably because there is a long legal case where someone got sued over the exact meaning of that Oxford comma. For example, every single word you see in an English legal contract that has a basis in English common law usually has a meaning that is very well-established. The question of what the word person means, the question of what the word sale means, the question of what the word value means, these words have been tested by centuries of legal wrangling. The reason we want smart contracts to operate in code, in smart contract language such as Solidity, Viper, or any of the other smart contracts languages, is because that kind of programming language can be made to be much more precise and much less ambiguous than English. That is the advantage of smart contracts. Making them human-readable is a problem, because if humans are able to read them, they may assume what they are reading means, something in English or whichever other language, but what the code actually does is something else. Reconciling those two, what you think it is going to do with what it is actually going to do, is a hellishly difficult problem. Also, whether a smart contract is legally binding, making a software program legally binding isn't really that interesting, important, or difficult. You can write a paper contract that connects to the code contract that you've put in a blockchain and bind yourself with another person to that. The bottom line is that in all of these cases, if there is a discrepancy between what the code did and what you think you signed up for, you are going to take someone to court. When you take someone to court, even if the payment has already been made and it is irreversible on an immutable blockchain, the judge can reverse it. If they can't seize the ether from you because you are an awesome cypherpunk who has hidden it so well, they will take everything else you own and throw you in a cage, and continue to take everything else you ever earn. Unless smart contracts are executed between entirely anonymous people who have perfect opsec, managed to never reveal their identity and interact entirely in virtual items without any access to the real world, there will always be interference from the law, because people live within jurisdictions. This is one of the challenges. Yes, and Justice makes a great point, which is that persons' sale value are ambiguous and have still been legally challenged, and they are still challenged today. They will never be completely unambiguous. We have thousands and thousands of cases that tell us what can and cannot be considered a person. Many of those have enough precedent behind them to have weight, but we are changing society at the same time. Does a self-driving car count as a person in the driving code? Does Alexa, if she places an order for you online, count as a person in commercial law? We don't know yet, and these things are going to lead to more challenges and definitions about exactly what that means and when you can use those terms. The ambiguity that exists in human language and the interpretation that exists in law are not bugs. These are the features of the legal system. That is how the legal system works.