Can you do this now without a smart contract? Of course. The usefulness is in that it's universally visible and lowers the barrier to entry and is far less complex.
Sometimes it does come down to punctuation, but all of the time it comes down to what was meant with the contract.
Letting the system only mean what it says is not great for users, either. You get an overhead of always having to check and double check everything you do.
Please give me an example of how an agreement can be enforced by a smart contract.
> When an actor fails to live up their obligation they are refused payment
It works the same way with colored pebbles.
> There is no way to take off with something that is not yours
Why not? I know this is an abstract question in this context which is why I asked for a practical example so we could share a thought experiment regarding how the use of a smart-contract would play out in real life.
> There is no reliable or efficient way to cheat
Cheat what? Once again this is totally abstract. Seems to me like cheating is just as easy if not easier because the role of law-enforcement is questionable at best and nonexistent at worst. To cheat, all I have to do is agree to the terms of the contract then violate it after I have secured the funds or property. Then what?
> You don't have to know the other actors you are making an agreement for something with
I'll grant that this is possible and useful in special cases (e.g. online drug markets), but that is a benefit of blockchain money and smart contracts don't offer any benefit
> far less complex
This is certainly not the case, as victims of the DAO and orphaned eth blockchain can attest to.
"bAIRBNB VERSUS AIRBNB
bAirbnb is a distributed application (DApp), a set of smart contracts that stores data on a home-listings blockchain. The bAirbnb app has an elegant interface: owners can upload information and pictures of their property. The platform maintains reputation scores of both providers and renters to improve everyone’s business decisions.
When you want to rent, the bAirbnb software scans and filters the blockchain for all the listings that meet your criteria (e.g., ten miles from the Eiffel Tower, two bedrooms, four-plus star ratings only). Your user experience is identical to that in Airbnb, except that you communicate peer to peer on the network, through encrypted and cryptographically signed messages not stored in Airbnb’s database. You and the room owner are the only two people who can read these messages. You can swap phone numbers, an exchange that Airbnb blocks to preserve future revenues. On bAirbnb you and the owner could communicate off-chain and complete the transaction entirely off-chain, but you are better off completing the transaction on-chain for a few reasons.
Reputation: Because the network records the transaction on the blockchain, a positive review from each user improves your respective reputations. The risk of a negative review motivates each party to remain honest. Remember, people with good reputations can use the same persona across multiple DApps and benefit from continuity as a good person.
Identity Verification: Because we are not dealing with a centralized system that checks ID on our behalf, each party needs to confirm the other party’s identity. The blockchain calls up a contract from a “VerifyID” application, one of many contracts that bAirbnb, SUber (blockchain Uber), and other DApps use to verify real-world identity.
Privacy Protection: VerifyID doesn’t track and store all transactions in a database. It simply returns a TRUE or FALSE when it receives a request for verification of a public key (persona). Different kinds of DApps can call VerifyID, but VerifyID never knows details of transactions. This separation of identity from activity greatly improves your privacy. Risk Reduction: Home owners currently store customer identities and financial data on their own servers, which can be hacked and leaked, exposing owners to litigation and large liabilities. On the blockchain, you needn’t trust a vendor with your data; there is no central database to hack and leak. There are only individual peer-to-peer pseudonymous transactions.
Insurance: Today Airbnb offers $1 million insurance for owners and compensates them for theft and damage. On bAirbnb, owners can get the bAirbnb insurance DApp. Renters with good reputations like you have lower insurance rates and needn’t subsidize renters who lack caution, scrutiny of prospects, or poor treatment of property. When you submit a booking request, bAirbnb sends your public key (persona) to the insurance contract for a quote. The insurance DApp contacts a list of trusted providers; fake insurers need not apply. Insurers perform their own calculations in real time through autonomous agent software based on the inputs to the contract—such as the market value of the owner’s house, how much the owner wants insured, owner reputation, your reputation as a renter, and rental price. bAirbnb takes the best bid and adds it to the nightly fee the owner wants to charge. The blockchain processes this calculation in the background; owners and renters have a comparable user experience to that of Airbnb but a superior and more equitable value exchange.
Payment Settlement: Of course, on the blockchain, you transfer funds to the owner in seconds, not days as with Airbnb. Owners can manage security deposits more easily with smart contracts. Some parties use escrow accounts to release payments partially (nightly, weekly, hourly, etc.) or in full as the parties agree. In disputes involving smart contracts, parties can call for arbitration.
Property Access Using Smart Locks (IoT device): A smart lock connected to the blockchain knows when you have paid. When you arrive, your near-field communication-enabled smart phone can sign a message with your public key as proof of payment, and the smart lock will open for you. Owners need not drop keys off to you or visit the property unless they want to say hello or address some emergency.
You and the owner have now saved most of the 15 percent Airbnb fee. Settlements are assured and instant. There are no foreign exchange fees for international contracts. You need not worry about stolen identity. Local governments in oppressive regimes cannot subpoena bAirbnb for all its rental history data. This is the real sharing-of-value economy; both customers and service providers are the winners."
Essentially, it can turn any centralized middleman system, which are most companies in the world today, into decentralized ones, where the processing happens not on central servers but in the decentralized network.
It also doesn't address compliance with laws on payments and money transfers. Regardless of what the anarchists might want, those rules aren't going away and will be enforced vigorously by many governments.
Why can't a blockchain technology in a matter of years offer the same type of convenience and stability with a much lower price due to the decentralized nature of it all?
Right now they can't you're right. But there is no reason to believe with certainty they won't in the future. Of course they might not but I'd bet the other way by virtue of the plain as day benefit they offer motivating iterative improvement over the many coming years.
However, it is a known issue and there are proposals and I'm sure more to come. Sharding is a leading proposal and it has been described. However, I cannot personally comment on the viability.
But I'm an optimist and believe it will be solved. Maybe not with Ethereum but eventually with something.
The one fallacy to be aware of is a lot of people it appears think that blockchain technologies are static. As if they can't evolve and change and iterate. They can and if history is any indicator they will so long as there is interest and outlandish people see potential.
I wasn't aware this was how Airbnb operated. I was under the impression whoever made the listing on Airbnb never saw details of the renters payment details.
> In disputes involving smart contracts, parties can call for arbitration.
Call who? A lawyer? Their heavies? Who's paying to operate all this infrastructure?
> Local governments in oppressive regimes cannot subpoena bAirbnb for all its rental history data.
So governments will outlaw it and prosecute anyone caught operating a bAirbnb, which should be simple to do because all this listings are publicly visibly. Which should also be true of real Airbnb now, but charging people who renting their houses / units / whatever illegally seems to be fairly low on the police's list of priorities. Oppressive regimes, however, tend to go after people for what should be trivial matters, which is what makes them oppressive.
Governments can also order ISPs to block certain types of network traffic, thereby denying access to these services.
I'm a bit rusty on my crypto-currency knowledge, but I seem to remember that there is the possibility of a 51% attack, wherein if an evil actor managed to control 51% or more of the network, they could basically wreak all sorts of havoc on the network, from denial of service, to double-spending of coins to rewriting of (recent) transaction history.
As for feasibility, some mining groups have already briefly obtained 51% control of the network "by accident", but if you want to go the black hat route though, DDOS a large portion of the network, spin up a few dormant bots and presto, you have your 51%.
So it isn't impossible to cheat, and certainly not impractical.
This is a major problem. Has this problem been addressed at all?
While this doesn't remove all risks (e.g. an incredibly large mining pool), it is certainly harder to disable thousands of independent miners than it is to do so to a single centralized operation.
I don't know if this would be currently possible with Ethereum because I haven't looked very deep into its technology, but if not I'm pretty sure some blockchain will allow this kind of interactions.
For more examples, check: https://www.ethereum.org/token
Consider what happens if someone takes the loan and never repays it. If you have a government with a functioning court system you can use any commonly accepted contract form, even a signed IOU, so a blockchain adds no value even if you do convince the court it's trustworthy; if you don't have a reliable court system, they can just walk away and you've just spent a lot of money on irrelevant infrastructure. If you have a credit rating system and sufficient proof of identity there might be a consequence but in every case the real value appears to be created by other entities (government IDs and courts; private credit rating services), none of which even need to know what a blockchain is.
One concept would be to raise funds that can allow you arbitrage at a scalable level. Request funds (ICO) and have the smart contract enable a certain subset of those funds for your organization to use to arbitrage other crypto's. Profits are spread across stakeholders based on their investment, represented as the tokens they generated in the ICO.
Enforce this by only allowing a certain part of the funds to become available at certain times based on performance. Stake holders could vote using a contract to determine if more funds should be released.
This is not unreasonable, but you have to admit that it is a far cry from imminent revolution and a key reason why people are skeptical of this technology especially considering the bottomless pit of grandiose hype that accompanies it.
> One concept would be to raise funds that can allow you arbitrage at a scalable level. Request funds (ICO) and have the smart contract enable a certain subset of those funds for your organization to use to arbitrage other crypto's. Profits are spread across stakeholders based on their investment, represented as the tokens they generated in the ICO.
Ok, but all you've really described here is a higher level abstraction for playing the cryptomarkets rather than a useful product or service that is enabled by the technology itself. If you aren't interested in gambling your money on the cryptomarkets then this idea is useless.
I find the entire thing interesting and in fact the most boring bit is the instant millionaire greed fueling unfounded hype.
If I had the great idea I wouldn't be hear talking about it. I'm getting a better and better grip I feel but it could all be fallacy too!
But, someone or some group are going to be far more able to see the bigger picture I imagine and unleash something completely new, practical and useful.
Makers build things and post it to a Website and price it in some crypto currency.
People buy it by sending money to a smart contract.
A third party "oracle" is used to remit payment when the order is received. For instance the company that ships the product will signal delivery to the contract.
The company that hosted the product takes a percent of the transaction payable after the final payment goes through.
The investors in the ICO for the product get profits distributed threw the contract hosted on the same blockchain.
The host of the site gets paid from the profits based on the contract and their payment address.
Managers, marketing, developers, all staff gets paid from a piece of the profits. This is all defined in the smart contracts.
This is far away from today and simplified and with many scams in-between as well. But smart contracts on a block chain which interact and signal other contracts, etc with a block chain on a blockchain used for proof of work and payment.
A company in this form could outperform and be more efficient than one today. This is what would be useful.
The customer benefit is that because the business is run more efficiently things can be priced cheaper. This gets passed down to the consumer and producer.
It's far more than escrow. It's a distributed business where many of the functions of the business are automated all enforced on the same blockchain.
Could be crazy - I'm not pitching this! I'm sure many people have better grasps of the potential and imaginations. But you clearly don't see how a company can be run more efficiently (but massive margins) with a distributed, partially anonymous structure where obligations and payments are guaranteed through the shared system.
Everything you've described (i.e., payments) can already be handled by existing automated financial systems like ADP, Peoplesoft, Intuit, etc. Order status is already handled by existing invoicing systems (i.e., Square) and delivery providers (i.e., UPS). And all of these systems can be made to integrate with each other; plenty of businesses do that every year.
Now imagine we could do this in a public way that can't be cheated easily at all? We create new efficiency, ironically, by centralizing much of this on a globally distributed blockchain with computational rules enforcing the flow of business. Suddenly we don't need these companies because their most valuable asset, trust, has been automated away.
The business that figures out how to do this will claim the market of existing companies.
Software eats the world. Why wouldn't it continue to in a way that eats the existing software centralization?
It doesn't mean it's free but it certainly looks to have the ability to outperform current business models which came to be because they outperformed previous business models.
Smart contracts won't take off for the simple reason that they don't offer anything that existing processes don't already handle better than even the theoretical best case that smart contract proponents have offered.
I think the thing they offer is the potential for great efficiency and thus lower cost and also a lower barrier to entry for systems that require trust.
What I'm most optimistic about is the next phase - how can we scale this and then what can we build on top to further practical use? That's a more interesting discussion than dismissing it all together.
Bitcoin introduced the blockchain and some good ideas about how it could be used. Ethereum ran with some of those ideas. There's even more ideas on how this can expanded we'll maybe see in a few years.