A presentation at Decentralized Web Meetup in in Berlin, Germany by Brooklyn Zelenka
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