Homework on EVM

  1. The EVM communicates commands to the CPU.
  2. EVM Bytecode
  3. Solidity is compiled into Bytecode
  4. Bitcoin’s Script is not Turing Complete.
  5. An important property of a Turing Complete programming language is its ability to support loops.
1 Like
  1. The EVM reads instructions on smart contracts using all the tools (including the CPU) at their disposal, acting as an extra layer of security before sending it off to the CPU to carry out, acting as a bridge between the CPU and the smart contract. Nodes have a version of the EVM which they use to read and carry out the instructions on a smart contract to verify it, using the EVM to keep themselves safe.

  2. The EVM reads byte code which is formed from solidity.

  3. Code written in Solidity is changed into byte code using a compiler.

  4. Because it’s not Turing complete, which means it cannot solve any problems it runs into and cannot program anything possible, unlike Ethereum’s solidity. Bitcoin’s script is only capable of much more simple tasks like creating multi-sig wallets unlike Eth’s solidity which can do anything for example using loops.

  5. A programming language that can program literally anything and solve any problem. There is no limits to a Turing complete language unlike a non Turing complete language.

1 Like
  1. What does the EVM do?
    The EVM ( Ethereum Virtual Machine) sits on t he nodes and reads the smart contracts to give consensus,
  2. What is the format of the instructions that the EVM can read?
    An EVM reads Byte code
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity
    is the languarge in which you can write the smart contracts. This is then converted into Byte code so that the EVM can agree and action the smart code taht was written in Solidity
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? BTC is not Turing Complete
  5. What is a Turing Complete programming language?
    It is a language where you can write and action any instructuons.
1 Like
  1. EVM - Ethereum virtual machine, reads the byte code in the smart contract and instructs the cpu.It is an isolated environment that prevents breaching of the cpu adding to the security.
  2. It means smart contracts don’t run directly on the nodes and isolated( running in a virtual or sandbox environment) from the network, protection it from malicious code.
  1. What does the EVM do?
    Ethereum Virtual Machine is where the smart code runs. It executes them into byte code which is later readable as machine code on the CPU. It is between smart contracts and CPU so its more secure.

  2. What is the format of the instructions that the EVM can read?
    Byte code.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language that developers use to create smart contracts. A compiler then transforms the Solidity code into byte code so the CPU can read it. The EVN then reads the code and executes it instruction by instruction.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the programming language that Bitcoin uses is very limited in terms of the changes that can be done. It has a scriptSig language and is not turning complete.

  5. What is a Turing Complete programming language?
    It is a kind of a program that can make almost everything. It is very flexible in a good way. With the turning complete language, the developers can create any application they want.

1 Like
  1. The EVM processes smart contracts.
  2. Instructions are in bytecode.
  3. Instructions in solidity (which is more similar to english) is compiled down into bytecode.
  4. Bitcoin uses script which is not Turing complete. Ethereum uses Solidity which is Turing complete.
  5. Turing is a complete programming language, which allows you program anything (on a computer).
1 Like
  1. The EVM is an application that runs on all the nodes which executes smart contracts via the node’s hardware + makes sure that the SC isn’t malicious.

  2. The EVM reads bytecode

  3. Solidity is used to code the SC, which a compiler afterwards turns into bytecode that the EVM can read and execute.

  4. BTC’s language Script is not Turing complete.

  5. Turing complete language means that anything imaginable can be coded.

1 Like
  1. The EVM is a virtual machine that executes codes of a smart contract, while sending the computations to a nodes cpu. like Blockchain, the EVM is run on nodes that have the program embedded, insuring the same sort of validating security.

  2. The EVM reads byte codes, or translated instructions of the smart contract that Solidity compiled.

  3. Solidity is a programming language that compiles the language of a smart contract into byte code for the EVM to read.

  4. Bitcoins language, Script, is not as sophisticated as Solidity, because it is not turing complete. In other words, Script is quite limited as to what data sets it can run.

  5. In theory, a turing complete programming language, such as Solidity and Viper, can execute complex data sets, allowing for possibly unlimited variation of applications.

1 Like
  1. What does the EVM do?
    Eherneum Virtual Machine check smart contracts and tells CPU how to proceed with it
  2. What is the format of the instructions that the EVM can read?
    byte code
  3. What is the relationship between the programming language Solidity and Bytecode?
    Slidity needs to use compiler to translate script into Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is a digital gold. It use simple language called Script. So Bitoin is not turing complete
  5. What is a Turing Complete programming language?
    Language which can solve algorithm eg. can use loops
1 Like

What does the EVM do?
EVM machines are the ones responsible to read smart contracts and transactions.

  1. What is the format of the instructions that the EVM can read?
    Bytecode.

  2. What is the relationship between the programming language Solidity and Bytecode?
    solidity a programing language that will be compiled to Bytecode to be read by EVM machines. Bytecode is the only language EVM can read.

  3. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin does’t have loop programing inside its code which makes it a very premitive technology

  4. What is a Turing Complete programming language?
    Turing complete languague is a language that has all the features required to run any command.

1 Like
  1. EVM reads and executes the code in smart contracts so that for security reasons, smart contract code shouldn’t have direct contact with the CPU. That is for security reasons.

  2. EVM can read smart contracts in byte code.

  3. Solidity is a programming language in which the code is made, and it’s translated to byte code using compiler when stored to smart contracts, so that the EVM can read the smart contracts.

  4. That’s because Bitcoin’s programming language Script is not turing complete. The developers didn’t want Bitcoin to work that way.

  5. It’s a type of comprehensive programming language with which you can program basically everything you want. Turing complete programming languages allow loops.

1 Like
  1. What does the EVM do? The EVM executes the ethereum code for the ethereum network. it reads the code and gives the instructions to the node CPU. it does not allow the code to directly control the CPU for security reasons.
  2. What is the format of the instructions that the EVM can read? the instructions are in byte code
  3. What is the relationship between the programming language Solidity and Bytecode? The solidity code is like an english based coding language. A compiler converts this to byte code for the EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? The bitcoin blockchain can only be programmed using scripting and is not turing complete. To run complex programs, you need the ability to loop. scripting does not allow this. Solidity is turing complete.
  5. What is a Turing Complete programming language? a turing complete language has the ability to execute loops.
1 Like
  1. The Ethereum Virtual Machine is run as an application on top of the current hardware of each node. It executes smart contracts by reading the code and sending it to the CPU or GPU to follow through. This puts a more secure layer between the sensitive contract info and the individual computer.

  2. EVM reads Bytecode

  3. Solidity allows for general contract language to be compiled into Bytecde. The EVM ONLY reads Bytecode.

  4. Scalability is an issue because the more info in a contract the more space it takes up on the network. Bitcoin needs to run simple transactional operations and leave space for tx’s (Hence the need for Segwit).

  5. A Touring Complete programming language allows for ANYTHING to be programmed (in theory). Anything can be connected to the deployment of currency i.e. instructions for release being based on some action or the lack thereof.

1 Like
  1. EVM (Ethereum virtual machine) is a piece of code where the ethereum nodes operates. EVM interprets and executes eth programming languange and ensures non-interference communication. As it is isolated from the main blockchain network, it’s a very safe way to create smart contracts. It plays a critical role in the storage, execution and verification of smart contracts.
  2. Bytecode
  3. Solidity kinda translates smart contracts into bytecode so that the EVM it’s able to process it through the ETH blockchain.
  4. The equivalnt of the ETH EVM in BTC is a program called script. As it is more primitive, it is not able to do things like smart contracts.
  5. It’s a program language that has the ability to change an arbitrary amount of memory, implements features to run programs like addition, multiplication, and has a way to store, retrive and erase data. It also has a feature called loop, which can compute data on a loop.
1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine works similarly like the JVM in Java, interpreting bytecode.

  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?
    Solidity is the programming language (like Java) and the Bytecode is the generated code which can be interpreted by the virtual machine.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The Bitcoin programming language is not turing complete.

  5. What is a Turing Complete programming language?
    “turing complete” also is known as “computationally universal”. The language can be used to simulate any Turing machine.

1 Like
  1. What does the EVM do?

Ethereum Virtual Machine is a program that operated on all Ethereum nodes. It interprets and executes smart contracts by reading the code and using the resources of the node (CPU, RAM, etc). This setup ensures additional security than having smart contracts interact directly with node CPUs.

  1. What is the format of the instructions that the EVM can read?

EVM reads Bytecode.

  1. What is the relationship between the programming language Solidity and Bytecode?

Solidity is compiled to Bytecode.

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?

BTC’s scripting language is not Turing complete. It doesn’t have loops.

  1. What is a Turing Complete programming language?

Turing complete language means that anything imaginable can be coded.

1 Like
  1. The Ethereum Virtual Machine or EVM for short is a protocol that executes the instructions of a smart contract in a decentralized environment.

  2. The EVM reads a machine language known as Bytecode.

  3. Solidity is a user friendly language that if put into a compiler will translate to Bytecode that the EVM can read.

  4. Bitcoin’s Script language is not a Turing Complete language so it is not able to perform the same computations that Ethereum can.

  5. A Turing Complete language is a language that can solve virtually any mathematical computation.

1 Like
  1. EVM stands for Ethereum Virtual Machine. It is responsible for reading and executing smart contracts on the Ethereum network.

  2. The EVM creates a separation between smart contracts and the the nodes that comprise the Ethereum network to guard against malicious code damaging or disrupting them. A ‘sandbox’ in computer talk refers to a virtual server where code can be executed and tested in a safe® and isolated manner.

  3. The byte code is what is read and executed by the EVM. The Solidity programming language is converted to byte code by a compiler.

  4. Bitcoin’s code is more simple and primitive compared to Ethereum’s. Think HTML vs. JavaScript.

  5. A Turing Complete programming language will (eventually) solve any computational problem thrown at it. They allow developers to program anything they can think of, essentially.

1 Like
  1. What does the EVM do?
    -EVM is an application that runs on all the nodes. It executes the instructions of the smart contract and passes it to the CPU.

  2. What is the format of the instructions that the EVM can read?
    -The format of the instructions is bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    -Solidity uses a compiler to translate this programming language into bytecode so that the EVM can read and execute.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    -Bitcoin uses a programming language script that is s not turing complete, which means it is limited that can not solve all the problems.

  5. What is a Turing Complete programming language?
    Solidity is one of the turing complete programming languages.

1 Like
  1. What does the EVM do?

EVM Makes it possible to execute code on this network, where everyone is in consensus about the smart contract.

There are a series of computers that each have a CPU

EVM is a piece of code that is running on all of the computers. It runs on top of the hardware of each node. It reads and gives instructions to the CPU to execute the Smart Contracts.

  1. What is the format of the instructions that the EVM can read?

Bytecode

  1. What is the relationship between the programming language Solidity and Bytecode?

A smart contract will have instructions in Bytecode.

Solidity is a programming language similar to javascript. There is a compiler that will take the solidity code and compile the instructions down to byte code and the EVM will read the instructions/byte code.

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?

Script is not Turing Complete. It’s very limited and can’t solve all of the problems that it may face. Solidity is Turing Complete.

  1. What is a Turing Complete programming language?

A language where you can program virtually anything as long, solving any computational problems as long as you have the correct instructions, time and power.

1 Like