DAPPER NETWORK
THE BLOCKCHAIN
INTRO TO THE
OBJECTIVES
EXPLORE BLOCKCHAIN FUNDAMENTALS
WHITE PAPERS & KEY RESOURCES
INTRODUCE ETHEREUM PLATFORM
MAURICE STEPHENS
MAURICE STEPHENS
▸ Full Stack Developer almost 10 years
▸ Designing Databases almost 20 years
▸ VFX, Post Production & Video Editing 8 years
▸ Thornton School of Music, USC…
▸ Not very financially savvy really
▸ LOVE the Startup life
TEXT
BLOCKCHAIN
WHAT IS
Exactly
BLOCKCHAIN
▸ A Software Architecture
▸ A Distributed, Decentralized Ledger
▸ A Network of Nodes
▸ A Basis for New Currencies
▸ Transparent, Incorruptible
WHAT ARE WE
TALKING ABOUT
WHEN WE SAY
THE WORD:
MONEY?
BLOCKCHAIN & BITCOIN
‣ An idea conceptualized by Satoshi Nakamoto in 2008
‣ White Paper published in 2009
BITCOIN WHITEPAPER
BITCOIN
▸ An specific implementation of
blockchain architecture
▸ Introduces us to …
▸ the distributed ledger
▸ The block object
BLOCKCHAIN AS OPEN DISTRIBUTED LEDGER
‣ Set of key-value pairs. Basic pattern is a timestamp and a link to
previous block
‣ Peer to Peer - Contains Nodes & forms a distributed &
decentralized database of records
‣ Uses sha256 hashing 256 bit, 32 byte cannot be decrypted
‣ Uses a “consensus protocol” to determine next transaction block
to be added to the chain
‣ Consensus is established by the nodes in the network
‣ Prevents double spending
‣ No single point of failure
Single Point of Failure Distributed Architecture
BLOCK EXPLORER
BLOCKCHAIN.INFO
CONSENSUS PROTOCOL
‣ Proof of Work - is an economic measure to deter denial of service
attacks and other service abuses such as spam on a network by
requiring some work from the service requester, usually meaning
processing time by a computer.
‣ Proof of Stake - Establishes consensus via network of nodes each
having an economic stake in the integrity of the transaction
‣ Byzantine fault tolerance - Any fault presenting different symptoms to
different observers
‣ See PoW vs PoS White Paper 9/2015
‣ The Objective Remains Decentralized Consensus
BYZANTINE GENERAL’S DILEMMA
TEXT
HASHES & CRYPTOGRAPHY
‣ SHA256
‣ A cryptographic hash is like a signature for a text or a data file.
algorithm generates an almost-unique, fixed size 256-bit (32-byte)
hash. Hash is a one way function – it cannot be decrypted back.
‣ Public Key
‣ A cryptographic key that can be obtained and used by anyone to
encrypt messages intended for a particular recipient, such that the
encrypted messages can be deciphered only by using a second
key that is known only to the recipient (the Private Key ).
PUBLIC KEY CRYPTOGRAPHY
The idea of Public Key Cryptography is to send messages in such a
way that only the person who receives them can understand them
even if the method of encryption is discovered by 'an enemy' who
intercepts the messages. The person who sends the
message encodes it; the person who receives the
message decodes it (puts it back into a readable form)
ESTABLISH DECENTRALIZED CONSENSUS
PREVENT DOUBLE SPEND
MERKLE TREE
 A Merkle tree is a hash based data structure that is a
generalization of the hash list. It is a tree structure in which each
leaf node is a hash of a block of data, and each non-leaf node is a
hash of its children. Typically, Merkle trees have a branching
factor of 2, meaning that each node has up to 2 children.
Similar to a Binary Tree
TEXT
FROM BITCOIN WIKI
MERKLE TREE
Every transaction has a hash associated with it. In a block, all of the
transaction hashes in the block are themselves hashed (sometimes
several times -- the exact process is complex), and the result is the
Merkle root. In other words, the Merkle root is the hash of all the
hashes of all the transactions in the block. The Merkle root is
included in the block header. With this scheme, it is possible to
securely verify that a transaction has been accepted by the network
(and get the number of confirmations) by downloading just the tiny
block headers and Merkle tree -- downloading the entire block
chain is unnecessary.
A GENESIS BLOCK IS THE FIRST BLOCK OF A BLOCK CHAIN.
GENESIS HASH
GetHash() = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
txNew.vin[0].scriptSig = 486604799 4
0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6
C65636E61684320393030322F6E614A2F33302073656D695420656854
txNew.vout[0].nValue = 5000000000
txNew.vout[0].scriptPubKey =
0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A
60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG
block.nVersion = 1
block.nTime = 1231006505
block.nBits = 0x1d00ffff
block.nNonce = 2083236893
CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000,
hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
CTxIn(COutPoint(000000, -1), coinbase
04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206
f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
vMerkleTree: 4a5e1e
TEXT
Vitalek Buterin
TEXT
ETHEREUM
▸ Smart Contract - Capable of running code logic from a
decentralized application
▸ Self Executing - No Middlemen - Trustless
Every Node on the blockchain processes/runs every
transaction and stores the entire state, just like bitcoin

You can think of the programs as programs sitting on one
computer, except the computer is massively distributed
global network, with a highly secure network backed by 10s
of thousands of computers all over the world
ETHEREUM - SMART CONTRACT
ETHEREUM
ETHEREUM
MULTIPLE INITIATIVES
▸ Smart Contracts - Solidity
▸ EVM - Ethereum Virtual Machine
▸ Mist Browser - Casper Browser (PoS)
▸ Includes Solidity Compiler - Dapp Browser regulates conditions for transfer of Ether
▸ Swarm - Serverless hosting incentivized peer-to-peer storage
and content distribution
▸ ENS
▸ Geth
▸ Enterprise Ethereum Alliance…
MIST
FEATURES OF MIST BROWSER / ETHEREUM WALLET
▸ Browse DAPPS
▸ Mine Ether on Main or TestNet
▸ Add Ether Addresses
▸ Run Solidity Contracts between those Addresses
▸ Build a DAO - Decentralized Autonomous Organization
▸ Raise Funds in a Crowdsale
▸ Create your own cryptocurrency
TROOPWORK
Are you speaking of money 

as a Storage of Value, a

Medium of Exchange OR

Unit of Account?
Vitalek Buterin
FROM ANTON ANTONOPOULOS
WAYS TO THINK ABOUT CURRENCY
▸ Storage of Value - Is the function of an asset that can be
saved, retrieved and exchanged at a later time, and be
predictably useful when retrieved.
▸ Medium of Exchange - An intermediary instrument used
to facilitate the sale, purchase or trade of goods between
parties. It must represent a standard of value accepted by
all parties.
▸ Unit of Account - Is a nominal monetary unit of measure or
currency used to represent the real value (or cost) of any
economic item

Intro to blockchain - Dapper Dev Bootcamp

  • 1.
  • 2.
    OBJECTIVES EXPLORE BLOCKCHAIN FUNDAMENTALS WHITEPAPERS & KEY RESOURCES INTRODUCE ETHEREUM PLATFORM
  • 3.
  • 4.
    MAURICE STEPHENS ▸ FullStack Developer almost 10 years ▸ Designing Databases almost 20 years ▸ VFX, Post Production & Video Editing 8 years ▸ Thornton School of Music, USC… ▸ Not very financially savvy really ▸ LOVE the Startup life
  • 5.
  • 6.
  • 7.
    BLOCKCHAIN ▸ A SoftwareArchitecture ▸ A Distributed, Decentralized Ledger ▸ A Network of Nodes ▸ A Basis for New Currencies ▸ Transparent, Incorruptible
  • 9.
    WHAT ARE WE TALKINGABOUT WHEN WE SAY THE WORD: MONEY?
  • 10.
    BLOCKCHAIN & BITCOIN ‣An idea conceptualized by Satoshi Nakamoto in 2008 ‣ White Paper published in 2009
  • 11.
  • 17.
    BITCOIN ▸ An specificimplementation of blockchain architecture ▸ Introduces us to … ▸ the distributed ledger ▸ The block object
  • 18.
    BLOCKCHAIN AS OPENDISTRIBUTED LEDGER ‣ Set of key-value pairs. Basic pattern is a timestamp and a link to previous block ‣ Peer to Peer - Contains Nodes & forms a distributed & decentralized database of records ‣ Uses sha256 hashing 256 bit, 32 byte cannot be decrypted ‣ Uses a “consensus protocol” to determine next transaction block to be added to the chain ‣ Consensus is established by the nodes in the network ‣ Prevents double spending ‣ No single point of failure
  • 19.
    Single Point ofFailure Distributed Architecture
  • 20.
  • 21.
  • 22.
    CONSENSUS PROTOCOL ‣ Proofof Work - is an economic measure to deter denial of service attacks and other service abuses such as spam on a network by requiring some work from the service requester, usually meaning processing time by a computer. ‣ Proof of Stake - Establishes consensus via network of nodes each having an economic stake in the integrity of the transaction ‣ Byzantine fault tolerance - Any fault presenting different symptoms to different observers ‣ See PoW vs PoS White Paper 9/2015 ‣ The Objective Remains Decentralized Consensus
  • 23.
  • 24.
    TEXT HASHES & CRYPTOGRAPHY ‣SHA256 ‣ A cryptographic hash is like a signature for a text or a data file. algorithm generates an almost-unique, fixed size 256-bit (32-byte) hash. Hash is a one way function – it cannot be decrypted back. ‣ Public Key ‣ A cryptographic key that can be obtained and used by anyone to encrypt messages intended for a particular recipient, such that the encrypted messages can be deciphered only by using a second key that is known only to the recipient (the Private Key ).
  • 25.
    PUBLIC KEY CRYPTOGRAPHY Theidea of Public Key Cryptography is to send messages in such a way that only the person who receives them can understand them even if the method of encryption is discovered by 'an enemy' who intercepts the messages. The person who sends the message encodes it; the person who receives the message decodes it (puts it back into a readable form)
  • 26.
  • 27.
  • 28.
    MERKLE TREE  A Merkletree is a hash based data structure that is a generalization of the hash list. It is a tree structure in which each leaf node is a hash of a block of data, and each non-leaf node is a hash of its children. Typically, Merkle trees have a branching factor of 2, meaning that each node has up to 2 children. Similar to a Binary Tree
  • 29.
  • 30.
    FROM BITCOIN WIKI MERKLETREE Every transaction has a hash associated with it. In a block, all of the transaction hashes in the block are themselves hashed (sometimes several times -- the exact process is complex), and the result is the Merkle root. In other words, the Merkle root is the hash of all the hashes of all the transactions in the block. The Merkle root is included in the block header. With this scheme, it is possible to securely verify that a transaction has been accepted by the network (and get the number of confirmations) by downloading just the tiny block headers and Merkle tree -- downloading the entire block chain is unnecessary.
  • 31.
    A GENESIS BLOCKIS THE FIRST BLOCK OF A BLOCK CHAIN. GENESIS HASH GetHash() = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b txNew.vin[0].scriptSig = 486604799 4 0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6 C65636E61684320393030322F6E614A2F33302073656D695420656854 txNew.vout[0].nValue = 5000000000 txNew.vout[0].scriptPubKey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A 60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG block.nVersion = 1 block.nTime = 1231006505 block.nBits = 0x1d00ffff block.nNonce = 2083236893 CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1) CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0) CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206 f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73) CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B) vMerkleTree: 4a5e1e
  • 33.
  • 34.
  • 35.
    ETHEREUM ▸ Smart Contract- Capable of running code logic from a decentralized application ▸ Self Executing - No Middlemen - Trustless Every Node on the blockchain processes/runs every transaction and stores the entire state, just like bitcoin You can think of the programs as programs sitting on one computer, except the computer is massively distributed global network, with a highly secure network backed by 10s of thousands of computers all over the world
  • 36.
  • 37.
  • 38.
    ETHEREUM MULTIPLE INITIATIVES ▸ SmartContracts - Solidity ▸ EVM - Ethereum Virtual Machine ▸ Mist Browser - Casper Browser (PoS) ▸ Includes Solidity Compiler - Dapp Browser regulates conditions for transfer of Ether ▸ Swarm - Serverless hosting incentivized peer-to-peer storage and content distribution ▸ ENS ▸ Geth ▸ Enterprise Ethereum Alliance…
  • 39.
  • 40.
    FEATURES OF MISTBROWSER / ETHEREUM WALLET ▸ Browse DAPPS ▸ Mine Ether on Main or TestNet ▸ Add Ether Addresses ▸ Run Solidity Contracts between those Addresses ▸ Build a DAO - Decentralized Autonomous Organization ▸ Raise Funds in a Crowdsale ▸ Create your own cryptocurrency
  • 41.
  • 42.
    Are you speakingof money as a Storage of Value, a Medium of Exchange OR Unit of Account? Vitalek Buterin FROM ANTON ANTONOPOULOS
  • 43.
    WAYS TO THINKABOUT CURRENCY ▸ Storage of Value - Is the function of an asset that can be saved, retrieved and exchanged at a later time, and be predictably useful when retrieved. ▸ Medium of Exchange - An intermediary instrument used to facilitate the sale, purchase or trade of goods between parties. It must represent a standard of value accepted by all parties. ▸ Unit of Account - Is a nominal monetary unit of measure or currency used to represent the real value (or cost) of any economic item