UCAN & WNFS ๐ณ What, Why, and Integration ๐ฆ
A presentation at UCAN for FileCoin in August 2021 in by Brooklyn Zelenka
UCAN & WNFS ๐ณ What, Why, and Integration ๐ฆ
Decentralized Digital Identity DIDs ๐
Decentralized Digital Identity DIDs
Decentralized Digital Identity DIDs โข One or more public keys โข Truly โuniversalโ user IDs โข Agnostic about backing โข Self-attesting โข Database โข Blockchain โข For users, devices, and more โข Relates to verifiable credentials
Decentralized Digital Identity did:key & UCAN
Decentralized Digital Identity did:key & UCAN โข โJustโ a public key (e.g. RSA, EdDSA)
Decentralized Digital Identity did:key & UCAN โข โJustโ a public key (e.g. RSA, EdDSA) โข Self-certifying, extremely flexible
Decentralized Digital Identity did:key & UCAN โข โJustโ a public key (e.g. RSA, EdDSA) โข Self-certifying, extremely flexible โข Well suited to capabilities/authZ (vs identity/authN)
Decentralized Digital Identity did:key & UCAN โข โJustโ a public key (e.g. RSA, EdDSA) โข Self-certifying, extremely flexible โข Well suited to capabilities/authZ (vs identity/authN) โข Made practical with UCANs โข did:key โ authN โข UCAN โ authZ
Decentralized Digital Identity Variety
Decentralized Digital Identity Variety โข Microsoft ION, 3Boxโs Ceramic, Sovrin, did:key, and well over 400 others
Decentralized Digital Identity Variety โข Microsoft ION, 3Boxโs Ceramic, Sovrin, did:key, and well over 400 others โข Can federate, but hasnโt been done yet win the wild โข Fission working towards interop with ION as first step
User Controlled, Local-First, Universal Auth & ID UCAN ๐
UCAN Fission Use Case โ Highly Flexible & Secure
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys โข User controlled / user owned
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys โข User controlled / user owned โข Pseudonymous, principle of least authority & least visibility
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys โข User controlled / user owned โข Pseudonymous, principle of least authority & least visibility โข Wonโt always have access to the โrootโ device
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys โข User controlled / user owned โข Pseudonymous, principle of least authority & least visibility โข Wonโt always have access to the โrootโ device ffl โข Must work o ine
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys โข User controlled / user owned โข Pseudonymous, principle of least authority & least visibility โข Wonโt always have access to the โrootโ device โข Must work o ine ffl โข Extensible semantics
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys โข User controlled / user owned โข Pseudonymous, principle of least authority & least visibility โข Wonโt always have access to the โrootโ device โข Must work o ine โข Extensible semantics ffl โข Flexible granularity
UCAN Fission Use Case โ Highly Flexible & Secure โข Work directly in a browser without plugins โข Browser is hostile โ compatible with WebCrypto non-exportable keys โข User controlled / user owned โข Pseudonymous, principle of least authority & least visibility โข Wonโt always have access to the โrootโ device โข Must work o ine โข Extensible semantics โข Flexible granularity ffl โข Revocable
UCAN Object Capability Model (OCAP)
UCAN Object Capability Model (OCAP) โข ACL is โreactive authโ
UCAN Object Capability Model (OCAP) โข ACL is โreactive authโ ๐ฉ๐ค
UCAN Object Capability Model (OCAP) โข ACL is โreactive authโ ๐ฉ๐ค โ
UCAN Object Capability Model (OCAP) โข ACL is โreactive authโ ๐ฉ๐ค ๐ฎ โ โ
UCAN Object Capability Model (OCAP) โข ACL is โreactive authโ ๐ ๐ฉ๐ค ๐ฎ โ โ
UCAN Object Capability Model (OCAP) โข ACL is โreactive authโ ๐ ๐ฉ๐ค ๐ฎ โ โ
UCAN Object Capability Model (OCAP) ACL โข ACL is โreactive authโ ๐ ๐ฉ๐ค ๐ฎ โ โ
UCAN Object Capability Model (OCAP) ACL โข ACL is โreactive authโ ๐ โข OCAP is โproactive authโ โข Contains all the info about access โข Any guarding done up front (e.g. time limiting) โข Generally some reference, proof, or key โข Anything directly created (parenthood) โข Delegate subset of access to another (introduction) โข Long history (e.g. X.509, SDSI, SPKI, Macaroons) ๐ฉ๐ค ๐ฎ โ โ
UCAN Object Capability Model (OCAP) ACL โข ACL is โreactive authโ ๐ โข OCAP is โproactive authโ โข Contains all the info about access โข Any guarding done up front (e.g. time limiting) โข Generally some reference, proof, or key ๐ฉ๐ค โข Anything directly created (parenthood) โข Delegate subset of access to another (introduction) โข Long history (e.g. X.509, SDSI, SPKI, Macaroons) ๐ฉ๐ค ๐ฎ โ โ
UCAN Object Capability Model (OCAP) ACL โข ACL is โreactive authโ ๐ โข OCAP is โproactive authโ โข Contains all the info about access โข Any guarding done up front (e.g. time limiting) โข Generally some reference, proof, or key ๐ฉ๐ค ๐ฎ โ โ โข Anything directly created (parenthood) โข Delegate subset of access to another (introduction) โข Long history (e.g. X.509, SDSI, SPKI, Macaroons) ๐ฉ๐ค โ
UCAN Object Capability Model (OCAP) ACL โข ACL is โreactive authโ ๐ โข OCAP is โproactive authโ โข Contains all the info about access โข Any guarding done up front (e.g. time limiting) โข Generally some reference, proof, or key ๐ฉ๐ค โ ๐ฎ โ ๐ฉ๐ค ๐ โ โข Anything directly created (parenthood) โข Delegate subset of access to another (introduction) โข Long history (e.g. X.509, SDSI, SPKI, Macaroons)
UCAN Object Capability Model (OCAP) ACL โข ACL is โreactive authโ ๐ โข OCAP is โproactive authโ โข Contains all the info about access โข Any guarding done up front (e.g. time limiting) โข Generally some reference, proof, or key ๐ฉ๐ค โข Anything directly created (parenthood) โข Delegate subset of access to another (introduction) โข Long history (e.g. X.509, SDSI, SPKI, Macaroons) ๐ฎ โ โ OCAP ๐ฉ๐ค ๐ โ
UCAN Chained Attenuation
UCAN Chained Attenuation ๐ฉ๐ป
UCAN Chained Attenuation ๐ฉ๐ป ๐ ๐ถ ๐ฌ ๐พ ๐งธ
UCAN Chained Attenuation ๐ฉ๐ป ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐จ๐ฆณ๐ฅ
UCAN Chained Attenuation ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ
UCAN Chained Attenuation ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐จ๐ฆณ๐ฑ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐งธ
UCAN Chained Attenuation ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐จ๐ฆณ๐ฑ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐งธ ๐ฉ๐ ๐ถ
UCAN Chained Attenuation ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐จ๐ฆณ๐ฑ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ ๐พ ๐งธ ๐จ๐จ ๐งธ ๐ฉ๐ ๐ถ
UCAN Chained Attenuation ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐จ๐ฆณ๐ฑ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ ๐ ๐งธ ๐พ ๐งธ ๐จ๐จ โโ ๐ฉ๐ ๐ถ
UCAN Chained Attenuation ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐จ๐ฆณ๐ฑ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ ๐ ๐ฉ๐ ๐ถ ๐งธ ๐ ๐ถ ๐พ ๐งธ ๐จ๐จ โโ ๐
UCAN Tradeoffs & Hybridization
UCAN Tradeoffs & Hybridization โข Pure ACL, reactive โข Centrally view who has access to what โข Check on every request, bottleneck โข At-will revocation โข Access rules grow in complexity โข More complex provisioning
UCAN Tradeoffs & Hybridization โข Pure ACL, reactive โข Pure OCAP, proactive โข Centrally view who has access to what โข Works o ine & everywhere โข Check on every request, bottleneck โข User owned or provisioned โข At-will revocation โข No resource contention, infinite scale โข Access rules grow in complexity โข Easy interop (as weโll see) โข More complex provisioning โข Principle of least authority โข Revocation more di cult ff ffi ffl โข Tracking possible but has tradeo s
UCAN OAuth Sequence
UCAN UCAN Sequence ๐ ๐
UCAN Revocation Cascade ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐จ๐ฆณ๐ฑ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ ๐ ๐ฉ๐ ๐ถ ๐งธ ๐ ๐ถ ๐พ ๐งธ ๐จ๐จ โโ ๐
UCAN Revocation Cascade UCAN CID ๐ฉ๐ป ๐จ๐ฆณ๐ฅ ๐จ๐ฆณ๐ฑ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ฌ ๐พ ๐งธ ๐ ๐ถ ๐ ๐ ๐ฉ๐ ๐ถ ๐งธ ๐ ๐ถ ๐พ ๐งธ ๐จ๐จ โโ ๐
UCAN JWT
UCAN Auth Chaining โข OCAP, provable chains, revocable โข Non-exportable 2048-bit RSA (WebCrypto), Ed25519 & BLS everywhere else
UCAN Trustless Interop ๐ OIDC Server ๐ค ๐ฝ Service A Service B UCAN with ๐ ID / email Describes o er for ๐ค OIDC Login OIDC Token O er for ๐ค+๐ Secured with signature ๐ฝ and HMAC ๐๐ ๐โs OIDC token? ๐โs OIDC token! Check ๐ HMAC and ๐ฝ signature Update ๐ค subscription for ๐ ff ff 204 Accepted ๐ User
High Level Auth Topologies OCAP FileCoin & Accounts โ
OCAP FileCoin & Accounts Fully Managed (Similar to Today)
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ ๐ง
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ ๐ง ๐ข๐ขDB๐ข๐ข
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ ๐ง ๐ฉ๐ป๐ ๐ข๐ขDB๐ข๐ข
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ ๐ง ๐ฉ๐ป๐ ๐ข๐ขDB๐ข๐ข ๐ฉ๐ป๐ป ๐ฐ๐ฐ ๐ฐ ๐ ๐พ
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ โ n io s i v o Pr ๐ฉ๐ป๐ ๐ข๐ขDB๐ข๐ข ๐พ ๐ฐ1 ๐ฐ AN โ ๐ง ๐ฉ๐ป๐ป ๐ฐ UC ๐ฐ๐ฐ ๐ฐ ๐ ๐พ
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ โ n io s i v o Pr ๐ฉ๐ป๐ ๐ข๐ขDB๐ข๐ข ๐พ ๐ฐ1 ๐ฐ AN โ ๐ง ๐ฉ๐ป๐ป ๐ฐ UC ๐ฐ๐ฐ ๐ฐ ๐ ๐พ ๐ฐ๐พ UCAN 2 ๐ฉ๐ป๐ฑ ๐ฐ ๐พ
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ โ n io s i v o Pr ๐พ ๐ฐ1 ๐ฐ AN โ ๐ง ๐ฉ๐ป๐ป ๐ฐ UC ๐ฐ๐พ ๐ฉ๐ป๐ ๐ข๐ขDB๐ข๐ข ๐ฐ๐ฐ ๐ฐ ๐ ๐พ UCAN 2 ๐ฐ ๐พ UC AN 3 TX ๐งพ ๐ฉ๐ป๐ฑ ๐ฐ ๐พ
OCAP FileCoin & Accounts Fully Managed (Similar to Today) โ โ โ โ โ โ โ โ โ โ โ โ โ โ n io s i v o Pr TX ๐งพ ๐พ ๐ฐ1 ๐ฐ AN โ ๐ง ๐ฉ๐ป๐ป ๐ฐ UC ๐ฐ๐พ ๐ฉ๐ป๐ ๐ข๐ขDB๐ข๐ข ๐ฐ๐ฐ ๐ฐ ๐ ๐พ UCAN 2 ๐ฐ ๐พ UC AN 3 TX ๐งพ ๐ฉ๐ป๐ฑ ๐ฐ ๐พ
OCAP FileCoin & Accounts BLS Cosigner (Self Sovereign) โ โ โ โ โ โ โ โ โ โ โ โ โ Registration ๐ง 2/3 PK for ๐? ๐1+๐2 = ๐ PK(๐2,) ๐ฉ๐ป๐2 {PK(๐ID), PK(๐1) } ๐ ( K UCAN 1 ๐ง TX ๐งพ ๐ฉ๐ป๐3 (๐A, ๐1) ๐ฐ๐พ 3) P ๐1+๐3 = ๐ ๐ฉ๐ป๐ป ๐ฉ๐ป๐ฑ UCAN 2 TX ๐ฐ๐พ ๐ ๐งพ1 ๐ฐ (๐B, ๐1) ๐พ
OCAP FileCoin & Accounts Delegate-Aware Blockchain ๐ฐ ๐ฐ๐ฐ ๐ ๐พ ๐พ๐พ โจโจโจ โจโจโจ โ โ โ โ โ โ โ โ โ โ โ โ โ ๐ฉ๐ป๐ป ๐ฐ๐พ UCAN 1 UCAN 2 TX ๐ฐ๐พ ๐ ๐งพ UCAN 2 ๐คน โDumbโ Relay TX ๐ฐ๐พ ๐ ๐งพ ๐ฉ๐ป๐ฑ ๐ฐ ๐ ๐พ
OCAP FileCoin & Accounts Bonus: Payment Channel Interop
OCAP FileCoin & Accounts Bonus: Payment Channel Interop โจ๐ง๐จ๐ป๐ ๐ง๐จ๐ฑ๐ ๐ฉ๐ง๐ฅ
OCAP FileCoin & Accounts Bonus: Payment Channel Interop โจ๐ง๐จ๐ป๐ ๐ง๐จ๐ฑ๐ UCAN{ max: 200๐ฐ, from: ๐, to: ๐, sig: โ } ๐ฉ๐ง๐ฅ
OCAP FileCoin & Accounts Bonus: Payment Channel Interop โจ๐ง๐จ๐ป๐ ๐ง๐จ๐ฑ๐ UCAN{ max: 200๐ฐ, from: ๐, to: ๐, sig: โ } sendTx(๐ฉ๐ง, 100๐ฐ, UCAN{ max: 200๐ฐ, from: ๐, to: ๐ sig: โ }) 100๐ฐ ๐ฉ๐ง๐ฅ
OCAP FileCoin & Accounts Bonus: Payment Channel Interop โจ๐ง๐จ๐ป๐ ๐ง๐จ๐ฑ๐ UCAN{ max: 200๐ฐ, from: ๐, to: ๐, sig: โ } sendTx(๐ฉ๐ง, 100๐ฐ, UCAN{ max: 200๐ฐ, from: ๐, to: ๐ sig: โ }) 100๐ฐ Countersigned Tx! Countersigned Tx! ๐ฉ๐ง๐ฅ
User Controlled, Serverless, Universal Auth & ID Read vs Write ๐๐
Securing Data Access WNFS Layout
Securing Data Access WNFS Layout alice.fission.name
Securing Data Access WNFS Layout Public Photos Avatars Apps alice.fission.name
Securing Data Access WNFS Layout alice.fission.name Public Photos Avatars Private Apps Photos Apps Family Photos My Gallery
Securing Data Access WNFS Layout alice.fission.name Public Photos Avatars Private Apps Shared By Me Photos Apps Family Photos My Gallery Keys and Keys Keysand and Pointers Pointers Pointers
Securing Data Access WNFS Layout alice.fission.name Public Photos Avatars Private Apps Shared By Me Photos Apps Family Photos My Gallery Keys and Keys Keysand and Pointers Pointers Pointers Shared w/ Me Keys and Pointers
Securing Data Access Virtual Nodes
Securing Data Access Virtual Nodes Raw Node
Securing Data Access Virtual Nodes Raw Node File Node Raw Data Metadata
Securing Data Access Virtual Nodes Raw Node File Node Raw Data Metadata Directory Node Index Metadata
Securing Data Access Virtual Nodes File Node Raw Node โข Virtual Node Raw Data โข Consistent interface โข Arbitrary metadata โข Tags, creators, MIME, sources, &c Metadata Directory Node Index Metadata
Securing Data Access Hard & Soft Links
Securing Data Access Hard & Soft Links โข Hard links โข New for the web! โข Direct reference โข 2 pointers ~ duplicate
Securing Data Access Hard & Soft Links โข Hard links โข New for the web! โข Direct reference โข 2 pointers ~ duplicate โข Soft links โข Like a symlink or web link โข 2 pointers ~ latest โข May break โข Always some version available
Securing Data Access Hard & Soft Links โข Hard links โข New for the web! โข Direct reference โข 2 pointers ~ duplicate โข Soft links โข Like a symlink or web link โข 2 pointers ~ latest โข May break โข Always some version available
Securing Data Access Hard & Soft Links โข Hard links โข New for the web! โข Direct reference โข 2 pointers ~ duplicate โข Soft links โข Like a symlink or web link โข 2 pointers ~ latest โข May break โข Always some version available
Securing Data Access Hard & Soft Links โข Hard links โข New for the web! โข Direct reference โข 2 pointers ~ duplicate โข Soft links โข Like a symlink or web link โข 2 pointers ~ latest โข May break โข Always some version available
Securing Data Access Hard & Soft Links โข Hard links โข New for the web! โข Direct reference โข 2 pointers ~ duplicate โข Soft links โข Like a symlink or web link โข 2 pointers ~ latest โข May break โข Always some version available
Securing Data Access Persistent Versioning
Securing Data Access Persistent Versioning Photos@r0 Vacation Avatars@r0 beach.png caricature.jpg Revision 0
Securing Data Access Persistent Versioning Photos@r0 Vacation Avatars@r0 beach.png caricature.jpg Revision 0 ๐
Securing Data Access Persistent Versioning Photos@r0 Photos@r1 Vacation Avatars@r0 Avatars@r1 beach.png caricature.jpg headshot.png Revision 0 Revision 1 ๐
Securing Data Access Persistent Versioning Photos@r0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 ๐ Avatars@r1
Securing Data Access Persistent Versioning Photos@r0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 ๐ Avatars@r1
Securing Data Access Persistent Versioning Photos@r0 Generation 0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 ๐ Avatars@r1
Securing Data Access Persistent Versioning Generation 0 Generation 1 Photos@r0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 ๐ Avatars@r1
Securing Data Access Rearranged Photos@r1 Photos@r0 Vacation Avatars@r0 beach.png caricature.jpg Avatars@r1 headshot.png
Securing Data Access Private Nodes ๐ CBOR Binary Encrypted Node ๐ AES256 + ๐ Virtual Node = Index ๐ ๐ Metadata ๐
Securing Data Access Cryptree ๐ Virtual Node Virtual Node ๐ Index ๐ ๐ Metadata ๐ ๐ ๐ Index Metadata
Cryptree ๐ Virtual Node Virtual Node ๐ Index ๐ ๐ Metadata ๐ ๐ name: โbeach.jpgโ revision: 42 key: โB374A26A71490437Aโฆโ ๐
, } , { Securing Data Access Index Metadata
๐ Cryptree ๐ Virtual Node Virtual Node ๐ Index ๐ ๐ Metadata ๐ ๐ name: โbeach.jpgโ revision: 42 key: โB374A26A71490437Aโฆโ ๐
, } , { Securing Data Access Index Metadata
๐ Cryptree ๐ Virtual Node Virtual Node ๐ Index ๐ ๐ Metadata ๐ ๐ name: โbeach.jpgโ revision: 42 key: โB374A26A71490437Aโฆโ ๐
, } , { Securing Data Access Index Metadata
Securing Data Access Subtree Read Access
Securing Data Access Future Light Cone Restriction
Securing Data Access Future Light Cone Restriction โข Ratchet keys for backwards secrecy โข Spiral ratchet for quick fast forwards
Securing Data Access Future Light Cone Restriction โข Ratchet keys for backwards secrecy โข Spiral ratchet for quick fast forwards
Securing Data Access Future Light Cone Restriction โข Ratchet keys for backwards secrecy โข Spiral ratchet for quick fast forwards
Securing Data Access Encrypted Tree is Surprisingly Efficient
Securing Data Access Encrypted Tree is Surprisingly Efficient HAMT (weight 16)
Securing Data Access Encrypted Tree is Surprisingly Efficient HAMT 163 = 4,096 items (weight 16) 164 = 65,536 items
Securing Data Access Encrypted Tree is Surprisingly Efficient HAMT 163 = 4,096 items (weight 16) 164 = 65,536 items Append-only Quick Read/Write Merkleized Concurrency Friendly
Securing Data Access Encrypted Tree is Surprisingly Efficient HAMT 163 = 4,096 items (weight 16) 164 = 65,536 items Append-only Quick Read/Write Merkleized Concurrency Friendly ๐
Securing Data Access Namefilters & Hidden Paths
Securing Data Access Namefilters & Hidden Paths โข Bare Filter โข parentFilte โข AND bloom(SHA(aesKey) โข AND bloom(SHA(aesKey ++ revisionRatchet) โข Saturation โข nameFilter AND bloom(SHA(nameFilter) ) ) ) r โข Repeat until threshold bits flipped
Securing Data Access Access-Mediated Collaborative Rooting
Securing Data Access Access-Mediated Collaborative Rooting Rev 0
Securing Data Access Access-Mediated Collaborative Rooting Rev 0
Securing Data Access Access-Mediated Collaborative Rooting Rev 0 Rev 1 (Partial)
Securing Data Access Access-Mediated Collaborative Rooting Rooting progress Rev 0 Rev 1 (Partial)
Securing Data Access Access-Mediated Collaborative Rooting Rooting progress Rev 0 Rev 1 (Partial)
Securing Data Access Access-Mediated Collaborative Rooting Rooting progress No common root at this layer! Attached via HAMT Rev 0 Rev 1 (Partial)
Securing Data Access Progressive Fast Forward Rev 0 Rev 1 (Partial)
Securing Data Access Progressive Fast Forward Rev 0 Rev 1 (Partial) Rev 2 (Partial)
Securing Data Access Progressive Fast Forward Rev 3 (Complete) Rev 0 Rev 1 (Partial) Rev 2 (Partial)
Securing Data Access Progressive Fast Forward Rev 3 (Complete) Rev 0 Rev 1 (Partial) Rev 2 (Partial)
Securing Data Access Progressive Fast Forward Rev 3 (Complete) Rev 0 Rev 1 (Partial) Rev 2 (Partial)
Securing Data Access Merkle CRDT Single File Version Shadow
Securing Data Access Merkle CRDT โข Original paper from PL โข Persistent data structure by default โข Confluent with automated reconciliation โข Innate causal clock via Merkle DAG โข Coarse grained (path-level) Single File Version Shadow
Securing Data Access Async Granting Read & Write
Securing Data Access Async Granting Read & Write Shared by Me
Securing Data Access Async Granting Read & Write Shared by Me did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur
Securing Data Access Async Granting Read & Write Shared by Me did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur Human Readable Name ๐ Symlink
Securing Data Access Async Granting Read & Write Shared by Me did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur Human Readable Name ๐ Symlink
Securing Data Access Async Granting Read & Write Shared by Me did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur Human Readable Name ๐ Symlink
Securing Data Access Async Granting Read & Write Shared with Me Shared by Me did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB did:key:zStEksDrxkwYmpzqB dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU dAQjjx1PRbHG3fq4ChGeJcYU YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur YU44a4CBUExTTjeCbop6Uur Human Readable Name ๐ Symlink