Fission Overview for PLN Launchpad

A presentation at PLN Launchpad in June 2022 in Austin, TX, USA by Boris Mann

Slide 1

Slide 1

FISSION: EDGE APP S TAC K P L N L AU N C H PA D , F I L AU S T I N June 2022 1

Slide 2

Slide 2

BORIS MANN • Open Source, Community, Commons • 15 years ago, worked on building out the Drupal community, built the first commercial company around Drupal, helped form Drupal Association • Dove deep into the Ethereum community in 2018, helping ✨ out with Ethereum Magicians, Core Devs • Fission is building developer tools & protocols 2

Slide 3

Slide 3

WHAT IS FISSION? • Fission is building a client side edge stack with identity & auth, user owned data, and a distributed file system on top of IPFS Application ✨ Browser 🖥 Fission ⚛ Developer 👩💻 • Standardize and integrate “hard” things like privacy, security, sync & more • Individuals and teams can focus on full featured apps that act like desktop or mobile, including offline User Accounts Data Publishing 3

Slide 4

Slide 4

HOW DOES FISSION USE IPFS? • IPFS content addressing is extremely important for us • Portable data, not tied to any app or service • Webnative API helps run IPFS in the browser • Data is synced to your browser, and published out natively over IPFS • Web Native File System (WNFS) built on top as a public + private/encrypted file system • Working on WNDB: potential for a global linked database • IPFS and content addressing is exciting! We want to make it so it’s so easy to use, it’s boring 4

Slide 5

Slide 5

APP PUBLISHIN G PL ATFORM • We’ve built our App Publishing Platform to showcase how things can be built in an integrated way • Sign up on the web, publish directly • Use the CLI, build locally, or Github Action to Publish • Subdomain, SSL, custom domains • Every account has their own personal domain links, eg. boris.files.fission.name • Details in the guide: https://guide.fission.codes • Run the stack yourself? 5

Slide 6

Slide 6

WEBNATIVE: EDGE IDENTIT Y & DATA • Some of the features included in the Webnative SDK: • Accounts: linked to browsers and desktops, based on a private key DID • Password-less Login: in any browser, including mobile. Securely link devices. • End-to-end Encryption: WNFS is encrypted & obscures file metadata • Versioning: WNFS has automatic versioning built in • Public file sharing: share links to IPFS CIDs, or use personal domain links • All this on top of read/write to IPFS natively in the browser 6

Slide 7

Slide 7

FISSION DRIVE • Default WNFS file browser • Users can view App Data • Encrypted by default, public folder is available unencrypted with direct IPFS links • Works offline • https://drive.fission.codes 7

Slide 8

Slide 8

fi fi fi FISSION CLI FOR LOCAL DEV • ssion setup — CLI downloads and installs IPFS, registers a user account with private keys • ssion app register — create a new app with subdomain • ssion app publish — publish the app natively, over IPFS • Add to IPFS locally, then contact fission server to register new hash, update DNSLink • Fission server fetches from local node 8

Slide 9

Slide 9

TEC H BUILDING BLOC KS • IPFS: a global “commons network” that anyone can participate in to share data and apps. Content addressing is awesome! • Browser APIs: WebCrypto, PWAs and other browser features integrated in our SDKs so they are easy for developers to use and integrate into their apps • Decentralized Identi ers (DIDs): portable accounts that can be user owned, plus Verifiable Credentials for data linked to accounts fi 9

Slide 10

Slide 10

PROTOCOL DEVELOPMENT • As well as adopting open standards, we are pioneering three specs of our own: • UCAN: a decentralized authentication specification built on top of DIDs; edge-first auth, works offline, OCAP. Join at https://ucan.xyz • WNFS: our Web Native File System, public + private/encrypted, versioning, built on top of IPFS • Dialog / WNDB: adding full planet scale database capabilities to WNFS; the most important, sticky data 10

Slide 11

Slide 11

U P N E X T : WA L L E T AU T H • Blockchain accounts are at least in the 10Ms — the single largest deployment of end user PKI we’ve ever seen • Outsource key management to crypto wallets! • Login with any blockchain wallet • Get access to Webnative encrypted IPFS file system • Working with SIWE / login.xyz to connect UCAN + blockchain logins • Read: Ryan Betts @depatchedmode, “The Wallet Stack”: fission.codes/ blog/wallet-stack/ 11

Slide 12

Slide 12

E V O LV I N G I P F S • Every human on the planet should be able to store data online, forever, effectively for free • Aim for the same DX as a commercial platform like Netlify, Vercel — but at the protocol level • eg: PR to go-IPFS -> add redirect support to the http gateway for SPAs 12

Slide 13

Slide 13

IPFS / FILECOIN PROJECTS • WASM + IPFS: aka autocoder - use WASM to interpret IPLD data • CAR Sync: CAR files over https, webrtc, other transports • WNFS + Filecoin: add end to end private data • FVM + EVM: EVM smart contracts + native FVM actors, • Filecoin Accounts / App Logins • Commons Funding: fund your dependencies, collaborate across the PLN 13

Slide 14

Slide 14

Powering next generation apps on the edge Easy publishing App cloning Edge personalization CDN, cached, nondestructive edits Storage Integrated Hosting Edge, o line, serverless Identity Going multi-user Distributed, multi-user, o line- irst Shared Private Files Distributed Database Easy to use Rich apps with minimal code Heading towards real time SDK Live Updates f ff ff Today WebAssembly powered Edge Compute

Slide 15

Slide 15

Q&A • Let’s build together! • Come see us in our Discord chat https://fission.codes/discord • Check out regular events on Luma: https://lu.ma/fissioncodes • Ping me in Filecoin Slack, PLN Discord, IPFS Discord, borismann#5151 15

Slide 16

Slide 16

T H A N K YO U ! Github: fission-suite Home page: fission.codes Developer Guide & Docs: guide.fission.codes Discourse forum: talk.fission.codes Technical Whitepaper: whitepaper.fission.codes 🚧 👷✍ Discord chat: fission.codes/discord Twitter: @fissioncodes

Slide 17

Slide 17

APPENDIX 17

Slide 18

Slide 18

18

Slide 19

Slide 19

FISSION SYS TEM DIAGRAM • Fission Web API (Haskell) • Auth Lobby Web App (Elm) • Fission CLI (Haskell) • Drive Web App (Elm) • Integrations, eg. Publish action on Github, Heroku Add-On, etc. 19

Slide 20

Slide 20

WEBNATIVE: BOOTSTRAPPIN G FROM BROWSER APIS • Should work in any browser, including mobile, without plugins • WebCrypto API • Web Workers • Service Workers • IndexedDB • PWA & Web App Manifest 20

Slide 21

Slide 21

OAUTH VS UC AN SEQUENCE 21