A presentation at Seattle Ethereum Meetup - May 2019 in May 2019 in Seattle, WA, USA by Brooklyn Zelenka
I P FS 1 0 1 & T H E N E X T- G E N W E B
B R O O K LY N Z E L E N K A
B R O O K LY N Z E L E N K A •Cofounder at FISSION •Web3 tools for a Web 2.0 world •Early access: https://tools.fission.codes
B R O O K LY N Z E L E N K A •Cofounder at FISSION •Web3 tools for a Web 2.0 world •Early access: https://tools.fission.codes •Meetups: VanFP, Code & Coffee
B R O O K LY N Z E L E N K A •Cofounder at FISSION •Web3 tools for a Web 2.0 world •Early access: https://tools.fission.codes •Meetups: VanFP, Code & Coffee •PLT & VM Enthusiast
B R O O K LY N Z E L E N K A •Cofounder at FISSION •Web3 tools for a Web 2.0 world •Early access: https://tools.fission.codes •Meetups: VanFP, Code & Coffee •PLT & VM Enthusiast •EIPs •615: Subroutines & Static Jumps •902: Token Permissions & Validation •1066: Status Codes •1444: On-Chain Translation
AN IPFS PRIMER
AN IPFS PRIMER 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
AN IPFS PRIMER IN ACTION — TEXT (JSON, HTML, SOURCE, &C)
AN IPFS PRIMER IN ACTION — IMAGE
AN IPFS PRIMER T H E W E B T O D AY
AN IPFS PRIMER T H E W E B T O D AY • Predominantly single-source (per file) server/client
AN 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}}
AN 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
AN 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 via DNS • www.foo.com/baz may be JSON today, but a video tomorrow • …or altered content
AN IPFS PRIMER CONTENT ADDRESSING VIRTUAL ADDRESS P H Y S I C A L L O C AT I O N
AN IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location CONTENT ID VIRTUAL ADDRESS P H Y S I C A L L O C AT I O N
AN IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ID • 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
AN IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ID • 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
AN IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ID • 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
AN IPFS PRIMER CONTENT ADDRESSING • A layer of abstraction above location • Like a key/value store {hash(content) => content} CONTENT ID • 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
AN IPFS PRIMER L I N K E D D ATA
AN IPFS PRIMER L I N K E D D ATA { } Qm123456…: { data: “Hello world”, links: [ {name: “company”, hash: Qmabcdef…} {name: “license”, hash: Qmzyxwvu…} ] }
AN 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…} ] }
AN 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”
AN IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊
AN IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💁
AN IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 ☕ 💻 💁
AN IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💻 💻 💻 ☕ 💻 💻 💁 💻 💻 💻 💻 💻
AN IPFS PRIMER RO U T I N G & LO O KU P 🔍🌊 💻 💻 💁 💻
AN IPFS PRIMER A U T H E N T I C D ATA ( F I N G E R P R I N T I N G )
AN IPFS PRIMER O N E N A M E S PA C E T O R U L E T H E M A L L 💍 🌋
AN IPFS PRIMER O N E N A M E S PA C E T O R U L E T H E M A L L 💍 🌋 • Same file = same hash • No matter when 🕓 • No matter where 🌍🌌 • No matter who +🤖-.🦊
AN IPFS PRIMER O N E N A M E S PA C E T O R U L E T H E M A L L 💍 🌋 • Same file = same hash • Zero file duplication per node • No matter when 🕓 • Replication = CDN-ish features • No matter where 🌍🌌 • Immutable data structures • No matter who +🤖-.🦊 • Files & data living together! •
AN IPFS PRIMER D I S A D VA N TA G E S ( I N M I D - 2 0 1 9 )
AN IPFS PRIMER D I S A D VA N TA G E S ( I N M I D - 2 0 1 9 ) • vs. location-addressing • Less consistent lookup performance • Not natively supported by browsers (other than Opera for Android)
AN IPFS PRIMER D I S A D VA N TA G E S ( I N M I D - 2 0 1 9 ) • vs. location-addressing • Less consistent lookup performance • Not natively supported by browsers (other than Opera for Android) • vs. blockchain • No availability guarantee
AN IPFS PRIMER D E V E LO P M E N T
AN IPFS PRIMER D E V E LO P M E N T • Backed by Protocol Labs
AN IPFS PRIMER D E V E LO P M E N T • Backed by Protocol Labs • FileCoin • Pre-ICO: raised $52M USD • ICO: $200M USD • Network launching “soon”
W H AT A R E W E D O I N G W I T H T H E D I S T R I B U T E D W E B ?
PA R A D I G M W AV E S
PA R A D I G M W AV E S C O N TA I N E R S
PA R A D I G M W AV E S C O N TA I N E R S SERVERLESS ☁ λ
PA R A D I G M W AV E S C O N TA I N E R S SERVERLESS HOSTLESS ☁ 🌐 λ
HOSTLESS & THE DECENTRALIZED WEB
HOSTLESS & THE DECENTRALIZED WEB T E C H N O L O GY _ R O L E
HOSTLESS & THE DECENTRALIZED WEB T E C H N O L O GY _ R O L E IPFS_ Global Storage
HOSTLESS & THE DECENTRALIZED WEB T E C H N O L O GY _ R O L E IPFS_ Global Storage Blockchain_ Digital Scarcity
HOSTLESS & THE DECENTRALIZED WEB T E C H N O L O GY _ R O L E IPFS_ Global Storage Blockchain_ Digital Scarcity We b A s s e m b l y _ U n i v e r s a l C o m p u t e
A F R A M E W O R K F O R T H E N E X T W AV E
Storage A F R A M E W O R K F O R T H E N E X T W AV E FILES 📄 D ATA B A S E 🛢
Storage FILES 📄 D ATA B A S E 🛢 Scarcity A F R A M E W O R K F O R T H E N E X T W AV E IDENTITY 🙋 ASSETS 💰
Storage FILES 📄 D ATA B A S E 🛢 Scarcity IDENTITY 🙋 ASSETS 💰 Compute A F R A M E W O R K F O R T H E N E X T W AV E DISTRIBUTED COMPUTE 🖥 SMART CONTRACTS 📝
BETTER LIVING THROUGH SCIENCE 89 💻🖥 🖥💻 💻9 ☁ 🔗 https://yourname.fission.tools .
BETTER LIVING THROUGH SCIENCE 89 💻🖥 🖥💻 ☁ 🔗 https://yourname.fission.tools TXT => CID 💻9 .
BETTER LIVING THROUGH SCIENCE 89 💻🖥 🖥💻 🧘 ☁ 🔗 https://yourname.fission.tools .
BETTER LIVING THROUGH SCIENCE 89 💻🖥 🖥💻 ☁ 🔗 https://yourname.fission.tools TXT => CID 🧘 .
T H E E N D O F H I STO RY
T H E E N D O F H I STO RY Invisible High Touch Custom Product / Rental Commodity / Utility
T H E E N D O F H I STO RY Hostless Invisible Serverless Shared Hosting Private Ownership High Touch Mainframe Custom Product / Rental Commodity / Utility
DEVELOPER TOOLS TO POWER THE HOSTLESS FUTURE 🖥 https://tools.fission.codes ✉ hello@fission.codes
View IPFS 101 & FISSION on Notist.
Dismiss
The following resources were mentioned during the presentation or are useful additional information.