2 ms·
As a hard example consider the typical crowdfunding protocol. The contract (in english) is roughly: if this campaign hits goal before a deadline passes, all the
by rboyd 10y ago
As a hard example consider the typical crowdfunding protocol. The contract (in english) is roughly: if this campaign hits goal before a deadline passes, all the backers pledge their money; or if the deadline comes before hitting the goal the money is returned to backers.
In today's world we rely on kickstarter programs or staff, credit cards and banking. Codified using a smart contract these rules can be executed automatically such that the backers are never at risk. This is what we mean when we say enforcement is automated.
This is a canonical example, as seen here http://ether.fund/contracts/crowdfund http://ether.fund/contracts/crowdfund
The reason the contract can be enforced is because in many of these smart contracts funds are held in escrow and are transacted only by the distributed app without the requirement or possibility of human involvement.
Also check out Section 1.5(3) in [1].
Not all contracts can be executed and evaluated as smart contracts. The kinds of work agreement contracts you describe wouldn't be a natural fit. Some folks have suggested novel alternatives which could fit into smart contracts such as voting to elect delegates, arbitration courts, reputation systems, etc. when things get fuzzy.
Obviously it's not a 1:1 replacement and I didn't mean to imply that it was.
I just think it could be a mistake to dismiss this technology and the changes that could be coming.
[1] A LAWYER’S INTRODUCTION TO SMART CONTRACTS http://www.crypto-law.com/doc/A%20Lawyer's%20Introduction%20to%20Smart%20Contracts.pdf http://www.crypto-law.com/doc/A%20Lawyer's%20Introduction%20...
- will_brown 10y ago>if this campaign hits goal before a deadline passes, all the backers pledge their money; or if the deadline comes before hitting the goal the money is returned to backers. Let's pretend the campaign hits its goal and gets all the funding. There are still a number of breaches that can occur after the fact at which point the contract/math/programming is not going to be able to enforce anything one way or the other. For example, as part of my pledge to the campaign the campaign promised me (and thousands of other backers) prizes. The contract can't do anything to enforce me getting my prize or it can't return my funds because they have been released to to company already. We have seen this time and again where the projects fail and refuse to return the money, the contracts themselves state the backers remedy is at law. Another example, I pledge $10,000 and funds get released to the campaign, but turns out I am a minor and as such a contract is legally unenforceable against me, not only that it turns out I used my parents credit card without permission, the smart contract isn't going to be of any help here either. Funny enough this only raises another potential breach, bc without my $10k the goal wasn't reached, so some backers now want their money back and others don't, is the campaign in breach if it doesn't return the funds? That is a question of fact for the court not one a smart contract can resolve. How about if I back something, funds are released, and then I do a charge-back and the CC company reverses the charge, I am likely in breach, but again nothing the smart contract can do about it. >I just think it could be a mistake to dismiss this technology and the changes that could be coming. Trust me I have no problem with technology and escrow accounts, they certainly help facilitate the performance contracts. But marketing of "smart contracts" as something self-enforcing based on math and programming? That doesn't exist even in the canonical example of smart contracts.
- rboyd 10y agoYou bring up a few interesting points. In my example there wouldn't be any room for a CC chargeback because we can assume all of the transactions are denoted in ETH itself. This is one of the qualities that enable the smart contracts to transact currency automatically. The programming language used to codify the smart contracts includes primitives to transact ETH. The possibility of a minor transacting is interesting and I know there has been some discussion on implementing an identity framework on Ethereum (https://github.com/tradle/about/wiki/Identity-on-Ethereum https://github.com/tradle/about/wiki/Identity-on-Ethereum). One can imagine then a contract which further limits participants by age. I think you'll find though that many early adopter/enthusiasts don't care about age or jurisdiction. It's not obvious why US law should apply. As a thought experiment though, I should ask about the properties which US courts hold that enable them to enforce contracts. Ultimately doesn't it come down to a court order, which if ignored ends in garnishment, imprisonment, or worse? In theory, in a blockchain-enabled contract world, garnishments would either no longer be necessary or could automatically be enforced. At the scary extreme you could even imagine a future where security drones owned by the "Sovereign State of Etheria" which fly around enforcing smart contracts with hunt/capture/kill orders. Slock.it is the most popular example bridging the real world/IoT with a DAO. And would this really be altogether different from how contracts are enforced manually in egregious cases? I'm not stating any of this is good or bad, I'm just illustrating what is possible now and imagining what is conceivably possible in the future. I don't have a position in Ethereum (never owned any) nor The DAO, and I'm certainly not "marketing smart contracts". But you seem to insist that none of this is possible for some reason, and from what I can tell it certainly is. If my interpretation of anything I've read about the technology is wrong though, I'd appreciate the corrections. To find some common ground we should be able to agree on: how many contracts end up in litigation because one or both parties misinterpret the language of the agreement? Wouldn't it be desirable if there was a system that left no room for misinterpretation?
- notahacker 10y agoI think the point the user was making is that most of the language of the agreement is not readily convertible to code for most conceivable agreements (including "deliver goods that are a good faith attempt to produce what was promised"; obviously you can code for "send something by $DATE" or "purchase X units of stock Y") What is being automated is the least risky parts of a crowdfunding arrangement (counterparty risk on the part of the crowdfunding company and the bank its client accounts are held with). But the ability of humans to override payments (e.g. if the card was stolen, or the fundraising campaign is judged to be a scam) is a risk mitigation feature rather than a bug of a real world payment system. Guaranteeing one side of a contract is honoured instantly, efficiently and anonymously can actually increase the likelihood of contracts not being honoured in many real world use cases.