- Executes compiled smart contract
- EVM Bytecode
- Both are programming languages
- Bitcoin script is not Turing complete
- A language that can compute any Turing compatible function.
- The EVM executes a smart contract to be propagated across all the nodes in the ethereum network.
- The EVM reads instruction using the bytecode format
- Smart contracts written on Solidity cannot directly be executed by the EVM. Instead, they need to be broken down into the bytecode format in order to be understood by the EVM
- Bitcoin uses the language called âScriptâ which is incapable of making complex transactions to be put inside a block in the blockchain. This language has limited application and it cannot be used for smart contracts
- A prorgamming language is Turing Complete if it provides a theoretical possibility of carrying out any mathematical computation as part of the code.
- it reads/executes smart contract
- Byte Code
- solidity is the programing language while bytecode is the compiler
- Bitcoin scripting language is not Turing complete but Ethereumâs solidity is
- it can solve any problem
QNS 1. What does the EVM do?
EVM - Ethereum Virtual Machine read and executes a smart contract.
QNS 2. What is the format of the instructions that the EVM can read?
EVM reads instructions using bytecode.
QNS 3. What is the relationship between the programming language Solidity and Bytecode?
Solidity use an application called âCompilerâ to read and translate into bytecode.
QNS 4. Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses âScriptâ which is a non turing complete programming language. It is not scalable and will not be able to perform writing of smart contact code.
QNS 5. What is a Turing Complete programming language?
A Turing Complete Programming Language means it will be able to program anything by using it.
- What does the EVM do?
EVM is Ethereum virtual machine. EVM reads smart contract programs and tells the CPU what to do. This creates security in the network because the smart contracts are not read by the CPU right away and the EVM makes sure the smart contracts are not malicious before sending to the CPU. - What is the format of the instructions that the EVM can read?
The format of instructions that the EVM can read is called byte code. - What is the relationship between the programming language Solidity and Bytecode?
The program is originally written in Solidity and then it is compiled into Bytecode for the EVM to read. - Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin canât run the same type of complex programs because it is only script programming language. It is very limited as to what you can do. It can not solve complex problems, and it is not turing complete. The reason they made it like this is to eliminate spamming and to keep the block size small. - What is a Turing Complete programming language?
A turing complete programming language is a programming language that you can basically do anything you want on. Turing complete programming languages allow you to write loops. The only thing wrong with this on Ethereum is that it has a scalability issue.
-
The EVM (Ethereum Virtual Machine) is a concept that executes the code on the Ethereum network in such a way that all the nodes are in consensus about what the results should be.
-
EVM can read Bytecode.
-
The smart contract is written in Solidity which is a programming language, then these instructions are compiled into Bytecode so that EVM can read them.
-
Bitcoin is made on Blockchain 1.0 and it programs with Script which is not turing complete. It can only do a multi sig wallet.
-
Turing complete programming lanuage can solve any problem and you can program it to do anything you want.
- What does the EVM do?
Ethereum Virtual Machine reads and executes smart contracts. The EVM also prevents malicious programs from the CPU.
- 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 compiled into Bytecode. The relationship allows Solidity to be read in a language (Bytecode) that is understood by the EVM and then communicated to the CPU.
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses a different programming language (Script) that is not Turing Complete. What this means is that the programming language can not solve all of the problems that it would like to which limits what you can do with it.
- What is a Turing Complete programming language?
Turing Complete programming language is able to run more complex programs, such as smart contracts. This is made possible because of the Turing Complete programmingâs ability to solve any problem thus allowing you to program anything you want.
- EVM is the program that runs the smart contract on each node.
- The Solidity instructions are compiled into byte code.
- Solidity is the programming language to read and execute the smart contract. It must be compiled into byte code to execute the contract.
- Bitcoin uses a non Turing complete language (Script) to read its contracts. Since Script is limited in capabilities, it cannot run the more complex programs of Ethereum which uses Solidity as a language to execute the contracts.
- A TC programming language has a sufficient instruction set to solve any problem. One feature of a TC language is the existence of a loop instruction.
-
The EVM allows smart contracts to execute without giving access to the actual cpuâs in the network
-
EVM Bytecode
-
Smart contracts are programmed in solidity and then compiled into Bytecode that can be read by the EVM
-
Smart contracts could be used to spam the bitcoin network by writing many contracts containing loops
-
Turing Complete languages allow you to program anything you can think of
- What does the EVM do?
It reads code and exeucutes the code - What is the format of the instructions that the EVM can read?
It operates on Solidity code and executes in terms of Bytecode - What is the relationship between the programming language Solidity and Bytecode?
Solidity compiles all the instructions into Bytecode - Why canât Bitcoin run the same type of complex programs like Ethereum can?
BTC code does not use a turing complete language and as such functions such as loops are not programmable on that platform - What is a Turing Complete programming language?
They are whole programming languages that have vast and deep ability to code all types of functions.
- As per the smart contract, execute some task and communicate with CPU to do other tasks when it`s needed.
- The relation is to provide the input that EVM needs to execute through the CPU, meaming the Solidity will have the logic (program) of the smart contract and bytecode is the compiler that will be read by EVM.
- Bitcoins can only handle script, nothing complex in compare to smart contracts with solidity. This was decided to avoid issues in bitcoin network that could be originated by loops.
- It`s a language that can handle loops.
- What does the EVM do?
The EVM read and execute the bytecode previously compiled from the Solidity language.
The EVM Ether virtual machine will execute the smart contract using the CPU of the node. The EVM is the gatekeeper between the smart-contract and the CPU, in theory, if a smart-contract can tap directly onto the CPU, the all Etherum network is compromised.
- What is the format of the instructions that the EVM can read?
the EVM only read bytecode, that is compiled from Solidity or Viper programming language.
- What is the relationship between the programming language Solidity and Bytecode?
Slidity (Human can read) --> Compiler (Vitalik can read) --> bytecode (EVM can read)
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin coding language Script is not turing complete, meaning that you cannot run complex code on top of Bitcoin, while in theory, solidity is turing complete so you can in theory run absolutely everything you want on it.
- What is a Turing Complete programming language?
solidity is turing complete so you can in theory run absolutely everything you want on it.
- What does the EVM do?
The EVM is a piece of code that runs on top of every computer within the ethereum network. It will execute the smart contract and then tell the computerâs CPU what to do. After the EVM has executed all instructions on the smart contract it will come to a result. Once all EVMs on the network come to the same result, consensus is reached.
- What is the format of the instructions that the EVM can read?
The EVM reads smart contracts in Byte Code. Programmers program in Solidity and this then gets compiled into Byte Code so that the EVM can read it.
- What is the relationship between the programming language Solidity and Bytecode?
Programmers program in Solidity and this then gets compiled into Byte Code so that the EVM can read it.
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin protocol is more primitive than Ethereum and is not Turing Complete
- What is a Turing Complete programming language?
Ethereum is a TC language. This means that any problem can be solved for as you can program anything in a TC language.
- What does the EVM do?
It reads and makes it possible to execute smart contracts. It works because ETH is running on every node on the network and therefore reach consensus. It also adds security to make sure nothing malicious happens.
- 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?
People write the smart contracts in solidity, then run it through a compiler that translates it to byte code. When that is done, EVM can read the instructions.
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Because the programming language used in bitcoin, script, is not compatible to do loops. The programmers of bitcoin did that on purpose for security reasons in regards to the network.
- What is a Turing Complete programming language?
Turing Complete programming language is able to program anything, including loops.
- What does the EVM do?
The EVM is a virtual machine which runs on each and every node of the Ethereum network in order to execute the Ethereum smart contracts. - What is the format of the instructions that the EVM can read?
The EVM reads and executes the instructions compiled in Bytecode, as well as the JVM (Java Virtual Machine) does for Java applications. - What is the relationship between the programming language Solidity and Bytecode?
Solidity is the so called âhumanâ (or human-readable) programming language, as it uses an English syntax for interacting with parameters, operators and libraries, while Bytecode is a compiled language and so called âmachine languageâ. - Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin has been created to be not programmable by design. That is why Bitcoin programming uses âScriptâ language, which is not Turing Complete. - What is a Turing Complete programming language?
It is a programming language which allows the developer to program any possible algorithm with its functions and methods. This is obviously real in theory, because some applications might require too much energy, computational power or other resources to be compiled or run in practice.
- It reads code and exeucutes the code
- It operates on Solidity code and executes in terms of Bytecode
3.Solidity compiles all the instructions into Bytecode - BTC code does not use a turing complete language and as such functions such as loops are not programmable on that platform
- They are whole programming languages that have vast and deep ability to code all types of functions.
Excellent answer, but there difference between byte code and machine language, The main difference between machine code and bytecode is that the machine code is a set of instructions in machine language or binary that can be directly executed by the CPU while the bytecode is an intermediate code generated from compiling a source code which can be executed by a virtual machine.
-
An EVM acts as an intermediary between the smart contract and the CPUâs on the network, (Nodes) It reads and interprets the smart contract and tells the CPUs in the network how to carry it out. or read the smart contract and carry out the instructions. Also acts as A level of Security.
-
The format of the instructions that the EVM can read is Bytecode.
3.The relationship between the programming language Solidity and Bytecode is that Solidity is an easy to use programing language and Bytecode is the language that the EVM understands. so in essence Bytecode converts the programing language of Solidify into a Bytecode that the EVM can read and understand.
-
The reason Bitcoin cannot run the same type of complex programs like Ethereum can is because Bitcoin uses an inferior programing language called Script and it is limited. and the reason it is considered limited is because it will not be able to solve all problems that it might have to solve.
-
A Turing Complete Language is, a programming language that is able to feature Loops. loops is a feature of programming language that tells software to do something several times. also in a Turing and Complete programming language it is not limited, you can tell it to do what you want it to do.
- The EVM allows users to execute programs and smart contracts on the Ethereum network, and it acts as a security buffer to disallow smart contracts from interacting directly with the CPU.
- Bytecode
- Solidity is compiled into bytecode which is the run on the EVM
- Bitcoin is not Turing Complete, and does not allow looping.
- Turing Complete languages allow you to theoretically solve any mathematical problem.
Thanks abuga for clarifying that! Appreciated!