- EVM is Etherum Virtual Machine. It runs on top of existing hardware, such as CPU and it goes through the smart contract before CPU can execute the contract to protect from malicious content.
- EVM reads bytecode
- Solidity is the language programmes write in and then it is compiled into bytecode for EVM to understand
- Because it is runned on the programming language Script and it’s not turing complete
- It is programming language that has no limits or complexity, it allows programmers to “solve any problem”.
Hi,
- EVMs serves as a middleman to facilitate the execution of smart contracts.
- The EVM reads byte code.
- Solidity is compiled into byte code using a compiler.
- Script, is not turing complete.
- A turing complete programming language is a language capable of complete customization. If you can imagine it, it can be programmed into code.
1- Ethereum Virtual Machines
a. Executes the byte code written in the Smart Contracts deployed in the Ethereum blockchain
b. Guide CPU in what to do.
c. Acts as a security between CPU and Smart Contracts protecting from malicious code.
2- Byte Code.
3- Solidity is the Ethereum programing language that uses a compiler to translate into bytecode. EVM then reads and executes bytecodes
4- Bitcoin uses Script as programing language which is limited and it is not a Turing Complete Language used in Ethereum (Solidity) .
5- Turing Complete languages enable developers to create new features increasing the size of the opportunities inside the platform (ie: loops)
-
- What does the EVM do?
A: The EVM reads the instructions in a smart contract and tells the CPU to execute said instructions. If all node’s EVMs reach consensus, instructions are executed.
- What does the EVM do?
-
- What is the format of the instructions that the EVM can read?
A: The EVM can read smart contract instructions written in Bytecode.
- What is the format of the instructions that the EVM can read?
-
- What is the relationship between the programming language Solidity and Bytecode?
A: The smart contract is programmed in Solidity and translated/compiled into Bytecode for the EVM to understand and execute.
- 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?
A: The programming language of Bitcoin (Script) is not able to perform complex operations. It is not turing complete and thus a primitive language.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
-
- What is a Turing Complete programming language?
A: One that allows great programming flexibility, including loops, which Bitcoin’s “Script” does not.
- What is a Turing Complete programming language?
- EVM read the instructions of a smart contract, make the calculations and tell the CPU what to do
- EVM byte code
- Solidity is the programing language for writing instructions of a smart contract and it has to be compiled into Bytecode to get read by EVM
- For protection reasons not to get spammed for example because of loops which could cause an increase on the blockchain size because you would have to store all of the SC
- A program language you can solve any problem with
- EVM makes smart contract run on top of hardware on each node.
- It reads and executes smart contracts.
- Solidity has to be put into byte code for the EVM to read it.
- Bitcoin is a lot more basic program. It is not Turin complete.
- Solidity
-
What does the EVM do?
EVM reads the smart contracts and instruct the CUP to enable the transactions. EVM is ensuring the security of smart contract that all of the nodes are in consensus about the instructions. -
What is the format of the instructions that the EVM can read?
EVM read bytecode. -
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?
Bitcoin is with Blockchain 1.0 and Ethereal is blockchain 2.0. Bitcoin has already Script that allows to add limited conditions on the coins.Bitcoin community did not want to run a risk by looping feature of complete language. -
What is a Turing Complete programming language?
Solidity is one of a Turing complete programming language , that allows programming any instructions as smart contract on the blockchain.
- Solidity is the language that smart contract are written and it is complied to Bytecode so that EVM can read.
Homework on EVM - Questions (Updated on Dec 3 2019)
-
What does the EVM do?
-Ethereum Virtual Machine interprets and execute smart contracts. Does not allow malicious program to take over CPU. -
What is the format of the instructions that the EVM can read?
-EVM it reads the byte code from the SC. -
What is the relationship between the programming language Solidity and Bytecode?
-Solidity which allows a user to program and compiled that takes the code and compile the logic into bytecode. Allows the EVM reads the bytecode. -
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
-Because it is using Script Language which is not turing complete. -
What is a Turing Complete programming language?
-Turing complete is a program which allows loops. Which allows 1 program to run multiple times over and over.
-
The EVM executes smart contracts on all individual nodes.
-
Bytecode
-
The Ethereum smart contract itself is written in human-readable Solidity code that is then later compiled into Bytecode.
-
Because the script coding language Bitcoin uses is not turing complete.
-
A turing complete programming language is unlimited in complexity as it allows loops of a program to be run, which means that it allows for one thing to be done several times.
Ethereum virtual machine takes codes from smart contract and compile it into byte code to be executed by ethereum blockchain CPUs.
Byte code.
The smart contract written by solidity is compiled into byte code to be executed by EVM.
Because bitcoin is using a programming language which is called Script which is a none turing language so it can’t do complex operation.
It is the language which can do complex operations like loops … etc and you can use it to program everything.
- EVM reads byte code of SC and communicates it to CPU for execution
- Byte format
- Solidity is programing Lang. compiled by a programing language (compiler) to byte code that can. be read by EVM
- Because bitcoin script is not Turing complete.
- This means you can program ‘anything’ you can think of
What does EVM do?
The EVM, Ethereum Virtual Machine executes Smart Contracts on a Computer (node).
What is the format of the instructions that the EVM can read?
The EVM executes scripts written in Bytecode programming language.
What is the relationship between the programming language Solidity and Bytecode?
Solidity is the protocoll used within the chain to write smart contracts in human readable form, it is compiled to Bytecode that is the machine language executed in EVM.
Why can´t Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoins programming language script is not turing complete to avoid spam.
What is a Turing Complete programming language?
A turing complete programming language is able to solve all mathematical problems, so basically you can everything you can think of with it. It includes loops and conditions.
- EVM allows for computers on the Ethereum network read and follow smart contracts and validate them.
- Byte code.
- You write a smart contract in Solidity and then it is compiled to Bytecode for the EVM to read/follow.
- They were worried about spamming and decided that bitcoin should be a digital gold. Bitcoin also runs on script which is not a Turing complete language.
- One that can follow loops.
- EVM is an application that intermediates the interaction between a smart contract running on the ETH network and the CPU in each of the networks nodes.
2.EVM only understands byte code. - Solidity is the language used by the user creating the contract which will then be compiled into byte code so that it becomes legible to the EVM.
4.Bitcoin language, Script, is very simple and not turing complete. This limits the amount of complexity that the protocol can handle. Solidity on ETH is turing complete and therefore allowing theoretically anything that can be though of to be programmed. - Turing complete lenguage can execute loops and other complex operations.
- What does the EVM do?
EVM executes a smart contract on each node using the host CPU. It ensures that the same result is obtained from each node, if this does not happen the smart contract would be invalid - What is the format of the instructions that the EVM can read?
EVM reads byte code which is compiled from a programming language such as Solidity or Viper - What is the relationship between the programming language Solidity and Bytecode?
Solidity is the ‘plain language’ version of what the smart contract is required to do. This has to be understandable by the EVM so a compiler converts this code into bytecode - Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is limited in what can be programmed, the script language is not Turing complete - What is a Turing Complete programming language?
This type of language will theoretically allow any set of actions to be programmed, however it may result in issues such as scalability
Answer all questions and post your answers in the thread linked below.
- What does the EVM do?
- EVM Reads the smartcontract ( is in Bytecode ) generated by Solidity and excecutes this code
- What is the format of the instructions that the EVM can read?
- EVM Bytecode is the format of the instructions
- What is the relationship between the programming language Solidity and Bytecode?
- Solidity is the compiler for your contract and will creates the actual bytecode smartcontract
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
- the language uses in Bitcoun is Script and is NOT a turning compleet language.
- Script is unable to handle loops for example
- What is a Turing Complete programming language?
- This language is capable to solve ALL complex problems
What does EVM do?
EVM (Ethereum Virtual Machine) reads smart contracts, helps provide a high level of security.
What is the format of the instructions that EVM can read?
EVM developers have created a programming language called Solidity. With Solidity, programmers can speed up the creation of these programs, thanks to the fact that it serves as an interface to a series of operation codes or OP_CODES. These OP_CODES are a more abstract way of giving instructions to the EVM. But also, each of these OP_CODES is then transformed to a bytecode or machine language.
This in order to facilitate the performance of the EVM. In fact, what the EVM actually executes is this bytecode, which is generated by a piece of software called a compiler.
The EVM is a software designed to emulate a machine with certain capabilities that make the Ethereum blockchain possible.
What is the relationship between the Solidity and Bytecode programming language?
The developer uses Solidity to write their smart contracts quickly and easily. But from this point on, this developer uses special tools to transform this code into OP_CODES and finally into bytecodes so that the EVM can carry out all the instructions that have been programmed.
Why can’t Bitcoin run the same kind of complex programs like Ethereum?
Bitcoin is not complete, unlike Ethereum which is complete.
What is a Turing Complete programming language?
It is a flexible programming language that allows people to solve problems by creating a programming language from scratch.
-
What does the EVM do?
EVM sits in the ETH nodes
Enables the creation of smart contracts - it reads the instructions in the program , gets a result, then reaches consensus if all the other EVM have the same result. -
What is the format of the instructions that the EVM can read?
byte code compiled in solidity -
What is the relationship between the programming language Solidity and Bytecode?
The solidity compiler will translate the instructions for a smart contract into a readable form for the EVM called Bytecode -
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
I would slow the throughput of Tx by potentially cluttering the blockchains as Ivan describes the looping feature would do -
What is a Turing Complete programming language? You can write smart contracts to solve any problem because it can perform looping for instance,
-
What does the EVM do?
An EVM is used to read and execute a smart contract on the Ethereum network. This is done be reading the bytecode which tells the CPU to execute the smart contract. This is a form of sandbox like feature on the software which runs on all nodes, and also provides a layer of security instead of CPU reading and executing the smart contracts on the hardware. -
What is the format of the instructions that the EVM can read?
EVM instruction are read in Bytecode on the solidity compiler. - What is the relationship between the programming language Solidity and Bytecode? A smart contract is written in Solidity which is a higher language of programming similar to that of Javascript. Solidity compiler converts code logic and instruction into Bytecode structure for EVM. In order for smart contract (programmable money) to be possible a “Turing Complete” is necessary which Solidity successfully achieves.
-
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is a non “Turing Complete”, which means that the script language cannot solve all problems that it might have to solve. Turing Complete allows for looping which Bitcoin is programmed in C++. However blockchain size would be greatly affect if one was to launch smart contract with a lot of looping. -
What is a Turing Complete programming language?
A “Turing Complete” programming language allows for full programmability on the Ethereum platform if developers want. In principle, there’s no limit (complexity) to what one can program using Solidity. Looping allows this to be possible by eliminating one having to write all instructions by hand.