- What does the EVM do?
An Ethereum Virtual Machine works as an application that read and execute code on the ethereum network in such way that all the nodes (with each their EVM) are in consensus of what the result (the final result of a smart contract) should be. An EVM read and executes smart contracts in consensus (network) and gives instructions to the CPU of a computer (local). But in such way that the smart contract can not give instructions to the CPU directly and this for safety reasons. - What is the format of the instructions that the EVM can read?
Bytecode is what it reads. So you can write smart contracts in any program language as long as it can be compiled into Bytecode. This way of working makes gives more flexibility. - What is the relationship between the programming language Solidity and Bytecode?
The EVM does not read program languages as Solidity directly. It only read Bytecode. So the program language needs to be compiled into Bytecode in order to let the EVM work. OR a smart contract on ethereum is coded in Solidity. The āSolidityā instructions in the smart contract need to be compiled into Bytecode so the EVM can do the next step. - Why canāt Bitcoin run the same type of complex programs like Ethereum can?
Code written in Turing Complete programs could have a negative effect on the blocksize. You would have less data per block because all the states of smart contracts are heavy to store (to much Byte). - What is a Turing Complete programming language?
Solidity is Turing Complete which means that you can program in a way so you can solve every problem that you have to solve. It gives programming unlimited possibilities. You can for example do loops where you can repeat an instruction based on variables as many times needed. You donāt have to write 100 lines of code for repeating the same instruction 100 times.
1- From my understanding, the EVM stands for etherium virtual network and is essentially the single brain that all miners contribute to. Instead of a cpu being incharge of a single computer. EVM is the single CPU for all computers attached to the network. This makes Etherium a global computer as opposed a network of individual computers. Sort of reminds me of the borg.
2- solidity
3- Iām not 100% certain, however I think Solidity converts all language and codes it receives into Bytecode which is a more simple code.
4- Bitcoin and its community have found their niche and that is digital gold. BTC certainly missed out on an opportunity to prevent competition that has come from Smart contracts but specialization certainly has its benefits. BTC is money. Etherium is more.
5- BTC is not turing complete, ETC is turing complete. Turing complete means you can make looping transactions as opposed to one and done transactions.
EVM is an application which allows the execution of code on CPU so that consensus can be reached across all nodes.
EVM is only capable to reading instructions in ByteCode format.
Solidity as a programing language canāt send instruction directly to Ethereum network, however once solidity programing is converted in Bytecode with the use of a compiler then instructions can be carried out.
Bitcoin has a very limited programmable options, when on the other hand Ethereum is fully programmable to any complexity.
Turing complete is a fully programmable language which has the ability to create loops.
1 Manages the contract and gives instructions to CPU
2 the language is salinity
3 solidity is the language for EVM and then this is converted into Bytecode witch is the ethereum language
4 Bitcoin is only meant to be a store of value not a smart contract and was purposely made to be like that.
5 this allows for very complex instructions and they can solve multiple problems
-
What does the EVM do?
Ethereum Virtual Machine, where smart contracts code runs -
What is the format of the instructions that the EVM can read?
Solidity -
What is the relationship between the programming language Solidity and Bytecode?
Solidity doesnāt read Solidity language code, so needs to be converted to Bytecode using a conpiler -
Why canāt Bitcoin run the same type of complex programs like Ethereum can?
Because canāt use Turing complete programming language. -
What is a Turing Complete programming language?
It is what allows to program complex operations as loops, which are operations programmed to repeat several times, who solves many problems in programs implementations
1- It reads smart contacts, it creates a level of security
2- Byte code
3- Solidity is converted to byte code to write the smart contracts
4- because it uses script which is not turning complete
5- itās a program that can solve any problem and program anything
- EVM reads and executes instructions contained in smart contracts.
- The instructions are formatted in Byte Code
- Solidity is the programming language used by EVM to read and execute the Byte Code - it was also designed as an intermediary between the Byte Code instructions and the computer for security reasons.
- Bitcoin does not have a Turing Complete programming language only a basic scripting language - this was intentional as the developers did not want to expose Bitcoin to spamming threats or overloading of the blockchain. They wanted Bitcoin to remain as a digital currency and nothing else.
- A Turing Complete programming language is a language that can be programmed to carry out a multitude of different actions to solve important issues.
-
The evm is ethereums virtual machine which takes the code and smart contracts from different nodes or users and runs it on the ethereum network and gets consensus from the entire network.
-
The evm reads code compiled from the programming language of solidity or viper.
-
the byte code is compiled from the solidity programming language to be read and executed on the eth network.
-
Because bitcoin network and protocols donāt allow for higher level programs to be created like smart contracts. It operates on a more basic scripting language, such as byte code
-
Turing complete programming language is one that is a higher level and allows for anything you can think of and all problems to be solved within that language.
1.What does the EVM do?
The Ethereum Virtual Machine executes and interprets all smart contracts running on the ethereum network. The EVM has control over every node/CPU in the ethereum network, it governs what the CPU does depending on the instructions it receives within the smart contracts. Then all EVMs in the network need to run the same smart contract with exactly the same results to be in consensus.
2.What is the format of the instructions that the EVM can read?
The EVM reads code that has been compiled into byte code by an app which acts as a compiler inside programs like solidity and viper.
3.What is the relationship between the programming language Solidity and Bytecode?
Solidity and viper are programs similar to Java script which contain their own programming language written to execute instructions inside software and smart contracts. For the EVM to read and execute these instructions, programs like solidity and viper compile their programming language into byte code for EVM to read.
4.Why canāt Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin has itās own scripting language called SCRIPT which can do simple smart contracts which are limited in comparison to ethereum because the developers of bitcoin want it to be that way. Ethereum offers a different programming language which is turing complete, which basically means that it can handle more complex software programs and smart contracts. Bitcoin devs donāt want their network to get spammed or the block size to increase leading to a decrease in scalability which is possible when using turing complete programming language.
5.What is a Turing Complete programming language?
A turing complete programming language allows the complex operations to be perform in loops, meaning operations and instructions can be programmed to repeat thousands of times if desired so by the programmer/software/smart contract.
- It acts as the intermediary of the smart contract and the CPU of each computer (node) of the network
- Byte code
- When you have a piece of code written in Solidity, the output of the compiler is the bytecode file and another file (I dont remember whats the name, but its akind of interface or API to the bytecode)
- Because the language in which Bitcoin is written is not Turing complete, so it cannot do all the things you can do with a TC language. Bitcoin is programmed to act as a form of store of value or money
- I guess I dont know the exact definition of a Turing complete language, I imagine the correct definition must be very long and including complex logical functions, but in the video you mention that the main difference between a TC and not TC language is the ability to run loops (if/do/while/etc)
- The Ethereum virtual machine is a virtual system that runs on Ethereum nodes. It runs in a sandbox environment that is ran on every nodes cpu and uses a blockchain structure to provide security to the network as well as the ability to program smart contracts with the solidity programing language.
- The format that the EVM reads is called bytecode.
- Solidity is the programming language like c++ but for the EVM to process the function it is broken down into bytecode.
- Ethereum introduced loops which can run program instructions continuously. Bitcoin does not use loops for extra security and does not have its own programming language for smart contracts.
- A turing complete programming language like solidity can solve complex problems for applications unlike Bitcoin which is just script.
-
What does the EVM do?
The EVM (Ethereum Virtual Machine) is the code that all nodes run in the Eth network. -
What is the format of the instructions that the EVM can read?
Instructions are written in ByteCode format. -
What is the relationship between the programming language Solidity and Bytecode?
Instructions are written in Solidity language and compiled to āEVM Byte Code.ā -
Why canāt Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is not āTuring Completeā but Ethereum is. -
What is a Turing Complete programming language?
Turing complete means that it can read and execute anything a normal computer can. In other words, it is computationally universal.
- Ethereum Virtual Machine, reads and executes the commands from the smart contracts.
- Bytecode
- Solidity is a language that programmers use to build smart contracts, Solidity is compiled to bytecode.
- Because Bitcoin Script is not turning-complete, while solidity is turning complete, it means you can build anything you want in theory and bitcoins script can not.
- Like above, It means that you can program anything you want in theory and it can solve calculable problems. This system is able to recognize or decide other data-manipulation rule sets
What does the EVM do?
EVM is the ethereum virtual machine. The EVM sits between smart contracts and cpu. It interprets and executes the smart contracts.
What is the format of the instructions that the EVM can read?
The format that the EVM reads is bytecode.
What is the relationship between the programming language Solidity and Bytecode?
Solidity cannot send instructions directly to the Ethereum network. Solidity programming is converted into Bytecode and then instructions can be carried out.
Why canāt Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin cannot use Turing complete programming. It is meant to be a store of value not a smart contract and was purposely made to be like that.
What is a Turing Complete programming language?
A Turing Complete programming language is a program that can solve any problem and program anything.
2. What is the format of the instructions that the EVM can read?
Quite close sir(s), but the format of the instructions that EVM read is ByteCode.
If you have any more questions, please let us know so we can help you!
Carlos Z.
1.) The EVM executes code on the Ethereum network in a way that everyone in the network is in consensus about what the results should be. It communicates with the CPU.
2.) The EVM reads bytecode.
3.) A smart contract is written in Solidity, then complied in bytecode in the EVM to communicate with the CPU.
4.) The reason Bitcoin canāt run the same programs as Ethereum is because itās written in Script and not Solidity, and Script is not a Turing complete language.
5.) A Turing complete language is one in which you can program whatever you choose.
An EVM runs on a node and reads smart contracts send them to the CPU for processing.
Contract Bytecode
Solidity is a programming language used to create Contract bytecode through compilation.
Bitcoin a v1 blockchain, that only has a basic set op script possibilities (looping is not possible for example)
A turing complete programming language means that it can be used (given enough computational power) to solve any computational problem.
1. What does the EVM do?
Allows us to execute code , it is turing complete
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?
The Solidity code is converted into bytecode
4. Why canāt Bitcoin run the same type of complex programs like Ethereum can?
It is not turing complete
4. What is a Turing Complete programming language?
It can deal with all computable programs.
1- The EVM makes it possible to execute code on chain by reading byte code created with Solidity. It then acts as an intermediary between the blockchain and the CPU in the nodes and instructs the CPUs on what to do based on the byte code.
2- Byte Code created by solidity.
3- Solidity is a language used to create byte code.
4 - Because it is based on script programming, which is not turing complete
5 - A programming language that can effectively do almost anything that can be programmed.
-
EVM is an environments for smart contracts that runs on every node. Its a layer between the code and the execution of the code. EVM uses a set of instructions to execute the bytecode which are written in the programing language Solidity.
-
Bytecode
-
Solidity uses a compiler to take the solidity code and compile it into bytecode then the EVM will read the bytecode instructions.
-
Bitcoin runs on scripts that are limited. While Bitcoin has some programmable aspects it is not as programmable as Ether.
-
Turning Complete language is not limited and it allows you to program anything you want. It can solve all problems that it needs to solve to program an application. It also allows for loops. Loops is a feature that allows the programming of one thing to repeat several times.