WebNative SDK A Portable Edge App Stack github.com/fission-suite

Justโ€ฆ

Justโ€ฆ An Encrypted-At-Rest File System, Location Independence, User Controlled Data, Self-Modifying Apps, & a Serverless Auth Protocol โ€ฆin a tench coat

BROOKLYN ZELENKA @expede CTO @ Fission

Intro Condensing The Stack

Intro Condensing The Stack Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Developer ๐Ÿ‘ฉ๐Ÿ’ป

Intro Condensing The Stack Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ REST / JSON-RPC / GraphQL โ†• Server โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป

Intro Condensing The Stack Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ REST / JSON-RPC / GraphQL โ†• Current Server โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป

Intro Condensing The Stack Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ REST / JSON-RPC / GraphQL โ†• Current Server โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ WebNative ๐Ÿš€ Developer ๐Ÿ‘ฉ๐Ÿ’ป

Intro Condensing The Stack Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ REST / JSON-RPC / GraphQL โ†• Current Server โš™ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ WebNative ๐Ÿš€ Developer ๐Ÿ‘ฉ๐Ÿ’ป Proposed

Intro Condensing The Stack Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ Current Users ๐Ÿ‘จ๐Ÿซ๐Ÿ‘ฉ๐Ÿญ๐Ÿง‘โš•๐Ÿ‘ท Browser ๐Ÿ–ฅ WebNative ๐Ÿš€ REST / JSON-RPC / GraphQL โ†• Developer ๐Ÿ‘ฉ๐Ÿ’ป Server โš™ Quick iteration ๐Ÿ”„ Data Store ๐Ÿ—ƒ DevOps ๐Ÿ“ค Developer ๐Ÿ‘ฉ๐Ÿ’ป Focus on end users ๐Ÿ’ Lower barrier to entry ๐Ÿ‘จ๐ŸŽจ Proposed

Intro High Level Dependencies

Intro High Level Dependencies Compute โš™

Intro High Level Dependencies Compute โš™ Data ๐Ÿ’พ

Intro High Level Dependencies Compute โš™ Data ๐Ÿ’พ Auth ๐ŸŽŸ

Intro Stack 1st & 3rd Party Devโ€™s App Business Logic & View API Platform Abstractions WebNative SDK โฌ† Apps โฌ‡ Core Technology Portable Computate WebNative Distributed Tasks Distributed Compute Broadcast Collaboration, Chat, Instant Sync Soft Realtime Store Durable Structured Store WebNative Database O ine & Async Sharing Exchange Store Durable File Store WebNative File System Durable Data Command/Mutation UCAN ffl Auth & ID Global: Aggregation, Forms, Feeds Gossip Broadcast Read/Query Cryptree Networking DNS, IPFS, PubSub, Matrix Identity did:key

Intro Stack 1st & 3rd Party Devโ€™s App Business Logic & View API Platform Abstractions WebNative SDK โฌ† Apps โฌ‡ Core Technology Portable Computate WebNative Distributed Tasks Distributed Compute Broadcast Collaboration, Chat, Instant Sync Soft Realtime Store Durable Structured Store WebNative Database O ine & Async Sharing Exchange Store Durable File Store WebNative File System Durable Data Command/Mutation UCAN ffl Auth & ID Global: Aggregation, Forms, Feeds Gossip Broadcast Read/Query Cryptree Networking DNS, IPFS, PubSub, Matrix Identity did:key

Intro Mini-Demo

Intro Mini-Demo

AuthN & AuthZ DIDs, Self-Authenticated History, UCAN, and More

AuthN & AuthZ Non-Extractable Keys

AuthN & AuthZ Non-Extractable Keys

AuthN & AuthZ Non-Extractable Keys ๐Ÿ—

AuthN & AuthZ Non-Extractable Keys ๐Ÿฆน ๐Ÿ—

AuthN & AuthZ Non-Extractable Keys ๐Ÿฆน ๐Ÿ—

AuthN & AuthZ Non-Extractable Keys ๐Ÿฆน ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ ๐Ÿ—

AuthN & AuthZ Non-Extractable Keys ๐Ÿฆน ๐Ÿ“ ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ ๐Ÿ—

AuthN & AuthZ Non-Extractable Keys ๐Ÿฆน ๐Ÿ“ ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ ๐Ÿ—

AuthN & AuthZ Non-Extractable Keys ๐Ÿฆน ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ ๐Ÿ“ ๐Ÿ—

AuthN & AuthZ Non-Extractable Keys ๐Ÿฆน ๐Ÿ“ ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ๐Ÿฐ ๐Ÿ—

AuthN & AuthZ DIDs ๐Ÿ”‘

AuthN & AuthZ DIDs โ€ข W3C โ€ข Microsoft โ€ข Government of British Columbia โ€ข Based on public-key cryptography โ€ข Truly โ€œuniversalโ€ user IDs โ€ข Agnostic about backing โ€ข For users, devices, and more ๐Ÿ”‘

AuthN & AuthZ .well-known

AuthN & AuthZ .well-known ๐Ÿ‘ฉ๐Ÿ’ป

AuthN & AuthZ Wherefore Art Thou UCAN?

AuthN & AuthZ Wherefore Art Thou UCAN? DIDs say who you are

AuthN & AuthZ Wherefore Art Thou UCAN? DIDs say who you are UCANs show what you can do

AuthN & AuthZ Wherefore Art Thou UCAN? AuthN DIDs say who you are UCANs show what you can do AuthZ

AuthN & AuthZ Anatomy of a Capability

AuthN & AuthZ Anatomy of a Capability [ { โ€œwithโ€: โ€œhttp://example.com/alice/photos/โ€, โ€œcanโ€: โ€œcrud/readโ€ }, { โ€œwithโ€: โ€œmailto:boris@fission.codesโ€, โ€œcanโ€: โ€œmsg/sendโ€, โ€œnbโ€: { toโ€: โ€œ/.*@fission.codes/โ€ } } ]

AuthN & AuthZ Anatomy of a Capability [ Resource / โ€œnounโ€ { โ€œwithโ€: โ€œhttp://example.com/alice/photos/โ€, โ€œcanโ€: โ€œcrud/readโ€ }, { โ€œwithโ€: โ€œmailto:boris@fission.codesโ€, โ€œcanโ€: โ€œmsg/sendโ€, โ€œnbโ€: { toโ€: โ€œ/.*@fission.codes/โ€ } } ] (URI)

AuthN & AuthZ Anatomy of a Capability [ Resource / โ€œnounโ€ { โ€œwithโ€: โ€œhttp://example.com/alice/photos/โ€, โ€œcanโ€: โ€œcrud/readโ€ }, Action / โ€œverbโ€ { โ€œwithโ€: โ€œmailto:boris@fission.codesโ€, โ€œcanโ€: โ€œmsg/sendโ€, โ€œnbโ€: { toโ€: โ€œ/.*@fission.codes/โ€ } } ] (URI)

AuthN & AuthZ Anatomy of a Capability [ Resource / โ€œnounโ€ { โ€œwithโ€: โ€œhttp://example.com/alice/photos/โ€, (URI) โ€œcanโ€: โ€œcrud/readโ€ }, Action / โ€œverbโ€ { โ€œwithโ€: โ€œmailto:boris@fission.codesโ€, โ€œcanโ€: โ€œmsg/sendโ€, โ€œnbโ€: { toโ€: โ€œ/.*@fission.codes/โ€ } } ] Extensible fields

AuthN & AuthZ Chain Witnesses

AuthN & AuthZ Chain Witnesses ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ

AuthN & AuthZ Chain Witnesses ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ ๐Ÿง‘๐Ÿš€ ๐Ÿญ๐Ÿ’

AuthN & AuthZ Chain Witnesses ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ ๐Ÿง‘๐Ÿš€ ๐Ÿญ๐Ÿ’ ๐Ÿ‘จ๐Ÿฆณ ๐Ÿ’

AuthN & AuthZ Chain Witnesses ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ ๐Ÿง‘๐Ÿš€ ๐Ÿญ๐Ÿ’ ๐Ÿ‘จ๐Ÿฆณ ๐Ÿ’ ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ’

AuthN & AuthZ Chain Witnesses ๐Ÿ‘จ๐ŸŽจ ๐Ÿ’๐Ÿญ๐ŸŽจ ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ ๐Ÿง‘๐Ÿš€ ๐Ÿญ๐Ÿ’ ๐Ÿ‘จ๐Ÿฆณ ๐Ÿ’ ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ’

AuthN & AuthZ Chain Witnesses Root ๐Ÿ‘จ๐ŸŽจ ๐Ÿ’๐Ÿญ๐ŸŽจ ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ From: ๐Ÿ‘จ๐ŸŽจ To: ๐Ÿง‘๐Ÿš€ Caps: [๐Ÿญ, ๐Ÿ’] ๐Ÿง‘๐Ÿš€ ๐Ÿญ๐Ÿ’ ๐Ÿ‘จ๐Ÿฆณ ๐Ÿ’ ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ’

AuthN & AuthZ Chain Witnesses ๐Ÿ‘จ๐ŸŽจ ๐Ÿ’๐Ÿญ๐ŸŽจ ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ Root Witness From: ๐Ÿ‘จ๐ŸŽจ To: ๐Ÿง‘๐Ÿš€ Caps: [๐Ÿญ, ๐Ÿ’] From: ๐Ÿง‘๐Ÿš€ To: ๐Ÿ‘จ๐Ÿฆณ Caps: [๐Ÿ’] ๐Ÿง‘๐Ÿš€ ๐Ÿญ๐Ÿ’ ๐Ÿ‘จ๐Ÿฆณ ๐Ÿ’ ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ’

AuthN & AuthZ Chain Witnesses ๐Ÿ‘จ๐ŸŽจ ๐Ÿ’๐Ÿญ๐ŸŽจ ๐Ÿ‘จ๐ŸŽจ ๐Ÿญ๐Ÿ’๐ŸŽจ Root Witness Invoked From: ๐Ÿ‘จ๐ŸŽจ To: ๐Ÿง‘๐Ÿš€ Caps: [๐Ÿญ, ๐Ÿ’] From: ๐Ÿง‘๐Ÿš€ To: ๐Ÿ‘จ๐Ÿฆณ Caps: [๐Ÿ’] From: ๐Ÿ‘จ๐Ÿฆณ To: ๐Ÿ‘ฉ๐Ÿ’ป Caps: [๐Ÿ’] ๐Ÿง‘๐Ÿš€ ๐Ÿญ๐Ÿ’ ๐Ÿ‘จ๐Ÿฆณ ๐Ÿ’ ๐Ÿ‘ฉ๐Ÿ’ป ๐Ÿ’

AuthN & AuthZ JWT โ†’ UCAN Payload { Header { } โ€œalgโ€: โ€œEdDSAโ€, โ€œtypโ€: โ€œJWTโ€, โ€œucvโ€: โ€œ0.8.0โ€ โ€œissโ€: โ€œdid:key:z6MksXQBfL8owztTCJTm7hNRf6b18YxXPp3i66oJHm8L3YGJโ€, โ€œaudโ€: โ€œdid:key:z6MkvXfPUv8bxtsVQiGo7Ntk4qKJNcgK2it52pc73teUpRLTโ€, โ€œnbfโ€: 1639608293, โ€œexpโ€: 9256939505, โ€œattโ€: [ { โ€œwithโ€: โ€œwnfs://demouser.fission.name/public/photos/โ€, โ€œcanโ€: โ€œOVERWRITEโ€ }, { โ€œwithโ€: โ€œwnfs://demouser.fission.name/public/notes/โ€, โ€œcanโ€: โ€œAPPENDโ€ } ], โ€œprfโ€: [ โ€œeyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCIsInVjdiI6IjAuNy4wIn0.eyJhdWQiOiJkaWQ6a 2V5Ono2TWtzWFFCZkw4b3d6dFRDSlRtN2hOUmY2YjE4WXhYUHAzaTY2b0pIbThMM1lHSiIsImF 0dCI6W3sid25mcyI6ImRlbW91c2VyLmZpc3Npb24ubmFtZS9wdWJsaWMvcGhvdG9zLyIsImNhc CI6Ik9WRVJXUklURSJ9XSwiZXhwIjo5MjU2OTM5NTA1LCJpc3MiOiJkaWQ6a2V5Ono2TWtwNUV zejlzMk1Ic3FZdkxvY2N5SHdYNVNleVpLcHE3OUd0NDVmRkdFWlI5OSIsIm5iZiI6MTYzOTYwO DI5MywicHJmIjpbXX0.4TNhuHRrPG9aHo869HXlsNK8_FmlShQ5GzG4itN2NKkyKTbAMoFwTuptG0XFgNIvHulPplVzZYDVDexo76kAwโ€, โ€œeyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCIsInVjdiI6IjAuNy4wIn0.eyJhdWQiOiJkaWQ6a 2V5Ono2TWtzWFFCZkw4b3d6dFRDSlRtN2hOUmY2YjE4WXhYUHAzaTY2b0pIbThMM1lHSiIsImF 0dCI6W3sid25mcyI6ImRlbW91c2VyLmZpc3Npb24ubmFtZS9wdWJsaWMvbm90ZXMvIiwiY2FwI joiT1ZFUldSSVRFIn1dLCJleHAiOjkyNTY5Mzk1MDUsImlzcyI6ImRpZDprZXk6ejZNa3A1RXN 6OXMyTUhzcVl2TG9jY3lId1g1U2V5WktwcTc5R3Q0NWZGR0VaUjk5IiwibmJmIjoxNjM5NjA4M jkzLCJwcmYiOltdfQ.MgYarLqy7RmQ1AIrqYL6cFy9z7a5WIAU-TYARPSgirOSszvar3_DNr25rbPretHbnT0mMVKyoaQXruR7KbrBgโ€ ] } Signature kwRdqPN74pkcpXGgdk7Z7FW3M1mRR YaDE5ZgkG6srAuu6V6mvMVRdBLnD5 CWid-X4tDIKpliVjlCSLTntB4pCw

AuthN & AuthZ JWT โ†’ UCAN Payload { Header { } โ€œalgโ€: โ€œEdDSAโ€, โ€œtypโ€: โ€œJWTโ€, โ€œucvโ€: โ€œ0.8.0โ€ โ€œissโ€: โ€œdid:key:z6MksXQBfL8owztTCJTm7hNRf6b18YxXPp3i66oJHm8L3YGJโ€, โ€œaudโ€: โ€œdid:key:z6MkvXfPUv8bxtsVQiGo7Ntk4qKJNcgK2it52pc73teUpRLTโ€, โ€œnbfโ€: 1639608293, โ€œexpโ€: 9256939505, โ€œattโ€: [ { โ€œwithโ€: โ€œwnfs://demouser.fission.name/public/photos/โ€, โ€œcanโ€: โ€œOVERWRITEโ€ }, { โ€œwithโ€: โ€œwnfs://demouser.fission.name/public/notes/โ€, โ€œcanโ€: โ€œAPPENDโ€ } ], โ€œprfโ€: [ โ€œeyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCIsInVjdiI6IjAuNy4wIn0.eyJhdWQiOiJkaWQ6a 2V5Ono2TWtzWFFCZkw4b3d6dFRDSlRtN2hOUmY2YjE4WXhYUHAzaTY2b0pIbThMM1lHSiIsImF 0dCI6W3sid25mcyI6ImRlbW91c2VyLmZpc3Npb24ubmFtZS9wdWJsaWMvcGhvdG9zLyIsImNhc CI6Ik9WRVJXUklURSJ9XSwiZXhwIjo5MjU2OTM5NTA1LCJpc3MiOiJkaWQ6a2V5Ono2TWtwNUV zejlzMk1Ic3FZdkxvY2N5SHdYNVNleVpLcHE3OUd0NDVmRkdFWlI5OSIsIm5iZiI6MTYzOTYwO DI5MywicHJmIjpbXX0.4TNhuHRrPG9aHo869HXlsNK8_FmlShQ5GzG4itN2NKkyKTbAMoFwTuptG0XFgNIvHulPplVzZYDVDexo76kAwโ€, โ€œeyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCIsInVjdiI6IjAuNy4wIn0.eyJhdWQiOiJkaWQ6a 2V5Ono2TWtzWFFCZkw4b3d6dFRDSlRtN2hOUmY2YjE4WXhYUHAzaTY2b0pIbThMM1lHSiIsImF 0dCI6W3sid25mcyI6ImRlbW91c2VyLmZpc3Npb24ubmFtZS9wdWJsaWMvbm90ZXMvIiwiY2FwI joiT1ZFUldSSVRFIn1dLCJleHAiOjkyNTY5Mzk1MDUsImlzcyI6ImRpZDprZXk6ejZNa3A1RXN 6OXMyTUhzcVl2TG9jY3lId1g1U2V5WktwcTc5R3Q0NWZGR0VaUjk5IiwibmJmIjoxNjM5NjA4M jkzLCJwcmYiOltdfQ.MgYarLqy7RmQ1AIrqYL6cFy9z7a5WIAU-TYARPSgirOSszvar3_DNr25rbPretHbnT0mMVKyoaQXruR7KbrBgโ€ ] } Signature kwRdqPN74pkcpXGgdk7Z7FW3M1mRR YaDE5ZgkG6srAuu6V6mvMVRdBLnD5 CWid-X4tDIKpliVjlCSLTntB4pCw

AuthN & AuthZ JWT โ†’ UCAN Payload { Header { } โ€œalgโ€: โ€œEdDSAโ€, โ€œtypโ€: โ€œJWTโ€, โ€œucvโ€: โ€œ0.8.0โ€ โ€œissโ€: โ€œdid:key:z6MksXQBfL8owztTCJTm7hNRf6b18YxXPp3i66oJHm8L3YGJโ€, โ€œaudโ€: โ€œdid:key:z6MkvXfPUv8bxtsVQiGo7Ntk4qKJNcgK2it52pc73teUpRLTโ€, โ€œnbfโ€: 1639608293, โ€œexpโ€: 9256939505, โ€œattโ€: [ { โ€œwithโ€: โ€œwnfs://demouser.fission.name/public/photos/โ€, โ€œcanโ€: โ€œOVERWRITEโ€ }, { โ€œwithโ€: โ€œwnfs://demouser.fission.name/public/notes/โ€, โ€œcanโ€: โ€œAPPENDโ€ } ], โ€œprfโ€: [ โ€œeyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCIsInVjdiI6IjAuNy4wIn0.eyJhdWQiOiJkaWQ6a 2V5Ono2TWtzWFFCZkw4b3d6dFRDSlRtN2hOUmY2YjE4WXhYUHAzaTY2b0pIbThMM1lHSiIsImF 0dCI6W3sid25mcyI6ImRlbW91c2VyLmZpc3Npb24ubmFtZS9wdWJsaWMvcGhvdG9zLyIsImNhc CI6Ik9WRVJXUklURSJ9XSwiZXhwIjo5MjU2OTM5NTA1LCJpc3MiOiJkaWQ6a2V5Ono2TWtwNUV zejlzMk1Ic3FZdkxvY2N5SHdYNVNleVpLcHE3OUd0NDVmRkdFWlI5OSIsIm5iZiI6MTYzOTYwO DI5MywicHJmIjpbXX0.4TNhuHRrPG9aHo869HXlsNK8_FmlShQ5GzG4itN2NKkyKTbAMoFwTuptG0XFgNIvHulPplVzZYDVDexo76kAwโ€, โ€œeyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCIsInVjdiI6IjAuNy4wIn0.eyJhdWQiOiJkaWQ6a 2V5Ono2TWtzWFFCZkw4b3d6dFRDSlRtN2hOUmY2YjE4WXhYUHAzaTY2b0pIbThMM1lHSiIsImF 0dCI6W3sid25mcyI6ImRlbW91c2VyLmZpc3Npb24ubmFtZS9wdWJsaWMvbm90ZXMvIiwiY2FwI joiT1ZFUldSSVRFIn1dLCJleHAiOjkyNTY5Mzk1MDUsImlzcyI6ImRpZDprZXk6ejZNa3A1RXN 6OXMyTUhzcVl2TG9jY3lId1g1U2V5WktwcTc5R3Q0NWZGR0VaUjk5IiwibmJmIjoxNjM5NjA4M jkzLCJwcmYiOltdfQ.MgYarLqy7RmQ1AIrqYL6cFy9z7a5WIAU-TYARPSgirOSszvar3_DNr25rbPretHbnT0mMVKyoaQXruR7KbrBgโ€ ] } โœ… Signature kwRdqPN74pkcpXGgdk7Z7FW3M1mRR YaDE5ZgkG6srAuu6V6mvMVRdBLnD5 CWid-X4tDIKpliVjlCSLTntB4pCw

AuthN & AuthZ Proof Payload { Header { } โ€œalgโ€: โ€œEdDSAโ€, โ€œtypโ€: โ€œJWTโ€, โ€œucvโ€: โ€œ0.8.0โ€ } โ€œissโ€: โ€œdid:key:z6Mkp5Esz9s2MHsqYvLoccyHwX5SeyZKpq79Gt45fFGEZR99โ€, โ€œaudโ€: โ€œdid:key:z6MksXQBfL8owztTCJTm7hNRf6b18YxXPp3i66oJHm8L3YGJโ€, โ€œnbfโ€: 1639608293, โ€œexpโ€: 9256939505, โ€œattโ€: [ { โ€œwithโ€: โ€œwnfs://demouser.fission.name/public/photos/โ€, โ€œcanโ€: โ€œOVERWRITEโ€ } ], โ€œprfโ€: [] Signature 4TNhuHRrPG9aHo869HXlsNK8_FmlShQ5GzG 4itN2NKkyKTbAMoFwTuptG0XFgNIvHulPplVzZYDVDe xo76kAw

AuthN & AuthZ OAuth Sequence

AuthN & AuthZ UCAN Sequence ๐Ÿ•™ ๐Ÿ•™

WebNative File System ๐Ÿ’พ๐Ÿ“‚๐ŸŒณ

File System Grouped by User, Not by App

File System Grouped by User, Not by App f f f Aliceโ€™s Stu Bobโ€™s Stu Carolโ€™s Stu

File System Grouped by User, Not by App Bobโ€™s Photo Gallery ๐Ÿ–ผ f f f Aliceโ€™s Stu Bobโ€™s Stu Carolโ€™s Stu

File System Grouped by User, Not by App Bobโ€™s Photo Gallery ๐Ÿ–ผ Aliceโ€™s Stu Bobโ€™s Stu Carolโ€™s Stu f f f Carolโ€™s Videogame ๐Ÿ‘พ

File System Grouped by User, Not by App Bobโ€™s Photo Gallery ๐Ÿ–ผ Aliceโ€™s Stu Bobโ€™s Stu f f f Aliceโ€™s Music Player ๐ŸŽถ Carolโ€™s Stu Carolโ€™s Videogame ๐Ÿ‘พ

File System Persistent Versioning

File System Persistent Versioning Photos@r0 Vacation Avatars@r0 beach.png caricature.jpg Revision 0

File System Persistent Versioning Photos@r0 Vacation Avatars@r0 beach.png caricature.jpg Revision 0 ๐Ÿ•™

File System Persistent Versioning Photos@r0 Photos@r1 Vacation Avatars@r0 Avatars@r1 beach.png caricature.jpg headshot.png Revision 0 Revision 1 ๐Ÿ•™

File System Persistent Versioning Photos@r0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 ๐Ÿ•™ Avatars@r1

File System Persistent Versioning Photos@r0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 ๐Ÿ•™ Avatars@r1

File System Confluence

File System Confluence One of the first Merkle CRDT papers was from PL ๐Ÿ™Œ Persistent data structure Automatic file-level reconciliation Pluggable sub-file reconciliation (forthcoming) Basis of upcoming BFT Datalog โ€œat scaleโ€ work ๐Ÿ˜‰

File System Confluence One of the first Merkle CRDT papers was from PL ๐Ÿ™Œ Persistent data structure Automatic file-level reconciliation Pluggable sub-file reconciliation (forthcoming) Basis of upcoming BFT Datalog โ€œat scaleโ€ work ๐Ÿ˜‰ Single File History / โ€œCausal Shadowโ€

File System Confluence F B E One of the first Merkle CRDT papers was from PL ๐Ÿ™Œ Persistent data structure D Automatic file-level reconciliation Pluggable sub-file reconciliation (forthcoming) Basis of upcoming BFT Datalog โ€œat scaleโ€ work ๐Ÿ˜‰ A C Single File History / โ€œCausal Shadowโ€

File System Mergable, Trivially F B E D A C

File System Mergable, Trivially F B E D A C

File System Mergable, Trivially F B E D A C

File System Mergable, Trivially F B E D A C

File System Sharing is Caring User Entry (stable) ๐Ÿ”‘ Implied Name ๐Ÿ”‘ Foreign Entrypoint(s) ๐Ÿ”‘ Symlink(s)

File System Sharing is Caring User Entry (stable) Sender Secret WNFS ๐Ÿ”‘ Implied Name ๐Ÿ”‘ Foreign Entrypoint(s) ๐Ÿ”‘ Symlink(s)

File System Sharing is Caring User Entry (stable) Sender Secret WNFS ๐Ÿ”‘ Implied Name ๐Ÿ”‘ Foreign Entrypoint(s) ๐Ÿ”‘ Symlink(s)

File System Sharing is Caring User Entry (stable) Sender Secret WNFS ๐Ÿ”‘ Implied Name ๐Ÿ”‘ Foreign Entrypoint(s) ๐Ÿ”‘ Symlink(s) Receiver Secret WNFS

File System Sharing is Caring User Entry (stable) Sender Secret WNFS ๐Ÿ”‘ Implied Name ๐Ÿ”‘ Foreign Entrypoint(s) ๐Ÿ”‘ Symlink(s) Receiver Secret WNFS

File System Subgraph Access

File System Subgraph Access ๐Ÿ—

File System Subgraph Access ๐Ÿ— ๐Ÿ—

File System Subgraph Access ๐Ÿ— ๐Ÿ— ๐Ÿ—

File System Subgraph Access ๐Ÿ— ๐Ÿ— ๐Ÿ— ๐Ÿ”ฉโžก๐Ÿ—

File System Skip Ratchet

File System Skip Ratchet Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet current rev + 2n Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet current rev + 2n Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet current rev + 2n โ€”2m current rev + 2n Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet current rev + 2n โ€”2m current rev + 2n Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet current rev + 2n โ€”2m current rev + 2n Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards

File System Skip Ratchet current rev + 2n โ€”2m current rev + 2n Ratchet keys for future (backwards) secrecy Skip ratchet KDF for log-time fast forwards O(2 * log n) ฮ˜(1) ๐ŸŽ‰

File System Dark Forest

File System Dark Forest

File System WebNative is Carcinising

Preview: Codename โ€œDialogโ€ Embarrassingly Parallel Multiverse Database

Preview: Codename โ€œDialogโ€ Property Graph XYZ Name: @expede From JAN-2000 ๐Ÿ”’ Work: Fission From AUG-2019 KEB ๐Ÿ”’ Red Switches Switches: Blue From JAN-2020 From FEB-2020 Wireless

Preview: Codename โ€œDialogโ€ Property Graph XYZ Name: @expede From JAN-2000 ๐Ÿ”’ Work: Fission From AUG-2019 KEB ๐Ÿ”’ Red Switches Switches: Blue From JAN-2020 From FEB-2020 Wireless

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020 ๐Ÿข

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 KEB Owner:XYZ From JAN-2020 KEB Switches: Blue From FEB-2020 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ ๐Ÿข

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 ๐Ÿ‘จ๐Ÿณ๐Ÿ’ป KEB Owner:XYZ From JAN-2020 ๐Ÿข KEB Switches: Blue From FEB-2020 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ

Preview: Codename โ€œDialogโ€ A Sequel to SQL: Nonlinear DBs โžกโฌ… XYZ Name: @expede From JAN-2000 ABC Name: @bmann From DEC-1999 KEB Type: Wireless Always ๐Ÿ”’ XYZ Work: Fission From AUG-2019 ๐Ÿ”’ KEB Switches: Red From JAN-2020 ๐Ÿ‘จ๐Ÿณ๐Ÿ’ป KEB Owner:XYZ From JAN-2020 ๐Ÿข KEB Switches: Blue From FEB-2020 ๐Ÿ‘ฉ๐Ÿš€๐Ÿ“ฑ

Preview: Codename โ€œDialogโ€ Scale, Aggregation, & Real Time Global: Aggregation, Forms, Feeds Gossip Broadcast Collaboration, Chat, Instant Sync Soft Realtime Store

Preview: Codename โ€œDialogโ€ Scale, Aggregation, & Real Time Collaboration, Chat, Instant Sync

โœจ white paper.fission.codes โœจ โœจ github.com/ucan-wg โœจ brooklyn@fission.codes @expede