Top Banner
All aboard the blockchain! whoami: Przemek Nowakowski @ TSH email: [email protected] gh: https://github.com/lapisangularis
36

All aboard the blockchain!

Mar 17, 2018

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: All aboard the blockchain!

All aboard the blockchain!

whoami: Przemek Nowakowski @ TSHemail: [email protected]: https://github.com/lapisangularis

Page 2: All aboard the blockchain!
Page 3: All aboard the blockchain!
Page 4: All aboard the blockchain!
Page 5: All aboard the blockchain!

why such hype?

Page 6: All aboard the blockchain!

the history

“The first blockchain was conceptualised by a person (or group of people) known as

Satoshi Nakamoto in 2008. It was implemented the following year by Nakamoto as a core

component of the cryptocurrency bitcoin, where it serves as the public ledger for all

transactions on the network. Through the use of a blockchain, bitcoin became the first

digital currency to solve the double spending problem without requiring a trusted

authority and has been the inspiration for many additional applications.”

Page 7: All aboard the blockchain!

blockchain definition

“A blockchain is a ledger of facts, replicated across several computers assembled in a

peer-to-peer network. Facts can be anything from monetary transactions to content

signature. Members of the network are anonymous individuals called nodes. All

communication inside the network takes advantage of cryptography to securely identify

the sender and the receiver. When a node wants to add a fact to the ledger, a consensus

forms in the network to determine where this fact should appear in the ledger; this

consensus is called a block.”

Page 8: All aboard the blockchain!

in nutshell

- distributed database- contains history of facts

- splitted into blocks- secured with cryptography- using consensus algorithms to provide integrity across nodes

Page 9: All aboard the blockchain!

the beginning - p2p network

Page 10: All aboard the blockchain!

double spend problem

Page 11: All aboard the blockchain!

consensus algorithms

- proof of work (PoW)

- proof of stake (PoS)

- delegated proof of stake (DPoS)

- proof of importance (PoI)

- proof of: weigth, bandwidth, space, authority, type something and i’m sure it exists…

- byzantine fault tolerance (BFT)

- raft

- paxos

- directed acyclic graphs (DAGs) 

Page 12: All aboard the blockchain!

blocks

- previous block hash

- facts/transactions

- merkle root hash (in case of transactions - cryptocurrencies)

- difficulty adjustment bits

- nonce

Page 13: All aboard the blockchain!

mining

Page 14: All aboard the blockchain!

wait, what?

Page 15: All aboard the blockchain!

proof of work - first encounter

- nodes can receive facts in different abbreviations- nodes can receive invalid, fake, or duplicated facts- nodes can spam the network with transactions- without consensus system is open for DoS and Sybil attacks

Page 16: All aboard the blockchain!

proof of work - diving deeper

- SHA256 hash contains facts/transactions, previous block hash and nonce

- nonce as only mutable data in block in order to calculate hash without loses

- winning combination should output hash with proper n of zeros in the beginning

Page 17: All aboard the blockchain!

cryptocurrency jump off

- adjustable block mining difficulty- facts as transactions- predefined currency amount in system- rewards for miners- fees for transaction senders

Page 18: All aboard the blockchain!

contracts!

- executing programs on nodes- conditional transactions- decentralized apps (DApps)- IoT

Page 19: All aboard the blockchain!

use cases?

Page 20: All aboard the blockchain!
Page 21: All aboard the blockchain!
Page 22: All aboard the blockchain!
Page 23: All aboard the blockchain!

use cases

- digital banking- digital identity- decentralized apps- internet of things- voting systems- decentralized object storage

Page 24: All aboard the blockchain!

steemit

Steemit is a social media platform where everyone gets paid for creating and curating content. It leverages a robust digital points system (Steem) for digital rewards.

Page 25: All aboard the blockchain!

production usage?

Page 26: All aboard the blockchain!

hyperledger & ethereum

- hyperledger fabric

- hyperledger iroha

- hyperledger sawtooth

- ethereum platform

- IBM blockchain

Page 27: All aboard the blockchain!

live demo!

Page 28: All aboard the blockchain!

what is it?

- blockchain structure based on naivechain

- http api and p2p websocket connection between nodes

- no cryptocurrency

- asset storage and selection with help of consensus

- written in node.js

- very dirty and ugly code… but working!

Page 29: All aboard the blockchain!

blockchain class

Page 30: All aboard the blockchain!

block class

Page 31: All aboard the blockchain!

assets & rewards

Page 32: All aboard the blockchain!

message types & constants

Page 33: All aboard the blockchain!

mining block

Page 34: All aboard the blockchain!

block validation

Page 35: All aboard the blockchain!

let’s start

Page 36: All aboard the blockchain!

this is the end

thanks for watching and listening!

… questions?