Sie sind auf Seite 1von 15

Jason Simeon Genge

Jason Simeon Genge


https://www.slideshare.net/jasonsimeongenge1
2017
The Blockchain

In 2008, Bitcoin was launched as a peer-to-peer


database that relied on a new data structure
referred to as theblockchain.

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.

Jason Simeon Genge ethereum


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 as mining.

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 and electricity).

Jason Simeon Genge ethereum


ethereum
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

Jason Simeon Genge ethereum


ethereum
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

Jason Simeon Genge ethereum


ethereum
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 as the
Ethereum Virtual Machine (EVM), it allows the
execution of programmed instructions stored
within the blockchain

Jason Simeon Genge ethereum


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.

Jason Simeon Genge ethereum


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 the contract. Address

Every contract contains a balance of the basic


Balance
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.

Jason Simeon Genge ethereum


ethereum
Contracts as Decentralized Executable Programs

Address
Ether is required to call a contract, this is done
to ensure that infinite execution does notoccur Balance
as the execution stops the moment the ether
amount sent along with the call isconsumed
Fields
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, Methods
an amount of ether can be directly transferred -
-
to that contract there by instituting a balance
transfer like in the case of apayment
Events
-
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

ethereum
ethereum
Contracts as Decentralized Executable Programs

The execution of amethod can modify the state Address


of the contract by manipulating one or more of
its fields Balance

A contract can also have set of events which


are used to notify interested parties of the
Fields
occurrence of certain events during thelifetime
-
of the contract -

A contract lives forever on the blockchain once


it is created unless, the original instructions Methods
made use of the suicide feature, afeature which -
destroys a contract and transfers its ether -
balance to anotheraccount
Events
-
-

Jason Simeon Genge ethereum


ethereum
Messaging and File Sharing...

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 ethereum
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 swarm whisper
new incentivized approach to distribute static
content among peers and exchange them
efficiently

Jason Simeon Genge ethereum


ethereum
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 whisper


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

ethereum
ethereum
Incentivized File Transfer ...

Leverages the underlying ethereum


infrastructure through the use of a contracts
and ethers to encourage cooperationamong
nodes

Filesare split into chunks which are stored in


nodes in the network

An accounting protocol is used by peers tokeep


track of chunks delivered and received and swarm
resulting micro-payments owed

Jason Simeon Genge ethereum


ethereum
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 the transaction.

Jason Simeon Genge ethereum


ethereum
ethereum

https://twitter.com/jasonsimeongeng

https://www.facebook.com/jason.simeongenge.5

https://www.linkedin.com/in/jason-simeon-genge-60bba7152/

https://jasonsimeongenge.wordpress.com/

Jason Simeon Genge

Das könnte Ihnen auch gefallen