Jason Simeon Genge - An introduction to Ethereum, the peer to peer computing framework based on the blockchain design. It describes how Ethereum relates to earlier blockchain technologies and how it represents an evolution of these technologies Follow Jason Genge - Follow Jason Genge -https://www.facebook.com/jason.simeongenge.5
2. The Blockchain
■ In 2008, Bitcoin was launched as a peer-to-peer
database that relied on a new data structure
referred to as the‘blockchain’.
■ The blockchain consists of blocks, whereeach
block holds a set of transactions and a
reference to the previous block. This helped
create a chain of all transactions that ever
occurred.
■ This data structure is replicated across all
participating nodes so that every participant is
aware of the transactions without having toget
them from a centralauthority.
-
-
-
-
-
-
-
-
-
ethereumJason Simeon Genge
3. Distributed Consensus
■ In order to control how new blocks (with new
transactions) are added to the chain, the
design relies on a consensus mechanism
which requires anyone (a node in the peer to
peer network) who would like to nominate a
new block (with new transactions it has
gathered from its peers) to solve a puzzle that
requires significant computations (computer
processing power). The difficulty of thispuzzle
is dynamically adjusted such that it takes on
average 10 minutes for any one node to solve
the puzzle. A process known asmining.
■ Whenever a node solves the puzzle and create
the new block (which includes new
transactions that it has gathered from other
peers around it), the node is rewarded with an
amount of new Bitcoins which it can use to pay
for the cost of solving the puzzle (computer
equipment andelectricity).
-
-
-
-
-
-
-
-
-
ethereumethereumJason Simeon Genge
4. Decentralization
■ Given the architecture of the blockchain, the
database continues to grow so long asnodes
keep trying to nominate and verify newblocks
regardless of nodes joining or leaving the
network
■ The factthat the entire database exists without
depending on a single node, makes it very
powerful and almost impossible to alter or
destroy (the decentralized feature of the
blockchain)
■ The integrity/validity of transactions in the
block chain is ensured through the use of
cryptographic techniques that make itefficient
to verify if any invalid transactions have been
added
-
-
-
-
-
-
-
-
-
ethereumethereumJason Simeon Genge
5. Beyond Bitcoin
■ The architecture of the blockchain is very
powerful as it enables decentralization while
maintaining security. This has significant
implications on the design of computer systems
asit allows computer applications to be scalable
and reduce the requirement for a large central
infrastructure
■ While the first successful use of the blockchain
database architecture was demonstrated on the
Bitcoin network, many started exploring how
they can utilize this design for othertransactions
beyond value transfer transactions which Bitcoin
mainly handles
-
-
-
-
-
-
-
-
-
ethereumethereumJason Simeon Genge
6. Towards a Peer to Peer Computing Framework
■ While, the design of the blockchain solved
many issues when it comes to decentralizing
and securing transactions. There was noeasy
way to specify logic that made use of that
database for purposes beyond the transfer of
value between accounts.
■ The Ethereum project set out to design the
required pieces to evolve the blockchain froma
distributed transactional database to be part of
a general purpose peer to peer computing
framework.
■ At the heart of ethereum is a virtual machine
capable of executing instructions known asthe
Ethereum Virtual Machine (EVM), it allows the
execution of programmed instructions stored
within theblockchain
-
-
-
-
-
-
-
-
-
ethereumJason Simeon Genge
7. -
-
-
-
-
-
-
-
-
The Blockchain of State and Transactions
■ To introduce the ability to execute programs,
the blockchain was modified such that each
block not only contains the latesttransactions
but also the latest state of member programs
(aka., contracts).
■ With every new block the state of contracts in
the blockchain is updated per the processed
transactions thereby taking the blockchain toa
new state.
■ As amean to ensure that provided instructions
do not run forever, a constraint is built into the
execution of every contract so that any party
invoking a contract in a transaction is required
to provide special tokens of monetary value
that get consumed depending on the number
of instructions and the storage used by the
contract.
ethereumJason Simeon Genge
8. Contracts as Accounts
■ A contract has a permanent address on the
blockchain which gets assigned when it is
created. This permanent address isused to
identify thecontract.
■ Every contract contains a balance of the basic
monetary unit in the ethereum network referred
to as ether.
■ If a contract does not include any programmed
instructions, it behaves as an account. It has an
address and a balance. This account can
receive/send ethers from/to other
accounts/contracts.
Address
Balance
ethereumethereumJason Simeon Genge
9. Contracts as Decentralized Executable Programs
■ Ether is required to call a contract, this is done
to ensure that infinite execution does notoccur
as the execution stops the moment the ether
amount sent along with the call isconsumed
■ When a contract is called, a small amount of
ether is required to be sent along with the call.
This amount is eventually transferred to the
node that gets to nominate the next block inthe
block chain. However, when a contract is called,
an amount of ether can be directly transferred
to that contract there by instituting a balance
transfer like in the case of apayment
■ When referring to the calling of acontract, it is
in reference to invoking one of the methods in
the programmed instructions which can be
used to execute a certainaction
Fields
-
-
Methods
-
-
Events
-
-
Address
Balance
ethereumethereum
10. Contracts as Decentralized Executable Programs
■ The execution of amethod can modify the state
of the contract by manipulating one or more of
its fields
■ A contract can also have set of events which
are used to notify interested parties of the
occurrence of certain events during thelifetime
of thecontract
■ A contract lives forever on the blockchain once
it is created unless, the original instructions
made use of the suicide feature, afeature which
destroys a contract and transfers its ether
balance to anotheraccount
Fields
-
-
Methods
-
-
Events
-
-
Address
Balance
ethereumethereumJason Simeon Genge
11. Messaging and File Sharing...
ethereum
swarm whisper
■ In addition to the use ofthe ethereum virtual
machine to execute contract logic. The
ethereum project also introduced two
additional protocols to provide peer to peer
support for exchanging message as well
exchanging static files
■ The peer to peer protocol used forexchanging
message is named whisper and it provides a
powerful distributed and private messaging
capabilities with support for single cast,
multicast and broadcast messages
■ The peer to peer protocol used forexchanging
static files is named swarm and it provides a
new incentivized approach to distribute static
content among peers and exchange them
efficiently
ethereumethereumJason Simeon Genge
12. Decentralized Messaging
■ Whisper provides a peer to peer protocolfor
exchanging short timed messages privately
■ Whisper relies on a subject key (Topic)
approach to deliver messages wheremessages
are published using a hashedtopic
■ Messages can be encrypted with a specific key
for privacy
■ Indirectly supports broadcast, multicast and
unicast
■ Whisper is ahigh latency and low bandwidth
messaging protocol
■ Provides the ability to use masks/filters to
narrow down topics of interest withoutgiving
away what topic is beingsought
whisper
ethereumethereum
13. Incentivized File Transfer ...
swarm
■ Leverages the underlying ethereum
infrastructure through the use of acontracts
and ethers to encourage cooperationamong
nodes
■ Filesare split into chunks which are stored in
nodes in thenetwork
■ An accounting protocol is used by peers tokeep
track of chunks delivered and received and
resulting micro-payments owed
ethereumethereumJason Simeon Genge
14. DEMO
■ Assume we would like to create a smart door
which opens up if given the rightkey.
■ Adding anew user required two or more users to
authenticate thetransaction.
ethereumethereumJason Simeon Genge