The History of Ethereum

The History of Ethereum


after Satoshi released Bitcoin to the
world in 2008 a community of blockchain
developers and researchers started to
take shape around it many developers
contributed to the open source
development of Bitcoin several magazines
and online blogs also started to appear
writing about interesting projects and
new ideas in the space one of the
members of this community was a Canadian
teenager named
Vitalik Buterin who worked as a writer
for a publication called Bitcoin
magazine as he was watching the
ecosystem take shape he noticed a common
problem among projects that many of them
needed to start their own blockchain
this got vitalik wondering wouldn’t it
be nice to have one single blockchain
that everyone could build their
applications on just like we have one
single intranet that everyone can build
their websites on instead of figuring
out how to start a blockchain developers
would then be able to focus on building
their own applications so in late 2013
Vitalik published the etherium white
paper which built on many concepts from
Bitcoin the white paper is available
today on the etherium github page in the
white paper he outlined the limitations
of the Bitcoin blockchain and proposed a
new general-purpose blockchain that
could be used as a decentralized
application platform Ethereum would be
able to do everything Bitcoin could like
sending transactions between accounts
and a whole lot more
the main issue with Bitcoin was the lack
of a general-purpose programming
language that would allow you to create
any sort of application on top of its
blockchain Bitcoin scripts are not
turing-complete meaning you can’t write
simple structures like loops and they’re
also limited in capability because they
can’t store state these scripts are also
referred to as simple versions of smart
contracts the etherium white paper
described its own native currency called
ether and a new runtime environment for
smart contracts called the ethereum
virtual machine or EVM a subsequent
yellow paper was released
in mid-2014 by collaborator Gavin wood
that would define the technical
specification of the EVM and how it
would work the yellow paper was used to
create several open-source
implementations in different languages
the most popular one being the Go
language client also known as Geth. the
second most popular implementation was
written in the Rust language and is
called the Parity client anyone running
a client is a node in the Ethereum
network which currently has over 25,000
nodes around the world. Smart contracts
are just application logic that can be
expressed using the operations defined
in the EVM and they can also store data
on the blockchain EVM opcodes are
low-level machine language which isn’t
very human readable so developers write
smart contracts in high-level languages
that compile down to EVM opcodes several
high-level languages exist like serpent
and Viper but the most popular one today
is called solidity and it has a syntax
similar to JavaScript smart contracts
can contain some data as well as code
that manipulates that data you can think
of a smart contract like a class that
has fields and methods anyone can use
solidity to write a smart contract and
deploy it to the Ethereum blockchain
using a simple transaction you would do
this by compiling your solidity smart
contract down to EVM byte code and then
sending the byte code as part of a
transaction to the ethereum network
once the transaction gets mined the
smart contract is deployed to the
blockchain and given a public address
anyone can then interact with the smart
contract by sending transactions to its
address and specifying which method they
want to invoke the result of the method
call is written to the blockchain after
the transaction is mined there is also a
cost associated with invoking a smart
contract method called Gas Gas is just a
unit of measurement that determines how
much computation and EVM opcode requires
the price of one unit of gas is set
in ether and is known as the gas price
the gas price is used to calculate the
total transaction fee for invoking a
method call based on how much gas the
method requires and it must be paid by
the sender of the transaction an
interesting thing to note is that any
transaction that invokes a smart
contract method gets executed on every
single Ethereum node this means that in
order to mine a transaction into a block
you have to invoke any smart contract
methods for it as well in this sense
Ethereum can be thought of as a
decentralized world computer where you
pay for computation using ether Ethereum uses a similar mining algorithm to
Bitcoin which is based on proof of work
but is slightly modified the reward for
mining an Ethereum block is given to
the miner in ether and the current block
reward is three ether a block is mined
on the network about every 15 seconds
the issuance model for ether is
different from Bitcoin whereas Bitcoin
is capped at 21 million coins forever
Ethereum has no such limit instead
Ethereum has an annual cap such that
only 18 million ether can be created in
one year
both of these issuance models are
experiments and it is yet to be seen how
they play out in the future one of the
motivations for modifying the mining
algorithm from Bitcoin was to make it
ASIC resistant as pointed out in the
Ethereum white paper the Bitcoin mining
algorithm can be exploited by using
specialized mining hardware called Asics
giving some miners an unfair advantage
over others this has led to
centralization of Bitcoin mining because
very few people can afford to get such
specialized hardware to prevent this
type of mining centralization in
Ethereum the algorithm was modified to
be geared towards GPUs which are more
commonly available and thus less likely
to be centralized a rapidly growing
interest in Ethereum has revealed some
of its limitations the maximum
transaction throughput on the network is
currently less than 16 transactions per
figuring out how to scale the Ethereum
blockchain to allow everyone’s
applications to run smoothly is a very
difficult challenge during peak Network
loads the time between blocks can
increase and transaction fees can go up
there are several scaling solutions
being researched and developed including
sharding proof of stake and state
channels the breakneck pace of
development in the ecosystem can also be
challenging for developers to navigate
as libraries are continuously being
updated for the most up-to-date
libraries make sure you always refer to
the project’s github page or a website
the pace of development in the community
has also encouraged the creation of
standards to foster interoperability
some example standards today are ERC 20
for defining a transferable token
interface and ERC 721 for defining a non
fungible token interface to learn more
about building block chain applications
check out our online guides and courses
available at blockgeeks.com

3 comments

Add a Comment

Your email address will not be published. Required fields are marked *