Sunday, 29 January 2017

Ethereum Overview

What is Blockchain?

A blockchain is a distributed computing architecture where every network node executes and records the same transactions, which are grouped into blocks. Only one block can be added at a time, and every block contains a mathematical proof that verifies that it follows in sequence from the previous block.

What is Ethereum?

Ethereum is a programmable blockchain, a suite of protocols. Ethereum is suited for applications that automate direct interaction between peers or facilitate coordinated group action across a network.

What is Contract?

Ethereum's basic unit is the account.

  • Externally Owned Accounts(EOAs)
    Has an Ether balance,
    Can send transactions(ether transfer or trigger contract code)
    Is controlled by private keys.
    Has no associated code.
  • Contract Accounts,
    Has an Ether balance
    Has associated code
    Code execution is triggered by transactions or messages received from other contracts.
All action on the Ethereum block chain is set in motion by transactions fired from externally owned accounts.
Every time a contract account receives a transaction, its code is executed as instructed by the input parameters sent as part of the transaction. 
The contract code is executed by the EVM on each node participating in the network as part of their verification of new blocks.


What is Smart Contract?

The smart contracts refer to code in a Contract Account : programs that execute when a transaction is sent to that account. Ethereum requires nodes to be able to agree on the outcome of computation, which requires a guarantee of strictly deterministic execution.

A Contract is a collection of code (its function) and data (its state) that resides at a specific address on the Ethereum blockchain. Contracts live on the blockchain in a Ethereum-specific binary format called EVM bytecode. Contracts are typically written in a higher level language and then compiled using the EVM compiler into bytecode to be deployed to the blockchain.

EVM is completely isolated. The code running inside the EVM has no access to network, filesystem, or other processes. Smart contracts even have limited access to other smart contracts.

Ethereum contracts CANNOT pull data from external information sources.

Data and contracts on the Ethereum network are encoded, but not encrypted. Everyone can audit the behavior of the contracts and the data sent to them.

What is Transaction and Message?

Transaction refers to the signed data package that stores a message to be sent from an externally owned account to another account on the blockchain.

Contracts have the ability to send "messages" to other contracts. Messages are virtual objects that are never serialized and exist only in the Ethereum execution environment. A message is like a transaction, except it is produced by a contract and not an external actor.


What is Transaction Fee and Gas?

The sender of a transaction must pay for each step of the "program" they activated, including computation and memory storage.

These transaction fees are collected by the nodes that validate the network. These "miners" are nodes in the Ethereum network that receive, propagate, verify, and execute transactions. The miners then group the transactions into what are called blocks.

Mining is also the way to secure the network by creating, verifying, publishing and propagating blocks in the blockchain. A block is only valid if it contains proof of work of a given difficulty.
Unlike Bitcoin, Ethereum blocks contain a copy of both the transaction list and the most recent state.
Ethash PoW is memory hard, making it ASIC resistant.

Gas is a central part of every network request and requires the sender to pay for the computing resources consumed. The principle behind Gas is to have a stable value for how much a transaction or computation costs on the Ethereum network. Each operation in the EVM was assigned a number of how much gas it consumes.

Every node participating in the network runs the EVM as part of the block verification protocol. Each and every full node in the network does the same calculations and stores the same values. Its parallel processing is redundantly parallel.
It is to offer an efficient way to reach consensus on the system state without needing trusted third parties. Don't use the blockchain for computation that can be done offchain.

How to connect?

Geth finds peers through discovery protocol. Nodes are gossipping with each other to find out about other nodes on the network. In order to get going initially, geth uses a set of bootstrap nodes whose endpoints are recorded in the source code.



1 comment:

  1. Invest in Ethereum on eToro the World’s #1 Social Trading Network.

    Join 1,000,000's who have already discovered better methods for investing in Ethereum...

    Learn from experienced eToro traders or copy their positions automatically!

    ReplyDelete