🔮
Ethereum
  • General
    • What is Ethereum
      • Ethereum & Bitcoin General Comparison
      • Singleton State
      • The Ethereum Virtual Machine (EVM)
      • Opcodes (operation codes) EVM
      • Ethereum Client
      • Forks
      • Gas (wei)
        • EIP-1559
        • Table Conversion (wei)
      • Proof of Stake (PoS)
      • Proof of Authority (PoA)
      • The Beacon Chain
      • Networks
        • Ethereum mainnet
        • Goerli
      • Account-based model & UTXO-based model
      • Externally Owned Account (EOA)
      • Node Clients
        • Geth
        • Nethermind
      • Contract Account
      • Smart Contract Upgradeability
      • Ultrasound Money
      • Merkle Trees
        • Patricia Merkle Tree
      • Tries
        • State Trie
        • Storage Trie
        • Transactions Trie
        • Receipts Trie
      • Transactions
        • Ethereum Transaction Architecture
      • World State
        • Chain of States
        • Chain of Blocks
        • Stack of Transactions / Mempool
      • Contract Creation
      • Message Call Transaction
      • P2P Network
      • Web3.js
      • Ether.js
        • Smart Contract Interaction Example
      • Web3.js vs Ether.js
      • Node Providers
      • ENS (Ethereum Name Service)
      • Web3 dapp
      • Escrow
      • Multi-signature
      • ERC-20 tokens
        • Send ERC20s to Contracts
      • NFTs
        • ERC-721 and ERC-1155
      • Solidity
        • State Variables
        • Data Location
        • Numbers
        • Modifiers
        • View & Pure Modifiers
        • Data Types
          • Modifiers
          • Modifiers (Functions)
          • Address & Address Payable
        • Hardhat
        • Payable Functions
        • Receive Function
        • Fallback Function
        • Global Variables
        • Self Destruct
        • Create2 Function
        • Revert function
        • Require function
        • Assert Function
        • Calldata
        • Interface
        • Mapping
        • Array
        • Struct
        • Inheritance
          • Virtual & Overwrite
          • Multiple inheritance
          • Hierarchical Inheritance
        • Events
          • Indexed (keyword)
          • LOG0 - LOG4
        • Multi-signature Example
        • Smart Contracts
          • Context
      • Application Binary Interface (ABI )
  • Extras
    • Terminology
      • Bytecode
      • Keccak-256
      • Turing complete
Powered by GitBook
On this page
  1. Extras
  2. Terminology

Turing complete

Turing completeness is a property of a computational system or programming language, rather than a tool or a process.

A system or language is said to be Turing complete if it can simulate any other computational system or language, and can solve any computational problem that can be solved by any other system or language.

In the context of blockchain and smart contracts, Turing completeness is a feature of the Ethereum Virtual Machine (EVM), which is responsible for executing smart contracts on the Ethereum network. The EVM is designed to be Turing complete, which allows developers to write smart contracts in high-level programming languages like Solidity, Vyper, and others that can be compiled into bytecode and executed on the EVM.

The ability to support Turing complete smart contracts is an important feature of the Ethereum platform, as it enables developers to create sophisticated and complex decentralized applications (dApps) that can solve a wide range of problems and perform a variety of tasks. However, it also brings additional complexity and security considerations to the development of smart contracts, as developers must take extra care to ensure that their contracts are secure and free from bugs and vulnerabilities.

The ability to support Turing complete smart contracts is one of the key differences between Ethereum and other blockchain platforms, such as Bitcoin, which use non-Turing complete scripting languages for their smart contracts. Turing completeness enables Ethereum to support a wide range of decentralized applications (dApps) and use cases, including decentralized finance (DeFi), supply chain management, digital identity, and more.

However, Turing completeness also brings additional complexity and security considerations to the development of smart contracts. Developers must take extra care to ensure that their smart contracts are secure and free from bugs and vulnerabilities that could be exploited by malicious actors. Additionally, the cost of executing complex smart contracts on the Ethereum network is measured in gas, which is a unit of computational resources that is used to pay for the cost of executing smart contracts. As a result, developers must also consider the gas costs of their smart contracts when designing and testing them.

PreviousKeccak-256

Last updated 2 years ago