Ethereum basic concepts

Ethereum builds on top of the Bitcoin blockchain, including key features such as a distributed ledger containing chained blocks, the proof-of-work algorithm, and so on. However, its biggest addition is the introduction of smart contracts, which are coded in a Turing-complete scripting language. Because of this new addition, unlike Bitcoin or its non-smart contract close relatives, Ethereum allows developers to address generic business problems.

Before getting to the basic concepts, we summarize some useful facts on Ethereum as follows:

  • Ethereum has three main ingredients:
    • Decentralization: For guaranteed execution
    •  Hashes: For safeguarding the world state
    •  Signatures: For authorizing programs and transactions
  • Since Ethereum is a blockchain, it uses mathematical algorithms to replace intermediary entities and bring untrusting parties together to do businesses.
  • Ethereum blockchain brings trust in data due to its ability to verify the validity of data on a node via its consensus mechanism.
  • It uses total validation to replace central control.
  • Like a transaction, a digital signature is required for deploying a smart contract. A deployed smart contract is permanent and is immutable.
  • A smart contract is assigned with an address.
  • Suppose a smart contract has a bug and requires a fix. The patched smart contract will be deployed with a newly assigned address and therefore is treated as a completely new smart contract with no relationship to the old one. 
  • In May 2017, Ethereum had 25,000 reachable nodes worldwide, consisting of full nodes and light nodes.
  • A full node has the full blockchain downloaded and available. The Ethereum ledger can be pruned. Full nodes verify transactions in a block in construction. A miner node has to be a full node.
  • A light node does not store the entire blockchain, but it stores the parts it cares about from someone it trusts.
  • Scripts of a contract code are executed via the Ethereum virtual machine (EVM) on full nodes. A smart contract's address stores bytecode, called opcode, that runs on the EVM.
  • Since a smart contract runs on full nodes on tens of thousands of machines, it truly is worldwide. In other words, writing a smart contract to a blockchain is global and permanent.
  • Since smart contract scripts are stored in a decentralized way, it provides an additional layer of security. This is true as all full nodes know that other nodes store the same code. It is not feasible for a hacker to push malicious scripts to all good nodes worldwide and crash them.
  • A smart contract is a scripted legal document and is guaranteed for execution. Since a smart contract is signed at its deployment and a transaction that invokes it is also signed, there should not be a dispute between the two trading parties in the transaction. In other words, with a decentralized blockchain such as Ethereum, the need for a judge disappears! node and can grow to a full network.
  • Thanks to the nature of permanence and immutability, data and programs on Ethereum blockchain are auditable. This could be of special interest to the government for enforcing regulation and compliance requirements.
  • Ethereum is open source. Anyone can download the code and create his or her own version of an Ethereum network. Of course, the issue is about how to convince others of its value so they join the network.
  • Ethereum is decentralized. As a result, there is no master node that controls or dictates the whole network. The network operates via consensus, as per its protocols.
  • Ethereum provides fault tolerance as well. As long as at least one full node survives during a catastrophic attack, the network can be rebuilt from the surviving node and grow to a full network.
  • While Ethereum provides extreme robustness, the flip side is the problem of how to stop it when it is out of control. Like in the example of the The DAO hack, the network had to rely on Vitalik and his authority to shut it down completely. Compared to today, the network then was many times smaller. As the network continues to grow in size, this approach will become harder. In future, the network may grow to tens of millions of nodes or more. As long as one node does not respond to an authoritative call, the Ethereum network is still alive. In other words, it becomes extremely difficult to shut down a network completely. Of course, this is what a decentralized blockchain is all about: no centralized authority dictating to everyone else!
  • Ethereum allows for recursive calls to other smart contracts. Poorly written smart contracts can lead to infinite loops. To address this issue, Ethereum builds in a circuit breaker mechanism, Gas, which is explained later in detail.
  • On a big data platform, a task is divided into chunks that are distributed to nodes on the network and the work is shared by nodes. However, Ethereum's full nodes execute the same pieces of scripts. That means every full node of the Ethereum blockchain stores and computes the same data; this is reliable but not scalable. The scalability issue is one of the major criticisms of Ethereum. As we will discuss later, multiple efforts are underway to address this issue.
  • Ether is the native cryptocurrency of Ethereum. Ethereum allows a user to issue their own digital coins called tokens. ERC-20/ERC-721/ERC 1400 are common technical standards to be followed for issuing Ethereum tokens.
  • Ethereum can be seen as the third generation of the internet. This could be one reason that Ethereum's JS API was called Web3. There are discussions on rewriting the internet with blockchain technology.
  • The practice of providing centralized services on top of a decentralized internet (such as Google providing a centralized searching functionality on a decentralized internet) will apply to blockchain as well.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.212.91