πŸͺ The Dark Forest πŸš€ Private CRDTs as Global Database or: β€œHow to Power a New Internet” github.com/wnfs-wg github.com/fission-codes

BROOKLYN ZELENKA @expede Cofounder & CTO Fission Codes

BROOKLYN ZELENKA @expede Cofounder & CTO Fission Codes

BROOKLYN ZELENKA ✨ WNFS ✨ Dialog CAR Pool IPVM @expede Cofounder & CTO Fission Codes

The Situation 🀨

The Situation 🀨

  1. Services In 2022

The Situation 🀨

  1. Services In 2022 Alice Bob Carol

The Situation 🀨

  1. Services In 2022 Alice Bob Music Service 🎢 Carol

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Music Service 🎢 Carol Carol’s Music

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Music Service 🎢 Carol Carol’s Music Auth Service πŸ’‚

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Music Service 🎢 Carol Carol’s Music Auth Service πŸ’‚

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Music Service 🎢 Carol Carol’s Music Auth Service πŸ’‚

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Bob’s Photos Music Service Photo Service 🎢 Carol πŸ–Ό Carol’s Music Auth Service πŸ’‚

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Bob’s Photos Music Service Photo Service 🎢 Carol πŸ–Ό Carol’s Music Auth Service πŸ’‚ Social Media πŸ“œ

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Bob’s Photos Bob’s Posts Music Service Photo Service Social Media 🎢 Carol πŸ–Ό Carol’s Music πŸ“œ Carol’s Posts Auth Service πŸ’‚

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Bob’s Photos Bob’s Posts Music Service Photo Service Social Media 🎢 Carol πŸ–Ό Carol’s Music πŸ“œ Carol’s Posts Auth Service πŸ’‚

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Bob’s Photos Music Service Photo Service 🎢 Carol Bob’s Posts πŸ–Ό Carol’s Music Carol’s Posts Auth Service πŸ’‚

The Situation 🀨

  1. Services In 2022 Alice Alice’s Music Bob Bob’s Music Bob’s Photos Music Service Photo Service 🎢 Carol πŸ–Ό Carol’s Music Auth Service πŸ’‚

The Situation 🀨 2. Too Much In The Way

The Situation 🀨 2. Too Much In The Way Users πŸ‘¨πŸ«πŸ‘©πŸ­πŸ§‘βš•πŸ‘· Developer πŸ‘©πŸ’»

The Situation 🀨 2. Too Much In The Way Users πŸ‘¨πŸ«πŸ‘©πŸ­πŸ§‘βš•πŸ‘· Browser πŸ–₯ REST / JSON-RPC / GraphQL ↕ Server βš™ Data Store πŸ—ƒ DevOps πŸ“€ Developer πŸ‘©πŸ’»

The Situation 🀨 2. Too Much In The Way Users πŸ‘¨πŸ«πŸ‘©πŸ­πŸ§‘βš•πŸ‘· Browser πŸ–₯ REST / JSON-RPC / GraphQL ↕ Server βš™ Data Store πŸ—ƒ DevOps πŸ“€ Developer πŸ‘©πŸ’»

The Situation 🀨 3. Toxic Data β€’ 2005: Credit card info in DB β€’ 2015: Personal info in DB β€’ 2025: Nothing in DB

What If… πŸ€”

What If… πŸ€” Networked Data, Not Apps

What If… πŸ€” Networked Data, Not Apps f f f Alice’s Stu Bob’s Stu Carol’s Stu

What If… πŸ€” Networked Data, Not Apps Photo Gallery πŸ–Ό f f f Alice’s Stu Bob’s Stu Carol’s Stu

What If… πŸ€” Networked Data, Not Apps Photo Gallery πŸ–Ό Alice’s Stu Bob’s Stu Carol’s Stu Social Media f f f πŸ“œ

What If… πŸ€” Networked Data, Not Apps Photo Gallery πŸ–Ό Alice’s Stu Bob’s Stu Music Player f f f 🎢 Carol’s Stu Social Media πŸ“œ

What If… πŸ€” Networked Data, Not Apps Photo Gallery πŸ–Ό Auth Service Alice’s Stu Bob’s Stu Music Player f f f 🎢 Carol’s Stu Social Media πŸ“œ πŸ’‚

What If… πŸ€” Networked Data, Not Apps Photo Gallery πŸ–Ό Alice’s Stu Bob’s Stu Music Player f f f 🎢 Carol’s Stu Social Media πŸ“œ

What If… πŸ€” Open Protocols Everywhere

What If… πŸ€” Open Protocols Everywhere β€’ HTTP being open lead to tons of innovation Networking πŸ”Œ

What If… πŸ€” Open Protocols Everywhere β€’ HTTP being open lead to tons of innovation β€’ Open protocols for… Networking πŸ”Œ

What If… πŸ€” Open Protocols Everywhere β€’ HTTP being open lead to tons of innovation β€’ Open protocols for… β€’ Auth: interop without pre-negotiation Auth 🎟 Networking πŸ”Œ

What If… πŸ€” Open Protocols Everywhere β€’ HTTP being open lead to tons of innovation β€’ Open protocols for… β€’ Auth: interop without pre-negotiation β€’ Data: ubiquitous β€œdumb” storage Data πŸ’Ύ Auth 🎟 Networking πŸ”Œ

What If… πŸ€” Open Protocols Everywhere β€’ HTTP being open lead to tons of innovation β€’ Open protocols for… β€’ Auth: interop without pre-negotiation β€’ Data: ubiquitous β€œdumb” storage β€’ Compute: local & remote lambdas Compute βš™ Data πŸ’Ύ Auth 🎟 Networking πŸ”Œ

What If… πŸ€” Open Protocols Everywhere β€’ HTTP being open lead to tons of innovation β€’ Open protocols for… β€’ Auth: interop without pre-negotiation β€’ Data: ubiquitous β€œdumb” storage β€’ Compute: local & remote lambdas Compute βš™ Data πŸ’Ύ Auth 🎟 Networking πŸ”Œ

What If… πŸ€” Three Techniques

What If… πŸ€” Three Techniques Global Primary Keys πŸ—Ί Portable Private Data πŸ’Ύ BFT Concurrency πŸ”€

What If… πŸ€” Three Techniques Global Primary Keys πŸ—Ί Content Addressing Portable Private Data πŸ’Ύ BFT Concurrency πŸ”€

What If… πŸ€” Three Techniques Global Primary Keys πŸ—Ί Portable Private Data πŸ’Ύ Content Addressing Cryptrees / Dark Forest BFT Concurrency πŸ”€

What If… πŸ€” Three Techniques Global Primary Keys πŸ—Ί Portable Private Data πŸ’Ύ BFT Concurrency πŸ”€ Content Addressing Cryptrees / Dark Forest Hash-Linked CRDTs

Content Addressing Truly Global Links πŸ—Ί

Content Addressing πŸ—Ί

Content Addressing πŸ—Ί The limitation of local knowledge is the fundamental fact about the setting in which we work, and it is a very powerful limitation – Nancy Lynch, A Hundred Impossibility Proofs for Distributed Computing

Content Addressing πŸ—Ί Addressing Stack

Content Addressing πŸ—Ί Addressing Stack Physical Location πŸ—Ί send(42.123.45.6, path) = content1 send(42.123.45.6, path) = content2

Content Addressing πŸ—Ί Addressing Stack Virtual Address πŸ“¬ Physical Location πŸ—Ί {DNS: IP} send(42.123.45.6, path) = content1 send(42.123.45.6, path) = content2

Content Addressing πŸ—Ί Addressing Stack Content ID β˜ƒ Virtual Address πŸ“¬ Physical Location πŸ—Ί {hash(content): content} {DNS: IP} send(42.123.45.6, path) = content1 send(42.123.45.6, path) = content2

Content Addressing πŸ—Ί Hash-Based Relationships

Content Addressing πŸ—Ί Hash-Based Relationships { } Qm123456…: { data: nil, links: [ {name: β€œcompany”, hash: Qmabc…} {name: β€œindustry”, hash: Qmzyx…} ] }

Content Addressing πŸ—Ί Hash-Based Relationships { } { Qm123456…: { data: nil, links: [ {name: β€œcompany”, hash: Qmabc…} {name: β€œindustry”, hash: Qmzyx…} ] } } Qmabcdef…: { data: β€œFission”, links: [ {name: β€œcity”, hash: Qm1gb…}, {name: β€œabout”, hash: Qm0eN…} ] }

Content Addressing πŸ—Ί Hash-Based Relationships { } { Qm123456…: { data: nil, links: [ {name: β€œcompany”, hash: Qmabc…} {name: β€œindustry”, hash: Qmzyx…} ] } } Qmabcdef…: { data: β€œFission”, links: [ {name: β€œcity”, hash: Qm1gb…}, {name: β€œabout”, hash: Qm0eN…} ] } Qm123456…/company/about/ceo => β€œBoris Mann”

Content Addressing πŸ—Ί Hard & Soft Links

Content Addressing πŸ—Ί Hard & Soft Links alice.fission.name

Content Addressing πŸ—Ί Hard & Soft Links alice.fission.name bob.fission.name

Content Addressing πŸ—Ί Hard & Soft Links alice.fission.name Hard Links New for the web! Direct reference 2 pointers ~ deduplicate bob.fission.name

Content Addressing πŸ—Ί Hard & Soft Links alice.fission.name Hard Links New for the web! Direct reference 2 pointers ~ deduplicate bob.fission.name

Content Addressing πŸ—Ί Hard & Soft Links alice.fission.name Hard Links New for the web! Direct reference 2 pointers ~ deduplicate bob.fission.name Soft Links Symlink or web link (URL) Pointer ~ latest Latest may break

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Content Addressed Storage Is Simple

Content Addressing πŸ—Ί Upshot β€’ Names that leak no additional info β€’ A consistent way to reference data β€’ Self-verifying data for low/no-trust environment β€’ Hard links on the web

Private Data Substrate Distributed Storage When The Pipes Are Broken πŸ’Ύ

Private Data Substrate πŸ’Ύ Virtual Files & Directories

Private Data Substrate πŸ’Ύ Virtual Files & Directories File Node Raw Data Metadata

Private Data Substrate πŸ’Ύ Virtual Files & Directories File Node Virtual Node Raw Data Consistent interface Arbitrary metadata Tags, creators, MIME, sources, &c Metadata

Private Data Substrate πŸ’Ύ Virtual Files & Directories File Node Virtual Node Raw Data Consistent interface Arbitrary metadata Tags, creators, MIME, sources, &c Metadata Directory Node Index Metadata

Private Data Substrate πŸ’Ύ Persistent Versioning

Private Data Substrate πŸ’Ύ Persistent Versioning Photos@r0 Vacation Avatars@r0 beach.png caricature.jpg Revision 0

Private Data Substrate πŸ’Ύ Persistent Versioning Photos@r0 Vacation Avatars@r0 beach.png caricature.jpg Revision 0 πŸ•™

Private Data Substrate πŸ’Ύ Persistent Versioning Photos@r0 Photos@r1 Vacation Avatars@r0 Avatars@r1 beach.png caricature.jpg headshot.png Revision 0 Revision 1 πŸ•™

Private Data Substrate πŸ’Ύ Persistent Versioning Photos@r0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 πŸ•™ Avatars@r1

Private Data Substrate πŸ’Ύ Persistent Versioning Photos@r0 ChildHasEvent Vacation Avatars@r0 beach.png caricature.jpg Photos@r1 InsertNew Revision 0 headshot.png Revision 1 πŸ•™ Avatars@r1

Private Data Substrate πŸ’Ύ It’s All Just Maps

Private Data Substrate πŸ’Ύ It’s All Just Maps

Private Data Substrate πŸ’Ύ It’s All Just Maps

Private Data Substrate πŸ’Ύ It’s All Just Maps

Private Data Substrate πŸ’Ύ It’s All Just Maps

Private Data Substrate πŸ’Ύ It’s All Just Maps

Private Data Substrate πŸ’Ύ

Private Data Substrate πŸ’Ύ Cryptography is a tool for turning lots of different problems into key management problems Dr. Lea Kissner, Google’s Global Lead of Privacy Technologies

Private Data Substrate πŸ’Ύ SubtleCrypto (WebCrypto) Source: caniuse.com

Private Data Substrate πŸ’Ύ Non-Extractable Keys

Private Data Substrate πŸ’Ύ Non-Extractable Keys

Private Data Substrate πŸ’Ύ Non-Extractable Keys πŸ—

Private Data Substrate πŸ’Ύ Non-Extractable Keys 🦹 πŸ—

Private Data Substrate πŸ’Ύ Non-Extractable Keys 🦹 πŸ—

Private Data Substrate πŸ’Ύ Non-Extractable Keys 🦹 🏰🏰🏰🏰🏰🏰🏰 πŸ—

Private Data Substrate πŸ’Ύ Non-Extractable Keys 🦹 πŸ“ 🏰🏰🏰🏰🏰🏰🏰 πŸ—

Private Data Substrate πŸ’Ύ Non-Extractable Keys 🦹 πŸ“ 🏰🏰🏰🏰🏰🏰🏰 πŸ—

Private Data Substrate πŸ’Ύ Non-Extractable Keys 🦹 🏰🏰🏰🏰🏰🏰🏰 πŸ“ πŸ—

Private Data Substrate πŸ’Ύ Non-Extractable Keys 🦹 πŸ“ 🏰🏰🏰🏰🏰🏰🏰 πŸ—

Private Data Substrate πŸ’Ύ Self-Authenticating & Self-Authorizing

Private Data Substrate πŸ’Ύ Self-Authenticating & Self-Authorizing 123 ACF CF4 C4A 0FC 1F3 A83 ED2 D55 823 247 81D F0A B92

Private Data Substrate πŸ’Ύ Self-Authenticating & Self-Authorizing A7B ACF CF4 πŸ‘©πŸ’» C4A 0FC 1F3 A83 ED2 D55 823 247 81D F0A B92

Private Data Substrate πŸ’Ύ Offline Access Control / Photos/ Sunriver/ food.jpg Iceland/ stage.png Docs/ notes.md harpa.svg

Private Data Substrate πŸ’Ύ Offline Access Control / πŸ— Photos/ Sunriver/ food.jpg Iceland/ stage.png Docs/ notes.md harpa.svg

Private Data Substrate πŸ’Ύ Offline Access Control / πŸ— Photos/ Sunriver/ Iceland/ Docs/ notes.md πŸ— food.jpg stage.png harpa.svg

Private Data Substrate πŸ’Ύ Offline Access Control / πŸ— Photos/ Docs/ πŸ— Sunriver/ Iceland/ notes.md πŸ— food.jpg stage.png harpa.svg

Private Data Substrate πŸ’Ύ Offline Access Control / / πŸ— Photos/ Docs/ Photos/ πŸ— πŸ— Sunriver/ food.jpg Iceland/ stage.png notes.md harpa.svg pdx.jpg plane.png Docs/

Private Data Substrate πŸ’Ύ Offline Access Control Photos/ Sunriver/ food.jpg stage.png notes.md pdx.jpg plane.png

Private Data Substrate πŸ’Ύ Offline Access Control Shared Sunriver/ food.jpg stage.png Photos/ notes.md pdx.jpg plane.png

Private Data Substrate πŸ’Ύ Private Nodes

Private Data Substrate πŸ’Ύ Private Nodes Binary Encrypted Node πŸ”’ Encrypted Node πŸ”’ Encrypted Node πŸ”’

Private Data Substrate πŸ’Ύ Private Nodes Binary CBOR Encrypted Node πŸ”’ Virtual Node Encrypted Node πŸ”’ Index Encrypted Node πŸ”’ πŸ”‘ πŸ”‘ Metadata

Private Data Substrate πŸ’Ύ Private Nodes Binary CBOR Encrypted Node πŸ”’ AES256 Encrypted Node πŸ”’ Virtual Node πŸ”‘ Index Encrypted Node πŸ”’ πŸ”‘ πŸ”‘ Metadata

Private Data Substrate πŸ’Ύ Private Nodes Binary CBOR Encrypted Node πŸ”’ AES256 Encrypted Node πŸ”’ Virtual Node πŸ”‘ Index Encrypted Node πŸ”’ πŸ”‘ πŸ”‘ Metadata

Private Data Substrate πŸ’Ύ Reconstruction Virtual Node Virtual Node πŸ”‘ Index πŸ”‘ πŸ”‘ Metadata πŸ”‘ πŸ”‘ πŸ”‘ Index Metadata

Private Data Substrate πŸ’Ύ Dark Forest

Private Data Substrate πŸ’Ύ Dark Forest

Fault-Safe Concurrency Safely Merge Unreliable Updates πŸ”€

Fault-Safe Concurrency πŸ”€ Causal Islands πŸ–πŸ

Fault-Safe Concurrency πŸ”€ Causal Islands πŸ–πŸ

Fault-Safe Concurrency πŸ”€ Causal Islands πŸ–πŸ

Fault-Safe Concurrency πŸ”€ Causal Islands πŸ–πŸ

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🎨

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🎨

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order tβ†’ 🎨

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑

Fault-Safe Concurrency πŸ”€ Gossiping Out of Order 🟒 🎨 πŸ”΄ 🟑 πŸ”΄ tβ†’ 🟒 🟒 🟑 ❎

Fault-Safe Concurrency πŸ”€ Entropy Isn’t What It Used to Be

Fault-Safe Concurrency πŸ”€ Entropy Isn’t What It Used to Be

Fault-Safe Concurrency πŸ”€ Properties Save the Day

Fault-Safe Concurrency πŸ”€ Properties Save the Day Commutative

Fault-Safe Concurrency πŸ”€ Properties Save the Day Commutative merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Commutative merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Commutative merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Commutative merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Commutative merge merge Associative

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative merge merge merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative merge merge merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge ( ) merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge ( ) merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge ( ) merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge ( ) merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge ( ) merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge ( ) merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill fill

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill fill

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill fill

Fault-Safe Concurrency πŸ”€ Properties Save the Day Associative Commutative ( merge merge ) merge merge Idempotent ( ) merge merge fill fill

Fault-Safe Concurrency πŸ”€ Temporal Confluence

Fault-Safe Concurrency πŸ”€ Temporal Confluence BFT-CRDTs Persistent data structure Automatic file-level reconciliation Pluggable sub-file reconciliation (forthcoming) Basis of upcoming BFT Datalog β€œat scale” work πŸ˜‰

Fault-Safe Concurrency πŸ”€ Temporal Confluence BFT-CRDTs 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”

Fault-Safe Concurrency πŸ”€ Temporal Confluence BFT-CRDTs F B ⭐E⭐ Persistent data structure Automatic file-level reconciliation D Pluggable sub-file reconciliation (forthcoming) Basis of upcoming BFT Datalog β€œat scale” work πŸ˜‰ A ⭐C⭐ Single File History / β€œCausal Shadow”

Fault-Safe Concurrency πŸ”€ Multiplayer Docs (Incl. Encryption) F B ⭐E⭐ D A ⭐C⭐

Fault-Safe Concurrency πŸ”€ Multiplayer Docs (Incl. Encryption) F B ⭐E⭐ D A ⭐C⭐

Fault-Safe Concurrency πŸ”€ Multiplayer Docs (Incl. Encryption) F B ⭐E⭐ D A ⭐C⭐

Fault-Safe Concurrency πŸ”€ Multiplayer Docs (Incl. Encryption) F B ⭐E⭐ D A ⭐C⭐

Fault-Safe Concurrency πŸ”€ Alternate History, Same State

Fault-Safe Concurrency πŸ”€ Alternate History, Same State null

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢 😺 null πŸ™

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 🐢 😺 null πŸ™

Fault-Safe Concurrency πŸ”€ Alternate History, Same State πŸ˜ΊπŸ™ 🐢😺 🐢 😺 null πŸ™

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 πŸ™ πŸ˜ΊπŸ™ 🐢😺 🐢 😺 null πŸ™

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 πŸ™ πŸ˜ΊπŸ™ 🐢😺 🐢 😺 null πŸ™ πŸ™πŸ¦‹

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 πŸ™ πŸ˜ΊπŸ™ 🐢😺 🐢 πŸ˜ΊπŸ™πŸ¦‹ 😺 null πŸ™ πŸ™πŸ¦‹

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 πŸ™πŸ¦‹ 🐢😺 πŸ™ πŸ˜ΊπŸ™ 🐢😺 🐢 πŸ˜ΊπŸ™πŸ¦‹ 😺 null πŸ™ πŸ™πŸ¦‹

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 πŸ™πŸ¦‹ 🐢😺 πŸ™ πŸ˜ΊπŸ™ 🐢😺 🐢 πŸ˜ΊπŸ™πŸ¦‹ 😺 null πŸ™ πŸ™πŸ¦‹

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 πŸ™πŸ¦‹ 🐢😺 πŸ™ πŸ˜ΊπŸ™ 🐢😺 🐢 πŸ˜ΊπŸ™πŸ¦‹ 😺 null πŸ™ πŸ™πŸ¦‹

Fault-Safe Concurrency πŸ”€ Alternate History, Same State 🐢😺 πŸ™πŸ¦‹ 🐢😺 πŸ™ πŸ˜ΊπŸ™ 🐢😺 🐢 πŸ˜ΊπŸ™πŸ¦‹ 😺 null πŸ™ πŸ™πŸ¦‹

Wrap Up Thoughts & Field Notes 🎁

Wrap Up 🎁 Requirements Diagram Next Gen Distributed Apps Web 2.0 Features Collaborative Portable Data & Runtime Hostile Hosts e.g. Browsers Multiuser Nonextractable Signing Keys Concurrent Local First Access Control Authenticated Data Content Addressed Authorized Data Encryption at Rest Capability Auth Extensible Arbitrary Metadata Kernel vs Userspace

Wrap Up 🎁 Requirements Diagram Next Gen Distributed Apps Web 2.0 Features Collaborative Portable Data & Runtime Hostile Hosts e.g. Browsers Multiuser Nonextractable Signing Keys Concurrent Local First Access Control Authenticated Data Content Addressed Authorized Data Encryption at Rest Capability Auth Extensible Arbitrary Metadata Kernel vs Userspace

Wrap Up 🎁 Better Together

πŸ”πŸŽ‰ Thank You, CascadiaJS πŸ‡¨πŸ‡¦πŸ‡ΊπŸ‡Έ github.com/ucan-wg github.com/wnfs-wg More in-depth at Strange Loop 2022 (or talk to us today)