Slide 1

Slide 1 text

WTF is Blockchain??? Retro Friday Talk Guy Kloss [email protected] Enterprise Architect Qrious Limited 7 October 2016

Slide 2

Slide 2 text

Nuts’n’Bolts Explanation Beyond Money Issues What’s Money? Token, representing value By social contract Without acceptance, people won’t care. Law doesn’t matter! Guy Kloss | WTF is Blockchain??? 2/33

Slide 3

Slide 3 text

Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 3/33

Slide 4

Slide 4 text

Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 4/33

Slide 5

Slide 5 text

Nuts’n’Bolts Explanation Beyond Money Issues Building a Digital Currency: Infocoin The protocol: “Infocoin” The money: “infocoin” Guy Kloss | WTF is Blockchain??? 5/33

Slide 6

Slide 6 text

Nuts’n’Bolts Explanation Beyond Money Issues First Step: A Signed Letter of Intent The problem: Double spending (using the same money multiple times) Procedure Statement of transaction Sign that statement (with a crypto signature) → No-one else could have created that statement Announcement of that statement “to the entire world” Guy Kloss | WTF is Blockchain??? 6/33

Slide 7

Slide 7 text

Nuts’n’Bolts Explanation Beyond Money Issues Using Serial Numbers: Unique Coins Problem What if a statement is sent multiple times? More money, or a “stutter”? Solution Introduce identifiers (serial numbers) for infocoins Needs a trusted source of serial numbers (e. g. a bank) “Bank” keeps track of all infocoins & verifies all transactions are legit Procedure Bob checks back with bank (A) The serial number belongs to Alice (B) The infocoin hasn’t been spent, yet Guy Kloss | WTF is Blockchain??? 7/33

Slide 8

Slide 8 text

Nuts’n’Bolts Explanation Beyond Money Issues Making a “Collective” Bank We don’t want anyone to be in control of the currency → Let’s eliminate the bank Procedure Everyone keeps a complete record of transactions/ownerships A shared public ledger → The Blockchain (not quite, yet, but we’ll call it that way already) Bob checks the transaction from Alice against (his copy of) the blockchain If it checks out: Bob sends the transaction to the entire network Everyone updates their copy of the blockchain Guy Kloss | WTF is Blockchain??? 8/33

Slide 9

Slide 9 text

Nuts’n’Bolts Explanation Beyond Money Issues Making a “Collective” Bank The Problem: What if Alice sends the same infocoin to Bob and Charlie within a brief period time? → Double spending problem Broadcast a transaction to the entire network Only accept on collective OK (when “enough” people have confirmed it’s OK) What’s “enough”? We don’t know who’s all on the Infocoin network! Guy Kloss | WTF is Blockchain??? 9/33

Slide 10

Slide 10 text

Nuts’n’Bolts Explanation Beyond Money Issues The Cheating Problem Scenario: Alice wants to take over the Infocoin network She creates a large number of “bots” (identities) Alice’s sock puppet identities swamp the network, announcing the transaction is OK One or both (Bob and Charlie) are fooled into accepting the transaction Guy Kloss | WTF is Blockchain??? 10/33

Slide 11

Slide 11 text

Nuts’n’Bolts Explanation Beyond Money Issues Proof-of-Work Idea: Proof-of-work Make it hard to validate transactions (computationally costly) Reward validated transactions Why does that help? Costly effort: Not feasible to influence with many identities Reward is to incentivise others to still do it → Impractical to cheat Guy Kloss | WTF is Blockchain??? 11/33

Slide 12

Slide 12 text

Nuts’n’Bolts Explanation Beyond Money Issues Proof-of-Work Details Impractical to apply proof-of-work to every transaction Queue unapproved transactions Validate transactions against own copy of blockchain Solve a hard computational puzzle – the proof-of-work The puzzle is related to the queued transactions The network accepts a validation only with the solution Guy Kloss | WTF is Blockchain??? 12/33

Slide 13

Slide 13 text

Nuts’n’Bolts Explanation Beyond Money Issues Block by Block Guy Kloss | WTF is Blockchain??? 13/33

Slide 14

Slide 14 text

Nuts’n’Bolts Explanation Beyond Money Issues The Puzzle Bitcoin uses a hash function – SHA-256 (also other functions will do) Queue has a label l A random number x (a nonce) is appended This is hashed h(l|x) If the hash starts with n zeros, the puzzle is solved If not, choose a new nonce x, rinse and repeat Guy Kloss | WTF is Blockchain??? 14/33

Slide 15

Slide 15 text

Nuts’n’Bolts Explanation Beyond Money Issues The Puzzle h("Hello, world!0") 1312af178c253f84028d480a6adc1e25e81caa44c749ec81976192e2ec934c64 h("Hello, world!1") e9afc424b79e4f6ab42d99c81156d3a17228d6e1eef4139be78e948a9332a7d8 x = 2, 3, . . .; At x = 4250 we get: h("Hello, world!4250") 0000c3af42fc31103f1fdc0151fa747ff87349a4714df7cc52ea464e12dcd4e9 Number of leading zeros is adjusted regularly Caters for increase in compute performance Normalises new block frequency (Bitcoin: average 10 min per block) Guy Kloss | WTF is Blockchain??? 15/33

Slide 16

Slide 16 text

Nuts’n’Bolts Explanation Beyond Money Issues Rewarding the Sweat & Tears Competition with “the world” Successful block wins a reward (in bitcoin, ether, infocoin, . . . ) → This is mining Acts as an incentive for the hard work Keeps the network honest Adjustments to rewards system Halving events Superceding with transaction fees for miners → Capping of total number of coins ever Guy Kloss | WTF is Blockchain??? 16/33

Slide 17

Slide 17 text

Nuts’n’Bolts Explanation Beyond Money Issues Rewarding the Sweat & Tears Guy Kloss | WTF is Blockchain??? 17/33

Slide 18

Slide 18 text

Nuts’n’Bolts Explanation Beyond Money Issues Another Block in the Chain We’d like to retain order of transactions Otherwise: Uncertainty on who owns which infocoin at a time A linear chain: Next block refers to the previous → A new block is added to the chain Guy Kloss | WTF is Blockchain??? 18/33

Slide 19

Slide 19 text

Nuts’n’Bolts Explanation Beyond Money Issues Another Block in the Chain Guy Kloss | WTF is Blockchain??? 19/33

Slide 20

Slide 20 text

Nuts’n’Bolts Explanation Beyond Money Issues Concurrency Causes Forks Occasionally a fork happens If two miners succeed in solving the puzzle (nearly simultaneously) Guy Kloss | WTF is Blockchain??? 20/33

Slide 21

Slide 21 text

Nuts’n’Bolts Explanation Beyond Money Issues What now? This is what we’re trying to avoid Keep track of both paths Miners only work on the longest fork One will eventually get longer “B” gets the next block first, work on “A” will cease Outstanding transactions on “B” will be integrated → Agreed upon ordering in time will be achieved Guy Kloss | WTF is Blockchain??? 21/33

Slide 22

Slide 22 text

Nuts’n’Bolts Explanation Beyond Money Issues Dishonesty on Forking Back to the double spending problem: Forks can be a chance to double spend Will be detected once both blocks are available Variant on double spending if Alice = Bob (multiple identities) Forking intentionally after Charlie accepts the coin Community will continue on longest/earliest branch Not feasible to “catch up” with the legit branch Guy Kloss | WTF is Blockchain??? 22/33

Slide 23

Slide 23 text

Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 23/33

Slide 24

Slide 24 text

Nuts’n’Bolts Explanation Beyond Money Issues Content of Records For money, a block contain payment records. What if it contained . . . Multiple columns? “Documents” (e. g. JSON)? Code? Guy Kloss | WTF is Blockchain??? 24/33

Slide 25

Slide 25 text

Nuts’n’Bolts Explanation Beyond Money Issues Private Chains Within organisations Within user groups Guy Kloss | WTF is Blockchain??? 25/33

Slide 26

Slide 26 text

Nuts’n’Bolts Explanation Beyond Money Issues “Non-Chains” Just the hash trees (Merkle trees) Not using cryptographic signatures One-sided assurance only (from the CA side) → No assurance from the client/user Only proving the positive (document exists) → Not the negative (document does not exist) Guy Kloss | WTF is Blockchain??? 26/33

Slide 27

Slide 27 text

Nuts’n’Bolts Explanation Beyond Money Issues Side Chains? What is the biggest, most used and most secure blockchain in operation? → Bitcoin So we should be using that one, right? Can’t do. Not useful for non-payment purposes. → Pegging a “side chain” to another (e. g. Bitcoin) Also possible for private chains → Federation approach Guy Kloss | WTF is Blockchain??? 27/33

Slide 28

Slide 28 text

Nuts’n’Bolts Explanation Beyond Money Issues Visions New take on identity management Ownership Land registries Assets Transparency for KiwiSaver & weapons/tobacco/. . . NZX trading for (smaller) companies Proof of ownership Instant trading any time Simplified Support Contracts Guy Kloss | WTF is Blockchain??? 28/33

Slide 29

Slide 29 text

Nuts’n’Bolts Explanation Beyond Money Issues Outline 1 Nuts’n’Bolts Explanation 2 Beyond Money 3 Issues Guy Kloss | WTF is Blockchain??? 29/33

Slide 30

Slide 30 text

Nuts’n’Bolts Explanation Beyond Money Issues Proof of Work Waste of energy? US$ 1 million in electricity for every day 10–100 times Google’s global compute capacity Scalability? Alternatives Proof of Stake Hybrids Centralised → May defeat the purpose Guy Kloss | WTF is Blockchain??? 30/33

Slide 31

Slide 31 text

Nuts’n’Bolts Explanation Beyond Money Issues Which Chain? Which chain to adopt for use? The scene is still much in flow Not all problems are solved, yet Guy Kloss | WTF is Blockchain??? 31/33

Slide 32

Slide 32 text

Nuts’n’Bolts Explanation Beyond Money Issues Resources Videos & talks: David Birch “A new way to stop identity theft” http://www.ted.com/talks/david_birch_identity_without_a_name Don Tapscott “How the blockchain is changing money and business” http: //www.ted.com/talks/don_tapscott_how_the_blockchain_is_changing_money_and_business Introduction: Michael Nielsen “How the Bitcoin protocol actually works” http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol-actually-works/ Guy Kloss | WTF is Blockchain??? 32/33

Slide 33

Slide 33 text

Nuts’n’Bolts Explanation Beyond Money Issues Questions? Be Safe! Guy Kloss [email protected] Guy Kloss | WTF is Blockchain??? 33/33