How Do Ethereum Smart Contracts Work?
How Do Ethereum Smart Contracts Work?
Last updated: April 14, 2017 6:56 pm
Like many ideas in the blockchain industry, a general confusion shrouds so called ‘smart contracts’.
A new technology made possible by public blockchains, smart contracts are difficult to understand because the term partly confuses the core interaction described.
While a standard contract outlines the terms of a relationship (usually one enforceable by law), a smart contract enforces a relationship with cryptographic code.
Put differently, smart contracts are programs that execute exactly as they are set up to by their creators.
First conceived in 1993, the idea was originally described by computer scientist and cryptographer Nick Szabo as a kind of digital vending machine. In his famous example, he described how users could input data or value, and receive a finite item from a machine, in this case a real-world snack or a soft drink.
In a simple example, ethereum users can send 10 ether to a friend on a certain date using a smart contract (See our guide “What is Ether?“).
In this case, the user would create a contract, and push the data to that contract so that it could execute the desired command.
Ethereum is a platform that’s built specifically for creating smart contracts.
But these new tools aren’t intended to be used in isolation. It is believed that they can also form the building blocks for ‘decentralized applications’ (See: “What is a Dapp?“) and even whole decentralized autonomous companies (See: “What is a DAO?‘)
How smart contracts work
It’s worth noting that bitcoin was the first to support basic smart contracts in the sense that the network can transfer value from one person to another. The network of nodes will only validate transactions if certain conditions are met.
But, bitcoin is limited to the currency use case.
By contrast, ethereum replaces bitcoin’s more restrictive language (a scripting language of a hundred or so scripts) and replaces it with a language that allows developers to write their own programs.
Ethereum allows developers to program their own smart contracts, or ‘autonomous agents’, as the ethereum white paper calls them. The language is ‘Turing-complete’, meaning it supports a broader set of computational instructions.
Smart contracts can:
- Function as ‘multi-signature’ accounts, so that funds are spent only when a required percentage of people agree
- Manage agreements between users, say, if one buys insurance from the other
- Provide utility to other contracts (similar to how a software library works)
- Store information about an application, such as domain registration information or membership records.
Strength in numbers
Extrapolating that last point, smart contracts are likely to need assistance from other smart contracts.
When someone places a simple bet on the temperature on a hot summer day, it might trigger a sequence 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.
Running each contract requires ether transaction fees, which depend on the amount of computational power required.
As explained in our guide “How Ethereum Works“, ethereum runs smart contract code when a user or another contract sends it a message with enough transaction fees.
The Ethereum Virtual Machine then executes smart contracts in ‘bytecode’, or a series of ones and zeroes that can be read and interpreted by the network.
Authored by Alyssa Hertig; images by Maria Kuznetsov
Article Source: http://www.coindesk.com
A Beginner’s Guide to Blockchain Technology
- Can Bitcoin Scale?
- How Bitcoin Mining Works
- How Can I Buy Bitcoins?
- How Could Blockchain Technology Change Finance?
- How do Bitcoin Transactions Work?
- How Do Ethereum Smart Contracts Work?
- How Does Blockchain Technology Work?
- How Does Cloud Mining Bitcoin Work?
- How Ethereum Mining Works
- How Ethereum Works
- How to Make a Paper Bitcoin Wallet
- How to Mine Ethereum
- How to Mine Litecoin and other Altcoins
- How to Set Up a Bitcoin Miner
- How to Store Your Bitcoins
- How to Use Ethereum
- What are Bitcoin Mining Pools?
- What are Blockchain’s Issues and Limitations?
- What Are the Applications and Use Cases of Blockchains?
- What Can a Blockchain Do?
- What Can You Buy with Bitcoin?
- What is a DAO?
- What is a Decentralized Application?
- What is a Distributed Ledger?
- What is Bitcoin?
- What is Blockchain Technology?
- What is Ether?
- What is Ethereum?
- What is SegWit?
- What is the Difference Between a Blockchain and a Database?
- What is the Difference Between Litecoin and Bitcoin?
- What is the Difference Between Public and Permissioned Blockchains?
- What is the Lightning Network?
- Who Created Ethereum?
- Who is Satoshi Nakamoto?
- Why Use a Blockchain?
- Why Use Bitcoin?
- You Can Now Get Paid (A Little) For Using Bitcoin’s Lightning Network
August 14, 2018 9:25 AM | By Jit Sutradhar
- Below $200 Billion: Crypto Market Sinks to New 2018 Low
August 14, 2018 9:15 AM | By Jit Sutradhar
- Bitcoin Price Hits 7-Month High Against Turkish Lira
August 14, 2018 9:06 AM | By Jit Sutradhar
- Korea’s Jeju Island Seeks to Become an ICO Hub Despite Domestic Ban
August 14, 2018 8:56 AM | By Jit Sutradhar
You Can Now Get Paid (A Little) For Using Bitcoin’s Lightning Network
In Rare Decision, ICO Founders Will Delay Crypto Paydays – For a Decade
Crypto Unicorn Bitmain Weighs $18 Billion IPO, One of World’s Largest
Bitcoin Dominance Rate Hits 50% For First Time in 2018
Volumes Surge on Turkey’s Crypto Exchanges as Lira Tanks