Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Turing Machine in Blockchain, Study notes of Theory of Computation

Turing Machines Blockchain Ethereum Turing completeness

Typology: Study notes

2022/2023

Uploaded on 07/25/2023

jinay-jain
jinay-jain 🇮🇳

2 documents

1 / 5

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Turing Machines in Blockchain
The existence of machines with this property has the important consequence that,
considerations of speed apart, it is unnecessary to design various new machines to do
various computing processes. They can all be done with one digital computer, suitably
programmed for each case.
— Turing, 1950.
The theoretical study of computing dates back to before computers were invented. Alan
Turing, an English mathematician who had a keen interest in studying the theoretical
capabilities and limitations of computation, came up with one of the earliest models of
computation in the 1930s. This model is known as a Turing machine, a relatively
straightforward abstract computing device. Even though regular expressions, finite-state
machines, and grammars all have applications, Turing machines serve as a
fundamental model for computation, so every computer scientist should be familiar with
them at least in a general sense.
Source: Wikipedia
Formal Definition
A Turing Machine is expressed as a 7-tuple (Q, T, B, ∑, δ, q0, F) where:
Q is a finite set of states
pf3
pf4
pf5

Partial preview of the text

Download Turing Machine in Blockchain and more Study notes Theory of Computation in PDF only on Docsity!

Turing Machines in Blockchain The existence of machines with this property has the important consequence that, considerations of speed apart, it is unnecessary to design various new machines to do various computing processes. They can all be done with one digital computer, suitably programmed for each case. — Turing, 1950. The theoretical study of computing dates back to before computers were invented. Alan Turing, an English mathematician who had a keen interest in studying the theoretical capabilities and limitations of computation, came up with one of the earliest models of computation in the 1930s. This model is known as a Turing machine, a relatively straightforward abstract computing device. Even though regular expressions, finite-state machines, and grammars all have applications, Turing machines serve as a fundamental model for computation, so every computer scientist should be familiar with them at least in a general sense. Source: Wikipedia Formal Definition A Turing Machine is expressed as a 7-tuple (Q, T, B, ∑, δ, q0, F) where: ● Q is a finite set of states

● T is the tape alphabet (symbols which can be written on Tape) ● B is blank symbol (every cell is filled with B except input alphabet initially) ● ∑ is the input alphabet (symbols which are part of input alphabet) ● δ is a transition function which maps Q × T → Q × T × {L,R}. Depending on its present state and present tape alphabet (pointed by head pointer), it will move to a new state, change the tape symbol (may or may not) and move head pointer to either left or right. ● q0 is the initial state ● F is the set of final states. If any state of F is reached, input string is accepted. Source: Wikipedia Why is this important? Turing never invented a machine. An abstract model for all machines was developed by Turing. To put it another way, a Turing machine can be used to create any algorithm ever. A Turing machine can run anything, from a straightforward algebraic calculation to a complex video game. Universality is the most important feature of Turing machines and all other comparable models of computation: The surprising adaptability of Turing machines and other models of computation is due to the fact that there is only one Turing machine, U, that is capable of simulating any other Turing machine, even those with significantly more states than U. This ability for self-reference (the language of Turing machines is expressive enough to write an interpreter for itself) is the source of the Turing machine's surprising versatility. It is also the Pandora’s Box that allows us to come up with undecidable problems

Source: bankrate.com Ethereum was designed to be Turing complete in two ways. ● Ethereum’s smart contracts are written using the Solidity programming language, a general-purpose Turing complete language developed specifically for Ethereum. ● The Ethereum Virtual Machine (EVM), which executes the smart contracts according to the program, is a Turing complete machine. Even if the function or utility of a smart contract hasn't been thought of yet, the EVM can process any configuration. As a result, Ethereum's debut as the first Turing complete blockchain marked a significant turning point in the development of blockchain technology's capabilities. Ethereum permits a potentially infinite number of applications rather than being restricted to a limited set of use cases. Drawbacks of Turing completeness in blockchain Turing complete systems' greatest strength is their infinitely programmable nature, which can also be a significant weakness, especially in public blockchains where code is visible to everyone. This indicates that the code may be susceptible to disruptions (such as smart contract bugs) or unintended uses that hinder the protocol's intended operation. Programming any kind of computation opens up a wide range of outcomes, and it is impossible to foresee all of them. A patch can be issued immediately by the company that owns the code in the event of an unexpected problem in a centralized system. However, if someone manages to trigger an outcome that was not anticipated by the developer, it can cause significant disruption in a blockchain-based system. Software updates can take longer to complete

because the community must vote on each change because the blockchain is decentralized. Source: techcrunch.com The DAO, a smart contract built on Ethereum in 2016 as a kind of decentralized venture capital fund, is one of the most well-known examples of this. A malicious actor was able to steal over $150 million in investor funds from an Ethereum smart contract in a move that is now known as a Reentrancy Attack. This led to a contentious decision to roll back the Ethereum blockchain in order to recover the funds from the attacker. The Ethereum Classic fork was the result of this incident. Developers have updated programming best practices to address this vulnerability since the DAO incident. However, it is possible that new vulnerabilities will continue to emerge in a Turing complete system where innovators are constantly writing new code.