The Dark Forest: Private CRDTs as Global Database
The contents here is created from the official CascadiaJS Page
Overview
- name: Brooklyn Zelenka
- Speaker Page
Abstract
P2P social networks, local-first apps, and resilient client-side apps need to be private, concurrent, BFT, and run everywhere. Let's look at some recent tools & techniques that make this even possible.
Notes
From Hunter
Go to text →
-
Fission Codes
-
WNFS, Dialog, CAR Pool, PVM
-
Keeping data in a database is a bad idea. See GDPR.
- If you don't store data you can't be persecuted for storing any data you shouldn't.
-
Networked Data, not apps
- Stuff comes first
-
Open protocols
- Auth: interop without pre-negotiation
- Data
- Compute
-
Global Primary Keys
- Content addressing
- Truly global links as opposed to ip addresses (physical location), DNS, networked routing for hashed data,
- Hard links vs soft links (url)
- Content IDs (CID)
- Seems to basically just be like a REST request, but instead of using an id, just use the hash of the object
- What do you do when you update the data, wouldn't its hash be updated?
- Brooklyn explains this. All history is needed (wink wink blockchain)
- What do you do when you update the data, wouldn't its hash be updated?
- Content addressing
-
Portable Private Data
- SublteCrypto(Web Crypto)
- Never gives direct access to the key
- Add an ownership node to the object
- SublteCrypto(Web Crypto)
-
BFT Concurrency
- Over my head, something about color mixing, commutability, associative, and (does not change f(x) === f(f(x)));
-
See also CRDT
From Kevinslin
Go to text →
kevin
Notes by- speaker
- cto of fission codes
- working on lots of protocols
- context for auth
- theres a lot in th emiddle
- lots of data is sensitive
- networked data, not apsp
- 3 techniques
- global primary key (content hashing)
- cryptrees/dark forest
- content hashing
- never change
- hard links for the web
- self verifying data
- private data substrate
- traditional: file system
- new:
- partitioned
- persistent & versioning
- feature but also implementation detail
- just maps under the hood
- private data
- crypto is just transforming existing problems into key management problems
- what changed: ubiquitous web crypto api
- you can't extract keys using the api, only signing
- offline access control
- use hash tree vs trie
- concurrent writes
From Trivikr
Go to text →
- Brooklyn is co-founder and CTO of Fission Codes
- Problem 1: The situation of Services in 2022
- Allow users to authenticated using Auth Service
- Sharing data across services (like from a photo service to music service) requires downloaing the data and re-sharing.
- Problem 2: Too much in the way
- Browser
- REST
- Server
- Data Store
- DEvOps
- Problem 3: Toxic Data
- 2005: Credit Card info in DB
- 2015: Personal Info in DB
- 2025: Nothing in DB
- Suggestion 1: Networked Data, not apps.
- Suggestion 2: Open Protocols
- HTTP has been open
- What if we get open protocols for
- Auth (interop without pre-negotiation)
- Data (ubiquitous dumb storage)
- Compute (local and remote lambdas)
- Three techniques
- Content Addressing
- Private Data Substrate
- Fault-safe concurrency
Children