1- The Ethereum Virtual machine… reads/makes sense of the byte code of a smart contract and tells the each nodes cpu what to execute.
2- The EVM reads the byte code of a contract that is written in(can be multiple coding languages) solidity.
3- The programming language is how a programmer writes commands/ logic for a smart contract. This code is then compiled down to give the computer is readable byte code language that it uses to carry out said commands.
4- because it is not turing complete language. Script can only be used for simple programming.
5- Turing complete allows the programmer to have infinite possibilities (in theory). It allows for programable loops and more complex programming.
Ethereum Virtual Machine is the software that runs on every node and can read the so called „EVM bytecode“ and can execute it and distribute it to the other nodes.
It‘s the EVM bytecode
Solidity is the programming language you can actually program. The compiler afterwards will translates it into byte-codes and this can be read by EVM.
Bitcoin is not turing complete hence cannot handle loops.
TC means it can handle loops and can handle anything you can think of:-)
- What does the EVM do?
Etherium Virtual Machine reads the smart contracts and translates de code to the CPU understanding so it follows the commands - What is the format of the instructions that the EVM can read?
Bytecode - What is the relationship between the programming language Solidity and Bytecode?
The EVM is the encharged of compiling Solidity in to Bytecode - Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because it doesnt use Turing Complete programing language - What is a Turing Complete programming language?
It means the language used can solve any code problem
-
The Ethereum Virtual Machine (EVM) reads & executes Smart Contracts (SC) on the Ethereum blockchain by instructing the connected Ethereum nodes to complete functions & compare their results. If all connected nodes achieve the same results then Consensus has been reached, and the EVM had properly executed the SC code. Important Edit after reading @tenbad’s post above - The EVM keeps the SC code isolated from the CPUs of the nodes, preventing malicious actors from taking control of the nodes.
-
EVM reads & executes EVM Bytecode, which is compiled from Solidity, the native language for writing SCs on the Ethereum blockchain.
-
Solidity is a Javascript-like language that developers use to write Smart Contracts on the Ethereum blockchain. When executing the SC, the Solidity code is compiled into EVM Bytecode, which the EVM can then read & execute (by, in turn, sending instructions to all ETH nodes).
-
Bitcoin’s language “Script” is not Turing Complete, meaning it lacks some crucial functionality for complex programs, e.g. loops.
-
A Turing Complete programming language can be used to emulate a Turing machine, i.e. the language can be used to write code to execute any computer algorithm. (Oh boy.)
Oh Wow!!! I am so glad to hear you say that! I was thinking the same thing! I am an English major and I haven’t gotten to Solidity as of yet, but I realized very recently that this whole thing is like English to a degree. The numbers that are plugged in make it more of a word problem that you have learned about early on in like elementary math. If you are willing to see it like mathematical word problems and the formation of communicable statements it begins to flow and becomes more digestible.
-
Ethereum vertual machine is an application that runs on the hardware of nodes that reads and excutes code allows the network to reach consensus.
-
The EVM reads regular code along with smart contracts. EVM reads the contracts through byte code
-
EVM only reads bytecode so when a smart contract is created in a programming language like solidity a compiler has to reconfigured the programming languga into bytecode
-
Bitcoin cannot use the same complex programming as Eth because BTC uses scrypt programming language which is not turing complete.
-
A TC programming Language can repeat instructions in a loop many, many times if needed for the program.
-
What does the EVM do?
reads the instructions in a smart contract. -
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 a programming language and Bytcode is a reading language. -
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
because uses Script -
What is a Turing Complete programming language?
A Turing Complete system means a system in which a program can be written that will find an answer although with no guarantees regarding runtime or memory.
1. What does the EVM do?
Ethereum virtual machine (EVM) is responsible for reading & executing smart contracts.
2. What is the format of the instructions that the EVM can read?
Bytecode
3. What is the relationship between the programming language Solidity and Bytecode?
Smart contracts are programmed in Solidity and then compiled into Bytecode to be read by the EVM.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is not turing complete, and has limited programming capabilities which only allow bitcoin to transact and serve as a store of value.
5. What is a Turing Complete programming language?
This means that in theory the programming language can be used to solve any computational problem, and used for complex programming such as smart contracts and decentralized applications.
1. What does the EVM do?
The Ethereum Virtual Machine ( EVM ) is a powerful, sandboxed virtual stack embedded within each full Ethereum node, responsible for executing contract bytecode. Contracts are typically written in higher level languages, like Solidity, then compiled to EVM bytecode.
2. What is the format of the instructions that the EVM can read?
Smart contract languages like Solidity cannot be executed by the EVM directly. Instead, they are compiled to low-level machine instructions (called opcodes ).
Under the hood, the EVM uses a set of instructions (called opcodes ) to execute specific tasks. At the time of writing, there are 140 unique opcodes . Together, these opcodes allow the EVM to be Turing-complete. This means the EVM is able to compute (almost) anything, given enough resources. Because opcodes are 1 byte, there can only be a maximum of 256 (16²) opcodes.
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is compiled of bytecode that is subsequently executed on the EVM. To date, there are a total of 142 valid opcodes that make up the bytecode necessary to compile any Ethereum smart contract.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses C++ programming and has less than 70
specific commands that can be used. This limitation provides more security because it is much more difficult to hack the blockchain within those set commands. It was designed as a digital currency only and therefore does not need the flexibility and added risk of smart contracts. It is not a Turing complete program.
5. What is a Turing Complete programming language?
Vitalik Buterin, founder of Ethereum describes a Turing Complete Programming language as the one that allow Loops. Solidity allows writing Loops but Bitcoin Scripting language does not (Doing something 100 times would require copy pasting 100 times).
1. What does the EVM do?
Virtual machine convert programming language to comands to CPU and also has role as CPU proctector
2. What is the format of instructions that the EVM can read?
EVM can read Bytecode from node
3. What is the relationship between the programming language Solidity and Byte code?
EVN reads Bytecode from Smart contract written in Solidyty
4. Why can’t Bitcoin run the same type of complex programs like Eth can?
Because Bitcoin uses Script as a programming language. This language can only write simple commands not like Eth language Solidity.
5. What is a turing complete programming language?
It meas that you can write whatever you want in theory
-
EVM is a small piece of code that is run on the hardware of a computer mainly the CPU and is used to read, look at the instructions of a smart contract. translate it from solidity to bytecode - done through the compiler app - and do the calculations before telling the CPU to execute the contract. This is done by all the EVMs and CPUs of the nodes in the network and if the result from all of them are the same after executing the contract, then a consensus is reached as to what happens in one specific smart contract. EVM is also used for security reasons as a smart contract can take control of a computer and CPU and have control over the ethereum network.
-
The format of the instructions are in Solidity and are translated into bytecode which is what the EVM reads through an app called a compiler.
-
Solidity is being translated into bytecode useding the compiler app so that EVM can read it, do the necessary calculations, and give orders to the CPU to execute the contract to see the end result of the smart contract.
-
Because Bitcoin is written in Script which is not a Turing complete language. It allows for some flexibility and coding such as the multi sig where a number of parties need to add their signature before a transaction is approved by the wallet before it is broadcasted but not much other than that.
-
A Turing Complete language such as Solidity is a more advanced programming language which allows for more flexibility in programming and one of its key characteristics are the loops with which one can program a set (or just one) actions to be repeated as many times as one wants.
-
Read the smart contract and execute it on your computer.
-
The solidity language code. The EVM will compile the solidity language and transform it in byte code.
-
The EVM will read the solidity language and convert it in Bytecode to give instruction to the CPU.
-
Because some people on the bitcoin network could spam loop and that might create massive bitcoin or create to much version of bitcoin.
-
It is a programming language in which you can create any program you wan, the sky is the limit.
- What does the EVM do?
Makes it possible to execute code on the network in a way that consensus is achieved as to what the result should be.
- 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 the language that programmers use to write the instructions. Bytecode interprets the language so that the EVM can understand.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin script is simple and unable to do certain operations. Ethereum is capable of complex operations and is Turing complete which enables programmers to program a lot more than Bitcoin’s language.
Hi everyone, I provide my simple version/opinion of the answers to the questions below. Detailed or deeper explanations are always available in the Academy and in other articles online. I can always be wrong, so please correct me @filip so I can learn and avoid spreading misinformation. HAPPY LEARNING
1. What does the EVM do?
From my understanding, EVM is a piece of code where the CPUs of other Nodes run in order to read and execute Smart Contracts (SCs), which the CPU alone cannot do. EVM also functions as Security, since SCs can be any process or set of instructions, one may create SCs with malicious intent (e.g. Give all your money to my address). EVM prevents this from happening by not allowing CPUs to go straight or directly read SCs.
2. What is the format of the instructions that the EVM can read?
The EVM reads a byte code format of the SCs. This can be written in Solidity or Viper, and compiled into a Bytecode and the EVM will read and execute it.
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is a Turing Complete programming language used by Ethereum where the Smart Contracts (Instructions) are written. it is then compiled into Bytecode that can be read and executed by EVM.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin runs on a programming language that is not Turing complete called Script. This language only uses simple programs which cannot solve everything. Ethereum uses a Turing Compete Programming Language called Solidity which has loops and can solve anything thus any program can be created
5. What is a Turing Complete programming language?
A Turing Complete Programming Language is a more complex programming language that can solve anything and is flexible. It also has loops to allow a set of instructions to be done repeatedly
- What does the EVM do?
The EVM sits on top of nodes ie application on computer. The EVM reads smart contracts and takes specific action ie pays out
- What is the format of the instructions that the EVM can read?
Bytecode
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the programming language of Etherum. Solidity is then translated through the complier to make ecode. The bytecode is then read by the EVM and then the smart contract is acted on.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
It doesn’t have the capibilty to have loops in the programming. Also doesn’t have the block size to run smart contracts on it’s blockchain.
- What is a Turing Complete programming language?
A language that has loops.
- What does the EVM do?
EVM read smart contracts and execute code on the Ethereum blockchain network allowing all the nodes getting in consensus about the final result.
- What is the format of the instructions that the EVM can read?
The format of the instructions must be in bytecode.
- What is the relationship between the programming language Solidity and Bytecode?
The developers create code in Solidity language and then use a compiler to transform this commands code into bytecode.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoin uses a language called script and this language can’t solve all mathematical problems like Solidity and Viper for instance.
- What is a Turing Complete programming language?
Is a language that can solve all mathematical problems, so in theory you can program everything that you can think of.
- EVM is a security sandbox for smart contracts to execute in.
- The format of the instructions is EVM byte code
- Solidity is a high level programming language that gets converted to EVM byte code for the EVM to execute.
- Bitcoin was designed for simplicity as a store of value. They limited programmability to 1) save block space, 2) execute faster, 3) eliminate the possibility of rogue programs congesting the network.
- A Turing complete language is one that can be used to simulate any Turing machine.
- EVM executes smart contracts and adds security to the network.
- It reads byte codes.
- Solidity compiles the logic and instructions to create the Bytecode for EVM to read.
- Because it is very basic and not turing complete. The programmers of bitcoin did not like the idea of programmable money as they thought it would congest the network with loops.
- Turing complete means you can run and program whatever you like and run loops
- EVM read the instructions from blockchain and tell cpu to executed ,it
s like the smart guy and cpu it
s the hard working guy - Byte code
- In solidity you do the programming process , all the informations go thru compiler and result Bytecode.
- Because it is not turing complete.
- A turing complete programming language it allows you everything you want , you can programming anything without any limit.
1. What does the EVM do?
A: EVM (Ethereum Virtual Machine) runs on every node of the network and executes the instructions the smart contracts that are compiled into bytecode
2. What is the format of the instructions that the EVM can read?
A: Bytecode
3. What is the relationship between the programming language Solidity and Bytecode?
A: Solidity is the programming language typically used to write the smart contracts, but it needs to be compiled into bytecode in order to be executed on the EVM
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
A: Script (BTC programming language) allows simple instructions to be coded but not everything can be achieved (as it’s not Turing Complete) and is also less efficient since loops cannot be used
5. What is a Turing Complete programming language?
A: A Turing-complete language means it can be used to simulate any Turing machine, which, in practical terms, is the equivalent of saying that any task can be performed. Almost all programming languages today are Turing-complete (unlike Blockchain’s script).