At the core of the Ethereum blockchain lies the concept of smart contracts. The original motivation for Ethereum actually stems from Bitcoin’s scripting limitations, which provide limited support for smart contracts.

OK — but what does that mean exactly?

Well, Bitcoin has limited support for smart contracts because its scripting language is non-Turing-complete, in part due to its lack of loops. This means that there are many applications that can be programmed on Ethereum by developers, but not on Bitcoin. Technically speaking, Ethereum has been designed from the beginning as “a platform for the deployment and execution of smart contracts.”
Turing-Completeness

What does Turing-complete mean?

Ethereum’s Turing-complete language is originally based on Alan Turing’s concept of a Universal Turing machine (UTM).

Simply put, a Turing machine is a hypothetical machine invented by the mathematician Alan Turing in 1936. Despite its simplicity, it can simulate any computer algorithm, no matter how complicated.
The UTM is nothing more than a Turing machine that simulates an arbitrary Turing machine on an arbitrary input. However, since Ethereum implements the concept of a gas limit, developers cannot run programs that require more gas than the gas limit. This is why the Ethereum yellow paper calls the Ethereum Virtual Machine, the EVM, a “quasi-Turing-complete machine”.

In spite of many similarities, Ethereum is not really Turing-complete, since developers cannot program anything they want without gas.

OK— but we still need to understand what a smart contract is!

Smart Contracts

Let’s take a quick look at the definition of a smart contract:
A smart contract is a self-executing contract. This means that the terms of the agreement between buyer and seller are written directly into the code.

The code, and the agreements contained therein, exist across a distributed, decentralised blockchain network.

The code controls the execution, and transactions are trackable and irreversible.
Do you grasp everything from a theoretical perspective? Great, now let’s get hands-on.
Note: If you want to delve even deeper into the history of Ethereum and smart contracts I recommend this blog post.

#ethereum #smart-contracts #blockchain #solidity #programming

How to Simply Deploy a Smart Contract on Ethereum
1.45 GEEK