Homework on EVM

  1. The EVM, which is deployed on each Ethereum node, reads and executes the instructions on a given smart contract in order to reach consensus on the computed result and final state of that smart contract.
  2. The format of the instructions needs to be in Bytecode so that the EVM can read it and talk to the CPU which is actually executing the instructions.
  3. Ethereum smart contracts are typically developed using a high-level language such as Solidity or Viper. The programming code needs to compiled into Bytecode first before it can be processed through the EVM.
  4. The capabilities of Bitcoin script are very limited compared to the (theoretically) infinite options that can be developed for Ethereum which are based on high-level languages like Solidity. The difference is that Bitcoin Script is a Non-Turing-Complete language, i.e. it can not solve all computational problems it might have to solve.
  5. Turing Completeness in computability theory refers to the property of a programming language to be able to compute all functions that a universal Turing machine can compute. An important feature of a Turing Complete language is loops, which allow the programming language to execute a set of instructions over and over again.
1 Like
  1. What does the EVM do?
    EVM runs smart contracts using all resources the node has ie.CPU & GPU

  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 compiles data into Bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin runs on script which is a non turing language

  5. What is a Turing Complete programming language?
    A programming language that allows loops

1 Like
  1. extra security layer so the smart contract wont run directly on your pc

  2. Bytecode

  3. you write your code in Solidity and then it gets compiled to Bytecode

  4. because bitcoin is not turing complete

  5. can perform any programming task

2 Likes
  1. The EVM is a virtual machine running on the ethereum blockchain. It can run smart contracts. Its purpose is to prevent smart contracts to being executed on the node’s or miner’s hardware directly. It is a sandbox for smart contracts, providing a layer of security to the nodes.
  2. The EVM reads Bytecode, hence it (theoretically) does not care, in what language the smart contract was written.
  3. Solidity is the programming languages for smart contracts on Ethereum. The EVM receives the instructions of these smart contracts in the form of Bytecode.
  4. While Bitcoin has a programming language, it cannot handle any complex instructions, because it uses a not Turing complete language.
  5. In a Turing complete programming language, it is possible to write any conceivable program without limitation
1 Like

the EVM secures the network and ensures the consensus.

byte code

The code is written in Solidity language. But then it gets compiled into byte code so that the EVM can read it.

Because the prgramming language of Bitcoin, script, is not turing complete.

With a Turing Complete language one can solve or describe any specific problem. Solidity is such a language.

1 Like

The EVM executes the instructions of the smart contract, allows all nodes on the network to reach consensus and provides security for each CPU.

Bytecode.

Solidity is the language the smart contract is written in. A compiler turns Solidity into bytecode and the EVM processes the bytecode in order to process the smart contract.

Bitcoin code is not Turning Complete.

Turing complete language allows much more complex programming. In this case loops are critical to Ethereum and Bitcoin can’t process loops.

1 Like
1.What does the EVM do? EVM reads and writes the smart contract code on the nodes of the Ethereum Block chain and broadcasts TXs across the network. It also provides security.

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 code is converted through a compiler into Byte code to be processed by the EVM.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because isn't Turin complete
  1. What is a Turing Complete programming language? It’s a language that can create a programme that can operations multiple times.
1 Like
  1. What does the EVM do?
  • EVM is app. installed on nodes in the network to read smart contacts, giving orders to CPUs.
  1. What is the format of the instructions that the EVM can read?
  • Byte code, wrote by Solidity or Viper.
  1. What is the relationship between the programming language Solidity and Bytecode?
    1. Solidity gets compiled and transform into bytecode.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Because Bitcoin programming language Script is not Turing Complete for security reasons.
    With Script, you can do a limited amount of actions.
  1. What is a Turing Complete programming language?
  • A turing complete language allows a smart contract to do just about anything.
1 Like
  1. Provides security, reads smart contracts and pass it to CPU for execution.
  2. Bytecode.
  3. The bytecode is a result of the compilation of Solidity code.
  4. Because Script is not turing complete programing language.
  5. Means you can program anything.
2 Likes

What does the EVM do? Executes code on the network with consensus.

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

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

Solidity is a programming language that is used to write smart contracts for the Ethereum platform, and bytecode is the machine-readable representation of these contracts that is stored on the blockchain and executed by the EVM.

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

One of the key differences between Bitcoin and Ethereum is that Ethereum has a built-in programming language called Solidity, which allows developers to write smart contracts and DApps that can be executed on the Ethereum platform. Bitcoin, on the other hand, does not have a built-in programming language, and it is not intended to be used as a platform for running complex programs.

  1. What is a Turing Complete programming language? Turing Complete programming language is a language that is capable of expressing all computations that can be performed by a Turing machine, and it can be used to write a wide range of programs and applications.

Including web browsers, operating systems, and compilers. Some examples of Turing Complete languages include C, C++, Java, and Solidity.

2 Likes

Bitcoin also has a built in programing language called script, but it is not a turing complete language like solidity. Script can make a multisig wallet among a few other more simple programs.
Otherwise spot on.

2 Likes

Thanks for this helpful additional information. It’s helpful.

2 Likes
  1. EVM is an Ethereum Virtual Machine that communicate from smart contract and EVM and computer CPU through solidity(programm language) and bytecode.

  2. It reads through in a form of ByteCode from a language called Solidity Language/compiler.

  3. Smart contract are written in Solidity compiler then solidity compiler sends codes instructions into Bytescodes then the EVM reads the codes and sends it to CPU for communications.

  4. Bitcoin uses script language in multi sig, and script is not turing complete language like ethereum(solidity) because it is not able to solve all problems it is limited and has loops and blocksize limitation will increase.

  5. Turing complete language uses loops that allows the program to perfom a set of functions to solve all the problems.

1 Like

What does the EVM do?

  1. EVM can read and execute smart contracts.

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

EVM can read instructions in Solidity.

  1. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled into bytecode that the EVM can execute.

  2. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s Script program is not a complete program. Ethereum, on the contrary can run complex smart contracts and decentralized applications because it makes use of a complete program-Solidity.

  3. What is a Turing Complete programming language?

It’s a language that can process all the features needed to run a program.

1 Like

1. What does the EVM do?
EVM stands for Ethererum Virtual Machine, it reads the byte code and execute it. 1. EVM is isolated from local computer. Running in a virtual or sandbox environment to protect network operators from malicious code.

2. What is the format of the instructions that the EVM can read?
EVM can read binary data i.e. Byte code.

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the high level language that programmer use to write the smart contract with. This code is then converted by a compiler to a machine readable code known as Byte code.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin run the same type of complex programs like Ethereum can, because its language “Script” is not Turing complete and is limited to basic operations.

5. What is a Turing Complete programming language?
A Turing Complete programming language is a language that is able to carry out complex operation.

1 Like
  1. Makes it possible for us to execute code on this network in such a way that we are all in concensus about what this should be
  2. Byte code
  3. Solidity is the language on the Eth network that smart contracts are coded in, this languages is then compiled into Bytecode which then in turn the CPU reads
  4. Because it is not run on a turing complete language
  5. in theory it can solve all problems
1 Like

1.The EVM is the software that allows cpus across the world to run nodes to process transaction on the Ethereum Blockchain.
2.The EVM reads, interprets and executes the smart contract in an isolated program, rather than directly on the CPU. This reduces the likelihood of malicious code built within a smart contract affecting the computer running the EVM.
3. Bytecode is a software computer language for instruction-level programming, in contrast to the machine code level of programming. It is the information that the Solidity code gets translated into. It is generally compact numeric codes, constants, and other pieces of information.
4. Unlike Bitcoin Script, Solidity is Turing complete, meaning its code includes loops. This means that an Ethereum contract can be far more complex and take up more compute resources than a Bitcoin transaction. The Ethereum blockchain hosts a more complex, wider variety of smart contracts than Bitcoin.
5. is a language that allows you to compute anything that any other computational method can compute**

1 Like

1. What does the EVM do?
The EVM reads and executes the smart contract directly. The EVM gives instructions to the CPU of the node computer. The EVM is layer of code “between” the smart contract and the node computer, which also has a protective security role.

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

3. What is the relationship between the programming languages Solidity and byte-code?
Solidity is a programming language that, like javaScript, looks like english. The compiler is a separate application that takes the Solidity code - the logic and instructions that the programmer has given in Solidity - and turns it into byte code. Byte code is the format required by the EVM.

4. Why can’t BTC run the same type of complex programs like Ethereum can?
There is an aspect to the BTC programming language that is not Turing Complete.
I am somewhat confused - I read that the BTC programming language is C++, which is a Turing Complete language.
Scrypt (noticed in other answers) is a password based key derivation function (that doesn’t sound like the issue at hand).
Scripting languages (mentioned in the video) seem to be a category of languages that can manipulate an existing language (something like this could be not Turing Complete(?)).
Any enlightenment is appreciated.

5. What is a Turing Complete programming language?
Turing Complete refers to a program / language / machine that, given enough time and memory along with the necessary instructions, can solve any computational problem, no matter how complex.

1 Like
  1. The EVM executes all instructions on the Ethereum network. By running code on the EVM it protects the CPU from malicious software.

  2. The EVM reads byte code.

  3. Solidity is the programming language used. The code is then compiled into byte code.

  4. Because Bitcoin is not Turing complete which means that it can’t handle every kind of logic such as loops. The Ethereum language is Turing complete.

  5. A Turing complete language is a language where you can program (in theory) anything (not taking cost and time into account).

1 Like
  1. What does the EVM do?
    A: EVM is the Ethereum Virtual Machine which uses the solidity language to run smart contracts through the node network.
  2. What is the format of the instructions that the EVM can read?
    A: The EVM reads Bytes.
  3. What is the relationship between the programming language Solidity and Bytecode?
    A: Solidity is used because it is TC language which is then turned into bytes by the compiler.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    A: Because bitcoin doesn’t use a TC language.
  5. What is a Turing Complete programming language?
    A: Solidity and Viper are TC languages.