de git à la blockchain

71
De git à la blockchain Snowcamp 2017 - @sabativi

Upload: sabativi

Post on 15-Feb-2017

185 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: De git à la blockchain

De git àla blockchain

Snowcamp 2017 - @sabativi

Page 2: De git à la blockchain

Victor SabatierFreelance Web and mobile

developper.

Build stuff using Meteor, React and React native.

Love learning and sharing

[email protected]

Snowcamp 2017 - @sabativi

Page 3: De git à la blockchain

Plan :1. Deeper look into git

2. How Blockchain works ?3. Links between the two4. Bonus and conclusion

Snowcamp 2017 - @sabativi

Page 4: De git à la blockchain

A deeper look into git.Snowcamp 2017 - @sabativi

Page 5: De git à la blockchain

Some advantages :· Local operations.

· Integrity.· Everyone has a copy of the

entire repo.· Few operations are

destructive.

Snowcamp 2017 - @sabativi

Page 6: De git à la blockchain

Git is purely functional data structure.

Snowcamp 2017 - @sabativi

Page 7: De git à la blockchain

A functional data structure is an immutable data structure.

Snowcamp 2017 - @sabativi

Page 8: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 9: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 10: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 11: De git à la blockchain

CommitingSnowcamp 2017 - @sabativi

Page 12: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 13: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 14: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 15: De git à la blockchain

AmendingSnowcamp 2017 - @sabativi

Page 16: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 17: De git à la blockchain

BranchingSnowcamp 2017 - @sabativi

Page 18: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 19: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 20: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 21: De git à la blockchain

RebasingSnowcamp 2017 - @sabativi

Page 22: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 23: De git à la blockchain

BlockchainSnowcamp 2017 - @sabativi

Page 24: De git à la blockchain

BlockchainBitcoin

Snowcamp 2017 - @sabativi

Page 25: De git à la blockchain

How is Bitcoin working ?

Snowcamp 2017 - @sabativi

Page 26: De git à la blockchain

Why Bitcoin ?Snowcamp 2017 - @sabativi

Page 27: De git à la blockchain

On internet, all trades are done with financial

institutionsSnowcamp 2017 - @sabativi

Page 28: De git à la blockchain

We have to trust them.Snowcamp 2017 - @sabativi

Page 29: De git à la blockchain

Exchange money without the need of a central

trusted partySnowcamp 2017 - @sabativi

Page 30: De git à la blockchain

How it works ?

Snowcamp 2017 - @sabativi

Page 31: De git à la blockchain

Decentralized ledger.Snowcamp 2017 - @sabativi

Page 32: De git à la blockchain

How to reach a concensus on a peer to peer Network ?

Snowcamp 2017 - @sabativi

Page 33: De git à la blockchain

Problems to solve· Identification ?

· Enough money ?· How to avoid double

spending ?

Snowcamp 2017 - @sabativi

Page 34: De git à la blockchain

Every transaction is signed with a private key.

Snowcamp 2017 - @sabativi

Page 35: De git à la blockchain

Transactions have inputs that reference

previous outputs transactions.

Snowcamp 2017 - @sabativi

Page 36: De git à la blockchain

Transaction chainSnowcamp 2017 - @sabativi

Page 37: De git à la blockchain

How to avoid double spending ?

Snowcamp 2017 - @sabativi

Page 38: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 39: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 40: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 41: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 42: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 43: De git à la blockchain

Order problem

Snowcamp 2017 - @sabativi

Page 44: De git à la blockchain

How to agree on an order ?

Snowcamp 2017 - @sabativi

Page 45: De git à la blockchain

We cannot depend on time as it is easily

falsifiable.Snowcamp 2017 - @sabativi

Page 46: De git à la blockchain

Blockchain.Snowcamp 2017 - @sabativi

Page 47: De git à la blockchain

BlockSnowcamp 2017 - @sabativi

Page 48: De git à la blockchain

Answer to a Mathematical problem

Hard to solve, easy to verify.

Snowcamp 2017 - @sabativi

Page 49: De git à la blockchain

SHA256(block, nonce) < yProof of work 2

2 Due to SHA256 construction, random guess or brute force is your best choice to find a solution.

Snowcamp 2017 - @sabativi

Page 50: De git à la blockchain

MinersSnowcamp 2017 - @sabativi

Page 51: De git à la blockchain

First person to find a solution will broadcast the block to the

networkSnowcamp 2017 - @sabativi

Page 52: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 53: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 54: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 55: De git à la blockchain

Several possible branches

Snowcamp 2017 - @sabativi

Page 56: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 57: De git à la blockchain

You always switched to the longuest branch.

Snowcamp 2017 - @sabativi

Page 58: De git à la blockchain

Snowcamp 2017 - @sabativi

Page 59: De git à la blockchain

We have replace Trust in Finance by trust in Math.

Snowcamp 2017 - @sabativi

Page 60: De git à la blockchain

Half of nodes must be honnest.

Snowcamp 2017 - @sabativi

Page 61: De git à la blockchain

Links between blockchain and git

Snowcamp 2017 - @sabativi

Page 62: De git à la blockchain

Is git a blockchain ?Snowcamp 2017 - @sabativi

Page 63: De git à la blockchain

· Changes are organized in a chain protected by

cryptographic hashes.· Distributed storage and

integrity checks.· Identification is secure.

· Blocks and commits used Merkle trees internally.

Snowcamp 2017 - @sabativi

Page 64: De git à la blockchain

· Everyone strives to work on a single branch.

· No merge, no fork in blockchain.

· No proof of work in git.· Limited content on a block.

Snowcamp 2017 - @sabativi

Page 65: De git à la blockchain

In Git content mattersregardless of the branch,

in Blockchain consensus mattersregardless of the content.

Snowcamp 2017 - @sabativi

Page 66: De git à la blockchain

Is Bitcoin a git repository ?

Snowcamp 2017 - @sabativi

Page 67: De git à la blockchain

From Bitcoin to GitcoinOr how to turn a git repository into a blockchain

Snowcamp 2017 - @sabativi

Page 68: De git à la blockchain

DemoSnowcamp 2017 - @sabativi

Page 69: De git à la blockchain

ConclusionsSnowcamp 2017 - @sabativi

Page 70: De git à la blockchain

Thanks folksQ&A

Snowcamp 2017 - @sabativi