-
What does the EVM do?
The Ethereum Virtual Macine reads executes smart contracts independently from smart contracts and CPUs. It is a code that is run by all nodes in the Ethereum network. -
What is the format of the instructions that the EVM can read?
EVM Bytecode -
What is the relationship between the programming language Solidity and Bytecode?
Solidity is the Human programming language that gets compiled into Bytecode. -
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because the language of BTC is not turing complete, therefore very limited. -
What is a Turing Complete programming language?
Turing Complete language is a complete language that can program all the necessary things a program needs to execute to solve a problem. This language allows for Loops.
-
The EVM reads and executes the code written on smart contracts
-
EVM byte code
-
Bytecode is compiled Solidity code that the EVM can read
-
Because Bitcoin script is not Turing Complete
-
A Turing Complete programming language is able to execute all mathematical operations and users can theoretically program anything
- What does the EVM do?
- What is the format of the instructions that the EVM can read?
- What is the relationship between the programming language Solidity and Bytecode?
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
- What is a Turing Complete programming language?
A1: The EVM is the Ethereum Virtual Machine which is basically a global computer. It runs on each node allowing the network of computers to run smart contracts.
A2: It reads “bytecode” which is programmed in Solidity and then compiled so that the EVM can read it and execute the code.
A3: Solidity is the programming language that developers use, it is compiled and then read by the EVM as Bytecode.
A4:Bitcoin has limited functionality because it used Script which is not “Turing Complete”. EVM uses solidity which is Turing complete meaning it can execute a complete set of computer instructions including “loops”/
A5: It means it can run loops and execute a complete set of programmable functions.
- evm reads smart contract then tells the cpu what to do
- bytecode
- solidity is the programming language which get converted to bytecode
- its programming language script does not have this option because it is not turing complete its too basic
- with a turing complete programming language you can program the smart contract in any possible way that you would like
-
EVM makes it possible to execute code on the Eth network in such a way that all nodes are consensus on what the code should be.
-
Smart contracts
-
Solidity is the programming language used for smart contracts that creates Byte code for the EVM to read the contract.
-
BTC script is not turing complete.
-
Turing complete is a function of a programming language that allows loops. Loops are able to limit processes to a certain number of times.
- The EVM reads a smart contract before having the CPU execute the contract in order to protect the CPU from malicious content.
- The EVM can read bytecode.
- Solidity is the language programmers write in and then it is compiled into bytecode for the EVM to understand.
- Bitcoin will not use a Turing complete programming language.
- A Turing complete programming language like Solidity would allow loops of a program to be run over . Anything that you can think of making “theoretically” is possible with a TC programming language.
-
the EVM reads smart contracts and provides security
-
byte code
-
solidity executes the bytecode and makes it readable by a human
-
lack of dynamic programming
-
a language that can fully compute everything that needs computing
- What does the EVM do? Runs on top of the Eth nodes in a VM and helps with running the smart contracts.
- What is the format of the instructions that the EVM can read? - Bytecode
- What is the relationship between the programming language Solidity and Bytecode? Solidity is the programming language that can be compiled into bytecode for the EVM to read.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can? - It is not turning complete like Ethereum is.
- What is a Turing Complete programming language? A programing language that is very flexible allowing individuals to make a programming language from scratch.
-
EVM execute smart contracts code. It also secure the nodes CPU’s from potentially dangerous code which could be inserted in smart contract.
-
Byte code.
-
In Solidity we write a code like in any other language and then it compiler to byte code so the EVM can read.
-
Because Bitcoin has it’s own programming language “script” but it’s not turing complete.
-
Turing complete language is complex language that contains all the features like loops to interact with the machine. Everything that we write can be execute.
- It runs the evm byte code that smart contracts and apps have been compiled to.
- Byte code
- Solidity is the turing complete programming language that evm applications are written in. The byte code is what Solidity is compiled into to run on the EVM.
- Bitcoin’s Script programming language is not turning complete.
- A turing complete language is one that can solve all the same problems that a turning machine can. And a turning machine can solve any computable problem.
- What does the EVM do?
The EVM or Ethereum virtual machine is an application that runs on all the computer nodes in the Ethereum network and its main purpose is to, read and execute all smart contracts in order to obtain data that is verifiable via consensus among the Ethereum blockchain. Also, the EVM acts as a capsule that isolates the instructions written in the smart contract and malicious actions to take place in the computer nodes.
- What is the format of the instructions that the EVM can read?
The EVM can read only read smart contracts that have been compiled into byte code.
- What is the relationship between the programming language Solidity and Bytecode?
Solidity and bytecode have an indirect relationship, through the use of a compiler program, any smart contract written in solidity (or any other programming language) can be turned into a readable format by the EVM.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoin has a non-touring complete scripting language that limits its capabilities to a very simple transactional and store of value blockchain.
-
What is a Turing Complete programming language?
A Turing complete programming language is a language that, in theory, is limitless in programming possibilities.
-
What does the EVM do?
EVM gets compiled solidity code and uses it to tell the CPU exactly what to do for the smart contract. -
What is the format of the instructions that the EVM can read?
The format of instruction is taken in bytes originating from a Solidity compiler. -
What is the relationship between the programming language Solidity and Bytecode? The relationship is that the original bytecode was originally Solidity code, but ran through a Solidity compiler thus extracting the bytecode for the EVM to read.
-
Why can’t Bitcoin run the same type of complex programs as Ethereum can? This is because the Bitcoin network is not Turing Complete, meaning it cannot solve all language-based problems that most likely would be required.
-
What is a Turing Complete programming language?
Turing Complete language is one that can perform any computation universally.
Homework on EVM - Questions (Updated on Dec 3 2019)
1. What does the EVM do?
The Ethereum Virtual Machine reads and executes smart contracts.
2. What is the format of the instructions that the EVM can read?
The format in which the EVM can read instructions is Byte code.
3. What is the relationship between the programming language Solidity and Bytecode?
Smart contracts are written in the programming language Solidity. It is then compiled into Byte code so it can be read by the EVM.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
The programming language used for Bitcoin is script. This language is not able to execute complex programs. It is called a not turing complete language.
5. What is a Turing Complete programming language?
A turing complete language is a programming language able to programme complex smart contracts. It is for example able to programme loops so certain actions can be repeated.
-
What does the EVM do?
Allow the code to be executed on the blockchain network of a CPU instead of on your own CPU -
What is the format of the instructions that the EVM can read?
Solidity code, similar to javascript -
What is the relationship between the programming language Solidity and Bytecode?
Solidity is the higher level code, it is compiled into bytecode which can be executed directly -
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin can only run basic code, non-turing code versus Ethereums turing code. -
What is a Turing Complete programming language?
It is able to do looping in its code, and contained within the EVM environment
1- EVM is an application that runs on top of every node, separating the smart contracts from the CPU
2- EVM reads every instruction in bytecode, the only thing needed is for the smart contract to be written in a language that compiles to bytecode
3- Solidity is a programming language that compiles to bytecode
4- Bitcoin is not Turing complete, so it only can record and track transactions
5- A Turing complete programming language can solve any mathematical problem, meaning that can be programmed to do anything, like LOOPS
What does the EVM do?
EVM provides a run time environment for solidity. It acts as an interface between byte code and CPU restricting direct access of CPU.
What is the format of the instructions that the EVM can read?
EVM can read only bytecode.
What is the relationship between the programming language Solidity and Bytecode?
Solidity is Ethereum’s programming language, which is in turn compiled into Byte Code.
Why can’t Bitcoin run the same type of complex programs as Ethereum can?
The reason is that Bitcoin is “not Turing complete”, can execute only primitive code.
What is a Turing Complete programming language?
Turing Complete programming language is a concept that allows a programmer to write down any computational issues he/she can think of.
-
What does the EVM do?
The EVM reads and executes the byte code in the smart contracts, telling the CPU what to do. -
What is the format of the instructions that the EVM can read?
Byte code. -
What is the relationship between the programming language Solidity and Bytecode?
Solidity is compiled into byte code. -
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Script, the language used in Bitcoin is not turing complete, making it limited in comparison to Solidity. -
What is a Turing Complete programming language?
It is a complex programming language that has the ability to loop.
- check the information, make all save - trust. its runs the smart contracts
- EVM can read byte code
- we use solidity to program the tasks which is coming to a byte code, then EVM comes to read the byte code and sent the result to nodes for completing operations
- BTC cannot solve difficult task, its limited capabilities on this
- its mean that in theory you can program any task
-
an EVM ensures the security of the blockchain. Ensures no malicious commands move through to each individual node on the ethereum blockchain.
-
Bytecode
-
solidity, like JavaScript and other programming languages, condenses info into Bytecode which the EVM can then read.
-
Bitcoin is not Turing complete.
-
an example is Solidity. A Turing complete programming language can be programmed to do theoretically anything. It can preform loops, which are a feature of a program that can repeat specific commands thousands of time, while completing the computational differences in each ‘loop’
-
What does the EVM do?
It allows developers to create decentralized applications (Dapps). -
What is the format of the instructions that the EVM can read?
EVM can read instruction in Bytecode format. -
What is the relationship between the programming language Solidity and Bytecode?
Solidity will compile the solidity code using a compiler into Bytecode. Then EVM will read and execute the Bytecode. -
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because the script language in the Bitcoin is turing complete for security reason. -
What is a Turing Complete programming language?
In theory it can solve all kind of problem in the Ethereum platform.