IPFS 101 & A BIT OF FISSION

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

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

COMMONS INFRASTRUCTURE

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

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)

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. 🌌

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

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

IPFS 101

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 👋

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

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

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

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

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

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

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}}

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

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

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

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

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

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

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

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

IPFS PRIMER L I N K E D D ATA

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

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 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”

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

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

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

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

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

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

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

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

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

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

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

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

A QUICK DEMO

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

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

QUICK DEMO HOW TO USE

QUICK DEMO HOW TO USE

QUICK DEMO NO STEP 2

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

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

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

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

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

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 ☁ λ

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 ☁ 🌐 λ

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

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

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

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

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

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

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

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

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 🛢

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 🕚

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 📝

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

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

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

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

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