Ups just realized typo
4.Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Script, Bitcoin‘s programming language is OBV NOT Turing incomplete.
Ups just realized typo
4.Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Script, Bitcoin‘s programming language is OBV NOT Turing incomplete.
What does the EVM do?
The EVM runs on every node and runs and executes contracts.
What is the format of the instructions that the EVM can read?
EVM Byte code
What is the relationship between the programming language Solidity and Bytecode?
Solidity is the language that you write smart contracts in, while bytecode is what it is converted to in order for the EVM to read it.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses Script which is a more basic form of logic which is not turing complete. While Solidity is turing complete.
What is a Turing Complete programming language?
It is a language that can solve all problems in theory.
Homework 1/26/21 EVM
1.- Read the instructions in the smart contrart and excecute them
2.- Byte code
3.- Solidity allows you to program everything and then compile the conde and make it a Byte code in order to the EVM can excecute the instructions in the smart contract.
4.- Because Bitcoin has a no complete touring lengague
5.- Allow you to program anything you want. such like loops
EVM is on top of the cpu where it interpret and execute the smart contract.
Bytecode
Solidity is the programming language that is use to write the smart contracts and bytecode translate it to the computer.
Because bitcoin only uses scripts and it can’t run like ethereum because it would make the block size larger and that would make the bitcoin alot slower to make a block.
5 Turing complete is a complete language where you can build anything you can think of.
Homework on EVM - Questions (Updated on Dec 3 2019)
What does the EVM do?
EVM allows you execute code on the network in a way that everyone is in consensus about what the result should be. This because the EVM will first read the instructions, do calculations to verify the contract can be fulfilled, and issue the result. Then all the CPUs in the network will do the same and if they all reach the same result, consensus is achieved and the contract actions will be executed.
What is the format of the instructions that the EVM can read?
Byte code which is changed by Solidity (or another language) compiler from that language into bytecode.
What is the relationship between the programming language Solidity and Bytecode?
Solidity has a compiler which will translate the programming language into Bytecode for the EVM to read.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin isn’t Turing Complete so it doesn’t allow for loops. This greatly reduces the number of things that can be done on the Bitcoin blockchain.
What is a Turing Complete programming language?
It’s a language which allows for more complex problem solving by allowing for loops. Languages are Turing Complete if they can perform any calculation that any other programmable computer can perform.
What does the EVM do?
reads and executes smart contracts
What is the format of the instructions that the EVM can read?
Bytecode
What is the relationship between the programming language Solidity and Bytecode?
Bytecode is compiled from the instructions written in Solidity
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
it does not use a turing complete language
What is a Turing Complete programming language?
a programming language that enables one to program theoretically anything and allows loops
What does the EVM do?
Ethereum virtual machine is a application present on each node on the network, which exists of a compiler to translate solidity code to machine (byte)code, it is a extra security layer in means of it determines if a smart contract is executed and prevents smart contracts to bypass the EVM.
What is the format of the instructions that the EVM can read?
Bytecode (machinecode)
What is the relationship between the programming language Solidity and Bytecode?
Solidity is the human readable/programmable language, that is your input for the compiler, the output of the compiler (EVM), is bytecode aka machinecode that your cpu etc. understand and can execute
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is not turing complete (only scripts), within Ethereum (turing complete) you can program anything you want, it is possible to perform very complex calculations and statements
What is a Turing Complete programming language?
it can solve all problems (in theory)
Ethereum Virtual Machine is an application which all the nodes run on top of their existing hardware, the EVM uses all resources from the network computer and is able to read smart contracts. The EVM will look at all of the instructions and tell the CPU what to do once it’s read the instructions. Ultimately the EVM machine will help the network computers with Concensus.
EVM byte code
Solidity will use it’s compiler to compile the logic and the instructions down into byte code and the EVM will read the Byte Code.
Bitcoin has a very limited script and is NOT turing complete.
ETH uses solidity which is a Turing Complete language which means that whatever you can think of can be programmed.
Homework on EVM - Questions (Updated on Dec 3 2019)
EVM is the software used by the ethereun network to be able to create/read/write and broadcast smart contracts.
bytecode
Solidity is the interface a developer uses to write the bytecode into the EVM, that way, the EVM can create the smart contract and broadcast it to the nodes. the EVM does not care which software is used to program, but it must be in bytecode.
Bitcoin is not touring complete, it is a very primitive programming feature that does not allow such interactions in the blockchain.
A Turing complete programming language is a condition in the programming language that can be able to determine "if’s " then " “go tos” and must be able to have enough memory to go back and forth within the problem that is currently trying to solve. Among these two main principles, it must be a language that should have the capability to at least comply with the two features stated .
The EVM (Etherum Virtual Machine) is an application each node is having on the ethereum blockchain. The EVM is mainly there for security reasons. EVM is reading and performing the programmed operations in Smart Contracts.
EVM can read “bytecode”
Ethereum has a programming language called “Solidity”. The relationship between solidity and bytecode is that you program in Solidity and then translate your code to bytecode for execution.
Bitcoin has a programming language called “script”. This is not a turing complete language which indicate that you can only perform very basic programming.
A Turing complete programming language implies that you can program anything you can think of in Theory.
The EVM (Ethereum Virtual Maschine) is an App which runs on the nodes’ hardware. It can read and execute smart contracts.
The EVM reads Bytecode
Solidity is the programming language, its being translated by a complier into Bytecode which can be executed by the EVM
Because Bitcoins programming language “script” is not turing complete.
A turing complete programming language like JS, Solidity, Viper, etc. can be used to solve any Problem, you can program virtually anything with it. It also allows for loops.