Blockchain technology
March 2018
Slides on slideshare.net (bdcvanschaik)
Blockchain
●
Technology
– How does it work?
– Strong points and weaknesses
●
Applications
– Current applications
– Ideas for applications
– Avoiding the pointless blockchain project
Technology
What is a blockchain?
●
Technology behind Bitcoin
●
Distributed ledger (peer-to-peer)
●
No central authority (trustless system)
●
Transactions are transparent and traceable
Transactions
Public key
Private key
Balance_R = 10
Public key
Private key
Balance_B = 2
Public key
Private key
Balance_G = 0
https://en.wikipedia.org/wiki/Public-key_cryptography
Transactions
Public key
Private key
Balance_R = 10
Transaction:
Send 2 to blue public key
Sign with red private key
Balance_R = Balance_R - 2
Balance_B = Balance_B + 2
Public key
Private key
Balance_B = 2
Public key
Private key
Balance_G = 0
https://en.wikipedia.org/wiki/Public-key_cryptography
Transactions
Public key
Private key
Balance_R = 8
Transaction:
Send 2 to blue public key
Sign with red private key
Balance_R = Balance_R - 2
Balance_B = Balance_B + 2
Public key
Private key
Balance_B = 4
Public key
Private key
Balance_G = 0
Transactions
Public key
Private key
Balance_R = 8
Transaction:
Send 2 to blue public key
Sign with red private key
Balance_R = Balance_R - 2
Balance_B = Balance_B + 2
Public key
Private key
Balance_B = 4
Public key
Private key
Balance_G = 0
Transaction:
Send 3 to green public key
Sign with blue private key
Balance_B = Balance_B – 3
Balance_G = Balance_G + 3
Transactions
Public key
Private key
Balance_R = 8
Transaction:
Send 2 to blue public key
Sign with red private key
Balance_R = Balance_R - 2
Balance_B = Balance_B + 2
Public key
Private key
Balance_B = 1
Public key
Private key
Balance_G = 3
Transaction:
Send 3 to green public key
Sign with blue private key
Balance_B = Balance_B – 3
Balance_G = Balance_G + 3
Transactions
Public key
Private key
Balance_R = 8
Transaction:
Send 2 to blue public key
Sign with red private key
Balance_R = Balance_R - 2
Balance_B = Balance_B + 2
21 November 2017
Public key
Private key
Balance_B = 1
Public key
Private key
Balance_G = 3
Transaction:
Send 3 to green public key
Sign with blue private key
Balance_B = Balance_B – 3
Balance_G = Balance_G + 3
24 November 2017
Check if balance is enough
Verify if sender is allowed to send
Transactions are timestamped
Everyone gets a copy of all transactions
If keys are not linked to persons it is
anonymous
Transaction
Satoshi Nakamoto (2008) Bitcoin: a peer-to-peer electronic cash system
Owner digitally signs hash of previous transaction and public key of next owner
Timestamp server
Block
Previous hash
Hash
21 Nov 2017
Tx1
Tx2
Tx3
.
.
Txn
Block
Previous hash
Hash
22 Nov 2017
Tx1
Tx2
Tx3
.
.
Txn
Block
$Previous_hash
Hash
$Date
$Transactions
Publicly announce hash of block to be timestamped
Publicly announce new transactions
Proof-of-work (mining)
Scan for a value (nonce), when hashed (e.g. SHA-256) it begins with a number
of zero bits
A.k.a. Keep computers busy for a while. More CPUs = more chance to win the
competition
Computationally hard to repeat, but easy to verify
Add new block to the chain (link to previous hash) and announce
Others verify if block is correct and add block too (majority vote)
Incentive: winner gets a reward (e.g. a bitcoin + transaction fees)
https://en.wikipedia.org/wiki/SHA-2
Network
1. Broadcast new transactions to all nodes
2. Each node collects transactions in a block
3. Each node works on proof-of-work for this block
4. Proof-of-work found → broadcast block to all nodes
5. Nodes accept block when transactions are valid and not already
spent
6. Acceptance by working on creating a new block based to the
previous block
7. Longest chain is the correct one
8. 51% rule: majority decides what is correct
Other points in bitcoin paper
●
Reclaim disk space
– Data compression with Merkle tree
●
Simplified payment verification
– You don't need the entire blockchain for verification
●
Splitting values
– Return the change and add transaction fees
●
Privacy
– No link between person and keys
●
Probability of building in malicious blocks
– Unlikely that a malicious node keeps up with longest chain
Satoshi Nakamoto (2008) Bitcoin: a peer-to-peer electronic cash system
Screenshot
Screenshot
Screenshot
Data can be added
to a transaction
Blockchain variants
●
Several variants similar to bitcoin
●
Some focus on anonymity, others on efficiency
●
Other data structures: block-graph i.s.o. block-chain
●
Generalization of transactions
Ethereum: programming platform
on blockchain a.k.a. smart contracts
Transaction:
Send 2 to blue public key
Sign with red private key
Balance_R = Balance_R - 2
Balance_B = Balance_B + 2
A transaction can be about anything
Function can be more complex than “add” and “subtract”
Multi-signature possibilities
Examples:
● Two (or more) people need to sign before transfer
takes place
● Transfer of money, a house, energy, karma points,
votes, supplies, etc
● Temporary transfer of a room, a car, a bike, etc
https://github.com/ethereum/wiki/wiki/White-Paper (2015)
Things that make people nervous
Forks●
Softforks are forward
compatible
– Old nodes accept new
blocks created with later
version of software
– Miners need to upgrade
●
Hardforks are not forward-
compatible
– Everyone needs to
upgrade (miners, users,
merchants)
Examples of hardforks
Ethereum: bug in smart contract
Funds were stolen and community
decided to fix that and return funds
Some did not agree: new coin
Ethereum classic went on separately
with original rules
Bitcoin: upgrades suggested to
improve transaction speed
Some wanted to increase blocksize
faster: new coin Bitcoin cash
https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork
Software A
Software B
Hacks, scams and bugs
Private keys were
stolen and/or
server was hacked
PCs were hackedRansom via bitcoin
Software bug insmart contract
Pyramid scheme
List of weaknesses and how likely they are:
https://en.bitcoin.it/wiki/Weaknesses
Strong points and weaknesses
●
Traceability
●
Transparency
●
Data redundancy
●
Strong crypto
●
Can be anonymous (not
always the case)
●
Data storage not efficient
●
Mining expensive (lots of
energy wasted)
●
No single authority
(refunds)
●
Miners have more power
than users
●
Don't loose or give away
your private keys
Applications
Blockchain research
Yli-Huumo et al. (2016) Where is current research on blockchain technology? - A systematic review. PloS one
41 papers included in study
80.5% about bitcoin challenges
and limitations
19.5% about other topics
Education
●
Digital record of achievements
– Certificates issued by university to students
●
Proof of intellectual work
– Public records of ideas
– Can not be modified, new revision can be submitted
●
Intellectual currency
– Micro-payment for contribution
– Reputation points (e.g. nr of citations, reviews)
Sharples and Domingue (2016) The blockchain and kudos: a distributed system for educational record, reputation and reward.
European conference on technology enhanced learning
Image:Ibrandify-Freepik.com
Supply chain @ port of Rotterdam
https://www.ad.nl/rotterdam/rotterdamse-haven-experimenteert-met-blockchain-technologie~a2bda56a/(2017)
Image: IBM
Solar energy @ Amsterdam
https://spectral.energy/about/news/jouliette-at-deceuvel/ (2017)
Ride sharing
●
Arcade city, La Zooz, Chasyr
https://arcade.city/https://ritjeweg.nl/
Insurance, crowdfunding
Image: https://www.gtreview.com/news/fintech/blockchain-ready-to-disrupt-insurance/
Decentralized Autonomous
Organization (DAO)
●
Organization, such as an association
●
Voting (Follow my vote)
https://en.wikipedia.org/wiki/The_DAO_(organization)
Current applications
BLOCKCHAIN
ALL THE THINGS!
Avoiding the pointless blockchain project
https://www.multichain.com/blog/2015/11/avoiding-pointless-blockchain-project/
Checklist:
✔ Blockchain is for shared databases
✔ There are multiple writers
✔ Absence of trust: writers need to be verified
✔ Desire to cut out trusted third party (reduce costs, remove single point of failure)
✔ Transactions depend on each other
Also important:
✔ Set the rules: put constraints on transactions
✔ Pick your validators: public, private and consortium blockchains
✔ Back your assets: what does the digital unit represent in the real world?
Alternatives that might be better suited
• Regular file storage
• A centralized database
• Master-slave databases
• Multiple databases to which users can subscribe
Ideas for Oosterwold?
Local coin
Community
insurance
Energy sharing
Decentralized
Autonomous
Organization
Other?
Track origin
of stuff
Car sharing
Slides on slideshare.net (bdcvanschaik)
Challenges and proposed solutions
●
Blockchain provides pseudo-anonymity
– Encrypt the information
– Store sensitive data off-chain and a link on-chain
●
Speed and scalability
– Blockchain as index of health data, not data itself
– Alternative blockchain solutions
●
Threat of a 51% attack
– Implement as private or consortium blockchain
Kuo et al. (2017) Blockchain distributed ledger technologies for biomedical and health care applications. JAMIA

Blockchain introduction

  • 1.
    Blockchain technology March 2018 Slideson slideshare.net (bdcvanschaik)
  • 2.
    Blockchain ● Technology – How doesit work? – Strong points and weaknesses ● Applications – Current applications – Ideas for applications – Avoiding the pointless blockchain project
  • 3.
  • 4.
    What is ablockchain? ● Technology behind Bitcoin ● Distributed ledger (peer-to-peer) ● No central authority (trustless system) ● Transactions are transparent and traceable
  • 5.
    Transactions Public key Private key Balance_R= 10 Public key Private key Balance_B = 2 Public key Private key Balance_G = 0 https://en.wikipedia.org/wiki/Public-key_cryptography
  • 6.
    Transactions Public key Private key Balance_R= 10 Transaction: Send 2 to blue public key Sign with red private key Balance_R = Balance_R - 2 Balance_B = Balance_B + 2 Public key Private key Balance_B = 2 Public key Private key Balance_G = 0 https://en.wikipedia.org/wiki/Public-key_cryptography
  • 7.
    Transactions Public key Private key Balance_R= 8 Transaction: Send 2 to blue public key Sign with red private key Balance_R = Balance_R - 2 Balance_B = Balance_B + 2 Public key Private key Balance_B = 4 Public key Private key Balance_G = 0
  • 8.
    Transactions Public key Private key Balance_R= 8 Transaction: Send 2 to blue public key Sign with red private key Balance_R = Balance_R - 2 Balance_B = Balance_B + 2 Public key Private key Balance_B = 4 Public key Private key Balance_G = 0 Transaction: Send 3 to green public key Sign with blue private key Balance_B = Balance_B – 3 Balance_G = Balance_G + 3
  • 9.
    Transactions Public key Private key Balance_R= 8 Transaction: Send 2 to blue public key Sign with red private key Balance_R = Balance_R - 2 Balance_B = Balance_B + 2 Public key Private key Balance_B = 1 Public key Private key Balance_G = 3 Transaction: Send 3 to green public key Sign with blue private key Balance_B = Balance_B – 3 Balance_G = Balance_G + 3
  • 10.
    Transactions Public key Private key Balance_R= 8 Transaction: Send 2 to blue public key Sign with red private key Balance_R = Balance_R - 2 Balance_B = Balance_B + 2 21 November 2017 Public key Private key Balance_B = 1 Public key Private key Balance_G = 3 Transaction: Send 3 to green public key Sign with blue private key Balance_B = Balance_B – 3 Balance_G = Balance_G + 3 24 November 2017 Check if balance is enough Verify if sender is allowed to send Transactions are timestamped Everyone gets a copy of all transactions If keys are not linked to persons it is anonymous
  • 11.
    Transaction Satoshi Nakamoto (2008)Bitcoin: a peer-to-peer electronic cash system Owner digitally signs hash of previous transaction and public key of next owner
  • 12.
    Timestamp server Block Previous hash Hash 21Nov 2017 Tx1 Tx2 Tx3 . . Txn Block Previous hash Hash 22 Nov 2017 Tx1 Tx2 Tx3 . . Txn Block $Previous_hash Hash $Date $Transactions Publicly announce hash of block to be timestamped Publicly announce new transactions
  • 13.
    Proof-of-work (mining) Scan fora value (nonce), when hashed (e.g. SHA-256) it begins with a number of zero bits A.k.a. Keep computers busy for a while. More CPUs = more chance to win the competition Computationally hard to repeat, but easy to verify Add new block to the chain (link to previous hash) and announce Others verify if block is correct and add block too (majority vote) Incentive: winner gets a reward (e.g. a bitcoin + transaction fees) https://en.wikipedia.org/wiki/SHA-2
  • 14.
    Network 1. Broadcast newtransactions to all nodes 2. Each node collects transactions in a block 3. Each node works on proof-of-work for this block 4. Proof-of-work found → broadcast block to all nodes 5. Nodes accept block when transactions are valid and not already spent 6. Acceptance by working on creating a new block based to the previous block 7. Longest chain is the correct one 8. 51% rule: majority decides what is correct
  • 15.
    Other points inbitcoin paper ● Reclaim disk space – Data compression with Merkle tree ● Simplified payment verification – You don't need the entire blockchain for verification ● Splitting values – Return the change and add transaction fees ● Privacy – No link between person and keys ● Probability of building in malicious blocks – Unlikely that a malicious node keeps up with longest chain Satoshi Nakamoto (2008) Bitcoin: a peer-to-peer electronic cash system
  • 16.
  • 17.
  • 18.
    Screenshot Data can beadded to a transaction
  • 19.
    Blockchain variants ● Several variantssimilar to bitcoin ● Some focus on anonymity, others on efficiency ● Other data structures: block-graph i.s.o. block-chain ● Generalization of transactions
  • 20.
    Ethereum: programming platform onblockchain a.k.a. smart contracts Transaction: Send 2 to blue public key Sign with red private key Balance_R = Balance_R - 2 Balance_B = Balance_B + 2 A transaction can be about anything Function can be more complex than “add” and “subtract” Multi-signature possibilities Examples: ● Two (or more) people need to sign before transfer takes place ● Transfer of money, a house, energy, karma points, votes, supplies, etc ● Temporary transfer of a room, a car, a bike, etc https://github.com/ethereum/wiki/wiki/White-Paper (2015)
  • 21.
    Things that makepeople nervous
  • 22.
    Forks● Softforks are forward compatible –Old nodes accept new blocks created with later version of software – Miners need to upgrade ● Hardforks are not forward- compatible – Everyone needs to upgrade (miners, users, merchants) Examples of hardforks Ethereum: bug in smart contract Funds were stolen and community decided to fix that and return funds Some did not agree: new coin Ethereum classic went on separately with original rules Bitcoin: upgrades suggested to improve transaction speed Some wanted to increase blocksize faster: new coin Bitcoin cash https://bitcoin.stackexchange.com/questions/30817/what-is-a-soft-fork Software A Software B
  • 23.
    Hacks, scams andbugs Private keys were stolen and/or server was hacked PCs were hackedRansom via bitcoin Software bug insmart contract Pyramid scheme List of weaknesses and how likely they are: https://en.bitcoin.it/wiki/Weaknesses
  • 24.
    Strong points andweaknesses ● Traceability ● Transparency ● Data redundancy ● Strong crypto ● Can be anonymous (not always the case) ● Data storage not efficient ● Mining expensive (lots of energy wasted) ● No single authority (refunds) ● Miners have more power than users ● Don't loose or give away your private keys
  • 25.
  • 26.
    Blockchain research Yli-Huumo etal. (2016) Where is current research on blockchain technology? - A systematic review. PloS one 41 papers included in study 80.5% about bitcoin challenges and limitations 19.5% about other topics
  • 27.
    Education ● Digital record ofachievements – Certificates issued by university to students ● Proof of intellectual work – Public records of ideas – Can not be modified, new revision can be submitted ● Intellectual currency – Micro-payment for contribution – Reputation points (e.g. nr of citations, reviews) Sharples and Domingue (2016) The blockchain and kudos: a distributed system for educational record, reputation and reward. European conference on technology enhanced learning Image:Ibrandify-Freepik.com
  • 28.
    Supply chain @port of Rotterdam https://www.ad.nl/rotterdam/rotterdamse-haven-experimenteert-met-blockchain-technologie~a2bda56a/(2017) Image: IBM
  • 29.
    Solar energy @Amsterdam https://spectral.energy/about/news/jouliette-at-deceuvel/ (2017)
  • 30.
    Ride sharing ● Arcade city,La Zooz, Chasyr https://arcade.city/https://ritjeweg.nl/
  • 31.
  • 32.
    Decentralized Autonomous Organization (DAO) ● Organization,such as an association ● Voting (Follow my vote) https://en.wikipedia.org/wiki/The_DAO_(organization)
  • 33.
  • 34.
  • 35.
    Avoiding the pointlessblockchain project https://www.multichain.com/blog/2015/11/avoiding-pointless-blockchain-project/ Checklist: ✔ Blockchain is for shared databases ✔ There are multiple writers ✔ Absence of trust: writers need to be verified ✔ Desire to cut out trusted third party (reduce costs, remove single point of failure) ✔ Transactions depend on each other Also important: ✔ Set the rules: put constraints on transactions ✔ Pick your validators: public, private and consortium blockchains ✔ Back your assets: what does the digital unit represent in the real world? Alternatives that might be better suited • Regular file storage • A centralized database • Master-slave databases • Multiple databases to which users can subscribe
  • 36.
    Ideas for Oosterwold? Localcoin Community insurance Energy sharing Decentralized Autonomous Organization Other? Track origin of stuff Car sharing
  • 37.
  • 38.
    Challenges and proposedsolutions ● Blockchain provides pseudo-anonymity – Encrypt the information – Store sensitive data off-chain and a link on-chain ● Speed and scalability – Blockchain as index of health data, not data itself – Alternative blockchain solutions ● Threat of a 51% attack – Implement as private or consortium blockchain Kuo et al. (2017) Blockchain distributed ledger technologies for biomedical and health care applications. JAMIA