Getting started with Ethereum


ethereum

What is Ethereum?

Ethereum is an open-source blockchain platform that lets anyone build and use decentralized applications that run on blockchain technology. It is an open-source project created by Vitalik Buterin.

How is it different from Bitcoin?

Bitcoin is not capable of performing calculations that didn’t fit into his limited scripting language.

Satoshi Nakamoto, the creator of bitcoin, did not design it to send anything more than few kilobytes of data per transaction believing that limiting the functionality would improve the security of the system.

But unlike Bitcoin, Ethereum was designed as the one that fits a virtual machine (the EVM), a Turing-complete language(Solidity), a token (ETH), and fuel (gas) to power every transaction in its network. This combination allows to create complex programmatic computational instructions or as we call them smart contracts and decentralized applications or DApps.

How does it work?

The basic unit of Ethereum is account. Accounts are essential for users to interact with the Ethereum blockchain via transactions.The ethereum blockchain tracks the state of every account.

There are two types of accounts:

  • externally owned accounts(EOAs) – which are controlled by private keys
  • contract accountswhich are controlled by their contract code and can only be activated by an EOA

If we restrict Ethereum to only externally owned accounts and allow only transactions between them, we get an “altcoin” system that is less powerful than bitcoin itself and can only be used to transfer ether.

Like in Bitcoin, users pay small transaction fees to the Ethereum network. This helps in protecting  the Ethereum blockchain from malicious computational tasks, like DDoS attacks or infinite loops. These fees are paid in amounts of Ethereum’s native value-token, Ether.

Miners in Ethereum

These transaction fees ( the fees paid by the sender of a transaction for each step of the program they activate) 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 many transactions to update the state of the account into blocks.

Miners then compete with one another for their block to be the next one to be added to the blockchain. They are rewarded with ether for each successful block they mine.

This helps in providing an economic incentive for people to dedicate hardware and electricity to the Ethereum network.

Proof of work function in Ethereum

The miners are tasked with solving a complex mathematical problem or Proof of Work to successfully mine a block. Any computational problem that requires orders of magnitude more resources to solve algorithmically than it takes to verify the solution can a good candidate for proof of work. In order to discourage centralization due to the use of specialized hardware (e.g. ASICs), as has occurred in the Bitcoin network, Ethereum chooses a memory-hard computational problem. If the problem requires memory as well as CPU, the ideal hardware is, in fact, the general computer.

This makes Ethereum’s Proof of Work ASIC-resistant, allowing a more decentralized distribution of security than blockchains whose mining is dominated by specialized hardware.

Currently, The PoW algorithm used in Frontier and Homestead is called Ethash, and it is created specifically for Ethereum.

References

Advertisements

About Himani Arora

Software consultant at Knoldus Software LLP.
This entry was posted in Blockchain, Scala and tagged , , , , , , . Bookmark the permalink.

One Response to Getting started with Ethereum

  1. Prabhat Kashyap says:

    Reblogged this on Prabhat Kashyap – Scala-Trek.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s