IPFS 101 & A Bit of Fission

A presentation at Decentralized Web Meetup in November 2019 in Berlin, Germany by Brooklyn Zelenka

Slide 1

Slide 1

IPFS 101 & A BIT OF FISSION

Slide 2

Slide 2

IPFS 101 & A BIT OF FISSION B R O O K LY N Z E L E N K A , @ e x p e d e

Slide 3

Slide 3

IPFS 101 & A BIT OF FISSION B R O O K LY N Z E L E N K A , @ e x p e d e • Cofounder/CTO at Fission • https://fission.codes • PLT & VMs • Previously focused on Ethereum • EIPs 615, 902, 1066, 1444 • ECIP 1050 • Currently spending a lot of time with IPFS & DIDs

Slide 4

Slide 4

COMMONS INFRASTRUCTURE

Slide 5

Slide 5

COMMONS INFRASTRUCTURE 🤝 A S U B S T R AT E F O R E V E R Y O N E 🌍

Slide 6

Slide 6

COMMONS INFRASTRUCTURE OPEN SOURCE Lots of people work on it, everybody benefits from it, and then people can build upon it (even in a revenue generating fashion) 🔑 TED LEUNG (2005)

Slide 7

Slide 7

COMMONS INFRASTRUCTURE OPEN NETWORKS Lots of people work on it, everybody benefits from it, people can build upon it (even in a revenue generating fashion), and it’s “owned” by everyone. By participating — even with competitive goals — you are cooperating by serving the content and running compute of others. 🌌

Slide 8

Slide 8

COMMONS INFRASTRUCTURE W H Y N OT M O R E W I D E S P R E A D ?

Slide 9

Slide 9

COMMONS INFRASTRUCTURE W H Y N OT M O R E W I D E S P R E A D ?

Slide 10

Slide 10

IPFS 101

Slide 11

Slide 11

IPFS 101 🕸 M E E T T H E C O N T E N T-A D D R E S S A B L E W E B 👋

Slide 12

Slide 12

IPFS PRIMER I N T E R P L A N E TA R Y F I L E S Y S T E M

Slide 13

Slide 13

IPFS PRIMER I N T E R P L A N E TA R Y F I L E S Y S T E M

Slide 14

Slide 14

IPFS PRIMER I N T E R P L A N E TA R Y F I L E S Y S T E M

Slide 15

Slide 15

IPFS PRIMER I N T E R P L A N E TA R Y F I L E S Y S T E M

Slide 16

Slide 16

IPFS PRIMER T H E W E B T O D AY

Slide 17

Slide 17

IPFS PRIMER T H E W E B T O D AY • Predominantly single-source (per file) server/client

Slide 18

Slide 18

IPFS PRIMER T H E W E B T O D AY • Predominantly single-source (per file) server/client • Like a key/value store {ip => {path => content}}

Slide 19

Slide 19

IPFS PRIMER T H E W E B T O D AY • Predominantly single-source (per file) server/client • Like a key/value store {ip => {path => content}} • “Location addressing” • DNS maps names to IP addresses • Focused on the physical network VIRTUAL ADDRESS P H Y S I C A L L O C AT I O N

Slide 20

Slide 20

IPFS PRIMER T H E W E B T O D AY • Predominantly single-source (per file) server/client • Like a key/value store {ip => {path => content}} • “Location addressing” • DNS maps names to IP addresses • Focused on the physical network VIRTUAL ADDRESS P H Y S I C A L L O C AT I O N • Mutable addressing • www.foo.com/baz may be JSON today, but a video tomorrow • …or altered content

Slide 21

Slide 21

IPFS PRIMER CONTENT ADDRESSING VIRTUAL ADDRESS P H Y S I C A L L O C AT I O N

Slide 22

Slide 22

IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location CONTENT ADDRESS VIRTUAL ADDRESS P H Y S I C A L L O C AT I O N

Slide 23

Slide 23

IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ADDRESS • Content hash AKA “content identifier” or CID • Special “universal” relationship to content VIRTUAL ADDRESS P H Y S I C A L L O C AT I O N

Slide 24

Slide 24

IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ADDRESS • Content hash AKA “content identifier” or CID • Special “universal” relationship to content VIRTUAL ADDRESS • Focused on the data P H Y S I C A L L O C AT I O N

Slide 25

Slide 25

IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ADDRESS • Content hash AKA “content identifier” or CID • Special “universal” relationship to content VIRTUAL ADDRESS • Focused on the data • Does not care where it lives P H Y S I C A L L O C AT I O N

Slide 26

Slide 26

IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ADDRESS • Content hash AKA “content identifier” or CID • Special “universal” relationship to content VIRTUAL ADDRESS • Focused on the data • Does not care where it lives • Still have paths • Immutable DAG • Why no loops? P H Y S I C A L L O C AT I O N

Slide 27

Slide 27

IPFS PRIMER L I N K E D D ATA

Slide 28

Slide 28

IPFS PRIMER L I N K E D D ATA { } Qm123456…: { data: “Hello world”, links: [ {name: “company”, hash: Qmabcdef…} {name: “license”, hash: Qmzyxwvu…} ] }

Slide 29

Slide 29

IPFS PRIMER L I N K E D D ATA { } Qm123456…: { data: “Hello world”, links: [ {name: “company”, hash: Qmabcdef…} {name: “license”, hash: Qmzyxwvu…} ] } { } Qmabcdef…: { data: “FISSION”, links: [ {name: “city”, hash: Qm1gb5sn…}, {name: “about”, hash: Qmzyxwvu…} ] }

Slide 30

Slide 30

IPFS PRIMER L I N K E D D ATA { } Qm123456…: { data: “Hello world”, links: [ {name: “company”, hash: Qmabcdef…} {name: “license”, hash: Qmzyxwvu…} ] } { } Qmabcdef…: { data: “FISSION”, links: [ {name: “city”, hash: Qm1gb5sn…}, {name: “about”, hash: Qmzyxwvu…} ] } ipfs cat /ipfs/Qm123456…/company/about/founder => “Brooke”

Slide 31

Slide 31

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊

Slide 32

Slide 32

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💁

Slide 33

Slide 33

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💁

Slide 34

Slide 34

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💁

Slide 35

Slide 35

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 ☕ 💻 💁

Slide 36

Slide 36

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 ☕ 💻 💁

Slide 37

Slide 37

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💻 💻 💻 ☕ 💻 💻 💁 💻 💻 💻 💻 💻

Slide 38

Slide 38

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💻 💻 💻 ☕ 💻 💻 💁 💻 💻 💻 💻 💻

Slide 39

Slide 39

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💻 💻 💻 ☕ 💻 💻 💁 💻 💻 💻 💻 💻

Slide 40

Slide 40

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💻 💻 💻 ☕ 💻 💻 💁 💻 💻 💻 💻 💻

Slide 41

Slide 41

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💁 💻

Slide 42

Slide 42

IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💁 💻

Slide 43

Slide 43

A QUICK DEMO

Slide 44

Slide 44

A QUICK DEMO 🌌 DECENTRALIZED WEB IN 30 SECONDS OR LESS — NO STEP 2 🚀

Slide 45

Slide 45

QUICK DEMO M A C O S I N S TA L L

Slide 46

Slide 46

QUICK DEMO HOW TO USE

Slide 47

Slide 47

QUICK DEMO HOW TO USE

Slide 48

Slide 48

QUICK DEMO NO STEP 2

Slide 49

Slide 49

W H AT F I S S I O N I S U P T O

Slide 50

Slide 50

W H AT F I S S I O N I S U P T O - MAKING LIFE EASIER FOR ALL DEVS ✨

Slide 51

Slide 51

MAKING LIFE EASIER FOR ALL DEVS PA R A D I G M W AV E S

Slide 52

Slide 52

MAKING LIFE EASIER FOR ALL DEVS PA R A D I G M W AV E S C O N TA I N E R S

Slide 53

Slide 53

MAKING LIFE EASIER FOR ALL DEVS PA R A D I G M W AV E S C O N TA I N E R S

Slide 54

Slide 54

MAKING LIFE EASIER FOR ALL DEVS PA R A D I G M W AV E S C O N TA I N E R S SERVERLESS ☁ λ

Slide 55

Slide 55

MAKING LIFE EASIER FOR ALL DEVS PA R A D I G M W AV E S C O N TA I N E R S SERVERLESS UNIVERSAL ☁ 🌐 λ

Slide 56

Slide 56

MAKING LIFE EASIER FOR ALL DEVS N AT I V E S D K F O R T H E W E B

Slide 57

Slide 57

MAKING LIFE EASIER FOR ALL DEVS N AT I V E S D K F O R T H E W E B

Slide 58

Slide 58

MAKING LIFE EASIER FOR ALL DEVS N AT I V E S D K F O R T H E W E B

Slide 59

Slide 59

MAKING LIFE EASIER FOR ALL DEVS N AT I V E S D K F O R T H E W E B

Slide 60

Slide 60

MAKING LIFE EASIER FOR ALL DEVS N AT I V E S D K F O R T H E W E B

Slide 61

Slide 61

MAKING LIFE EASIER FOR ALL DEVS N AT I V E S D K F O R T H E W E B

Slide 62

Slide 62

MAKING LIFE EASIER FOR ALL DEVS N AT I V E S D K F O R T H E W E B

Slide 63

Slide 63

MAKING LIFE EASIER FOR ALL DEVS T H E N E X T W AV E O F P L AT F O R M S

Slide 64

Slide 64

MAKING LIFE EASIER FOR ALL DEVS Global Storage T H E N E X T W AV E O F P L AT F O R M S FILES 📄 D ATA B A S E 🛢

Slide 65

Slide 65

MAKING LIFE EASIER FOR ALL DEVS Global Storage FILES 📄 D ATA B A S E 🛢 Digital Scarcity T H E N E X T W AV E O F P L AT F O R M S IDENTITY 🙋 CHECKPOINTS 🕚

Slide 66

Slide 66

MAKING LIFE EASIER FOR ALL DEVS Global Storage FILES 📄 D ATA B A S E 🛢 Digital Scarcity IDENTITY 🙋 CHECKPOINTS 🕚 Portable Compute T H E N E X T W AV E O F P L AT F O R M S DISTRIBUTED COMPUTE 🖥 SMART CONTRACTS 📝

Slide 67

Slide 67

MAKING LIFE EASIER FOR ALL DEVS LOW E R B A R R I E R S

Slide 68

Slide 68

MAKING LIFE EASIER FOR ALL DEVS LOW E R B A R R I E R S High Touch Invisible Custom Product / Rental Commodity / Utility

Slide 69

Slide 69

MAKING LIFE EASIER FOR ALL DEVS LOW E R B A R R I E R S High Touch Ba rrie r to En try Invisible Custom Product / Rental Commodity / Utility

Slide 70

Slide 70

MAKING LIFE EASIER FOR ALL DEVS LOW E R B A R R I E R S High Touch Bespoke Ba Private Ownership rrie r to En try Shared Hosting Serverless Universal Invisible Custom Product / Rental Commodity / Utility

Slide 71

Slide 71

https://fission.codes https://talk .fission.codes https://tools.fission.codes 7 THANK YOU, BERLIN 🎉 brooklyn@fission.codes g i t h u b . c o m /e x p e d e @expede