How Ethereum Works?




Now that we have discussed what ethereum is, let's dive deeper into how the platform functions under the hood.

Consider the online notebook application described in "What is Ethereum?"

Using ethereum, applications do not require one entity to store and control the data. To achieve this, ethereum borrows a lot from the bitcoin protocol and its blockchain design, but changes it to support applications beyond money.

Ethereum aims to abstract the design of bitcoin, so that developers can create applications or agreements that have additional steps, new ownership rules, alternative transaction formats or different ways to transfer status.

The purpose of the 'Turing-complete' ethereum programming language is to allow developers to write more programs where blockchain transactions can manage and automate certain results.

This flexibility is probably the main innovation of ethereum, as described in the guide "How Do Smart Ethereum Contracts Work".

Blockchain ethereum
The structure of the etchain blockchain is very similar to bitcoin, in the sense that it is a shared record of all transaction history. Each node on the network keeps a copy of this history.

The big difference with ethereum is that the node stores the latest status of each smart contract, in addition to all ether transactions. (This is far more complicated than explained, but the text below will help you get your feet wet.)

For each ethereum application, the network needs to track the 'state', or the latest information on all of these applications, including the balance of each user, all smart contract codes, and where they are stored.

Bitcoin uses transaction output that is not used to track who has how much bitcoin.

Even though it sounds more complex, the idea is quite simple. Every time a bitcoin transaction is made, the network 'breaks down' the total amount as if it were paper money, repeating bitcoin in a way that makes data behave similar to physical coins or changes.

To make transactions in the future, the bitcoin network must add all parts of your changes, which are classified as 'spent' or 'spent'.

Ethereum, on the other hand, uses an account.

Like bank account funds, ether tokens appear in the wallet, and can be transported (in other words) to another account. Dana is always somewhere, but does not have what you call an advanced relationship.

What is the ethereum virtual machine?
With ethereum, every time a program is used, a network of thousands of computers process it.

Contracts written in smart contract specific programming languages ​​are compiled into 'bytecode', which can be read and run by 'virtual ethereum machines' (EVM).

All nodes run this contract using their EVM.

Remember that each node in the network keeps a copy of the transaction and a history of smart contracts from the network, in addition to tracking the current 'state'. Every time a user takes several actions, all nodes on the network must reach an agreement that this change occurs.

The aim here is for the network of miners and nodes to be responsible for transferring transfers from one country to another, rather than some authorities such as PayPal or banks. Bitcoin miners validate the shift in ownership of bitcoin from one person to another. EVM carries out contracts with whatever rules the developer initially programmed.

Actual calculations on EVM are achieved through stack-based bytecode (which is machine-readable and zero), but developers can write smart contracts in high-level languages ​​such as Solidity and Serpent which are easier for humans to read and write.

As explained in our guide "How Ethereum Mining Works", miners are those who prevent bad behavior - such as ensuring that no one spends their money more than once and rejects a smart contract that has not been paid.

There are several thousand ethereum nodes out there, and each node compiles and executes the same code.

But, you might think, isn't that much more expensive than normal calculations? That is. That's why networks can only be used for certain use cases.

The ethereum dev tutorial officially recognizes this inefficiency, stating:
Powered by Blogger