The world’s first cryptocurrency, Bitcoin, was the first to support basic smart contracts, although they are extremely limited in comparison with Ethereum. Each transaction is a smart contract because the network will only approve of the transactions if certain conditions are met – that the user provides a digital signature proving that they indeed own the cryptocurrency they claim to own. Only the owner of a Bitcoin private key can produce such a digital signature.
By contrast, Ethereum replaces Bitcoin’s more restrictive language, replacing it with language that allows developers to use the blockchain to process more than just cryptocurrency transactions. The language is “Turing-complete,” meaning it supports a broader set of computational instructions. Without limits, programmers can write just about any smart contract they can think of.
While this has obvious advantages, it also means that, because novel smart contracts are less tested, there is a higher chance of vulnerabilities. Ethereum has already seen millions of dollars of losses from exploited vulnerabilities in smart contracts.
What can smart contracts be used for?
Some common ways of using smart contracts are:
- Multisignature accounts: Funds can only be spent when a required percentage of people agree.
- Encoding financial agreements: Manage agreements between users. Say, if one person buys insurance from an insurance company, the rules of when the insurance can be redeemed can be programmed into a smart contract.
- Agreements based on the outside world: Pull in data from the outside world (financial, political, or whatever) with the help of oracles.
- Provide third party: Similar to how a software library works, smart contracts can work with other smart contracts in a chain.
- Storage: Store information about an application, such as domain registration information or membership records. Storage in a blockchain like Ethereum is unique in that the data is immutable and can’t be erased.
How can smart contracts work together?
Smart contracts aren’t intended to be used in isolation. Some smart contracts are built to assist other smart contracts.
When someone, say, places a simple bet on the temperature on a hot summer day via a smart contract, it might trigger a chain reaction of contracts under the hood. One contract would use outside data to determine the weather, and another contract could settle the bet based on the information it received from the first contract when the conditions are met.
With this in mind, smart contracts form the building blocks for decentralized applications and even whole companies, dubbed decentralized autonomous companies, which are controlled by smart contracts rather than human executives.
How is a smart contract set up?
A developer can create a smart contract by writing a slab of code – spelling out the rules, such as that 10 ether can only be retrieved by Alice 10 years from now.
The developer then pushes the smart contract to the Ethereum network, which is what enforces the contract – not allowing anyone to take the money unless they follow the exact rules in the code. Thousands of computers from around the world then all have a copy of this smart contract.
How do I use a smart contract?
Anyone can use smart contracts if they have Ethereum’s native token ether, which can be bought on cryptocurrency exchanges.
Ethereum apps will usually provide instructions for how to use their specific app and underlying smart contracts. A common method is to use an Ethereum wallet tool, such as Metamask, to send the ether.
Users can use smart contracts for a range of use cases. Users can publish uncensorable posts to microblogging apps or lend out money without an intermediary, using a variety of Ethereum apps.
Do smart contracts cost anything?
Getting thousands of computers across the world to validate smart contracts often isn’t cheap, though, as recent ballooning Ethereum fees highlight. The user must pay a fee, typically in ether (Ethereum’s native token), to keep the network up and running. Fees go up when the network grows more congested.
Are smart contracts legally enforced?
To many Ethereum advocates, smart contracts are intended to live outside of the legal system because they are enforced automatically. If they work as they’re supposed to, users won’t need to go to a court to settle conflicts.
That said, many wonder how these contracts would be treated under the current legal system. The answer is complicated. One 2018 research paper from partners Stuart D. Levi and Alex B. Lipton determined that U.S. law should recognize many smart contracts.
But, every country has a different legal approach to cryptocurrencies and blockchains, with some more accepting of the new technology than others.
Are smart contracts the future?
Many developers, researchers, and even lawyers and doctors are excited about the promises of smart contracts.
But it’s early days for smart contracts. While users of smart contracts don’t need to trust intermediaries, users must trust that the code was written correctly, which is a big ask seeing as there are still plenty of security issues. Many bug exploits have been unearthed over the years which allowed bad actors to steal user funds. The hope is these issues will grow rarer as the code matures.
Source : https://www.coindesk.com/learn/ethereum-101/ethereum-smart-contracts-work