- Researcher at @baincapitalcrypto.com exploring programmable cryptography and local-first software
- Experimenting with atproto + local-first software at https://groundmist.xyz
π grjte.sh/bitchat-wifi...
π grjte.sh/bitchat-wifi...
π
π
For an intro to the idea of "programmable cryptography" see gubsheep's excellent essay: 0xparc.org/blog/program...
For an intro to the idea of "programmable cryptography" see gubsheep's excellent essay: 0xparc.org/blog/program...
@arro.bsky.social and @nicomnbl.bsky.social chat w @grjte.sh & @goblinoats.com about the foundations of local-first architecture, CRDTs and how ZK can be incorporated into these models.
zeroknowledge.fm/podcast/367/
(but you should still check it out β i break down what homomorphic encryption is and how it works, and there are lots of explorable explanations along the way!)
(but you should still check it out β i break down what homomorphic encryption is and how it works, and there are lots of explorable explanations along the way!)
β now: make publications, add posts, publish to Bluesky
ποΈ soon: subscribing, commenting & other social features
Try it: leaflet.pub/home
We'd love your feedback & ideas for how we can make this great!
β now: make publications, add posts, publish to Bluesky
ποΈ soon: subscribing, commenting & other social features
Try it: leaflet.pub/home
We'd love your feedback & ideas for how we can make this great!
But what if you wanted them to knowβ¦your ATProto handle? π€―
But what if you wanted them to knowβ¦your ATProto handle? π€―
A personal sync server acts as your local-first PDS, offering local-first benefitsβlike offline access, data ownership, and multi-device supportβwhile enabling the interoperability and flexibility of the AT Protocol.
π Read more: whtwnd.com/grjte.sh/3ln...
A personal sync server acts as your local-first PDS, offering local-first benefitsβlike offline access, data ownership, and multi-device supportβwhile enabling the interoperability and flexibility of the AT Protocol.
π Read more: whtwnd.com/grjte.sh/3ln...
Because your apps are local-first, the user-centric data repo that your personal sync server provides is portable, just like your atproto identity. Update the location of your PSS, and your local-first data will sync in the new data store as you continue to use your apps.
Because your apps are local-first, the user-centric data repo that your personal sync server provides is portable, just like your atproto identity. Update the location of your PSS, and your local-first data will sync in the new data store as you continue to use your apps.
With this foundation, any AppView you want to use for interacting with your local-first data can sync and use multiple data types from your PSS without having access to the full PSS. You can do this from any device, even using different services for different devices.
With this foundation, any AppView you want to use for interacting with your local-first data can sync and use multiple data types from your PSS without having access to the full PSS. You can do this from any device, even using different services for different devices.
This personal sync server (PSS) model can enable local-first interoperability. atproto identity can be used as a user-centric identity for managing and connecting to the sync server. Data can be structured, stored, and permissioned according to a Lexicon definition.
This personal sync server (PSS) model can enable local-first interoperability. atproto identity can be used as a user-centric identity for managing and connecting to the sync server. Data can be structured, stored, and permissioned according to a Lexicon definition.
This can be fixed by following atproto's lead and making an architectural shift from app-centric sync servers to user-centric sync servers. Instead of local-first apps syncing data to the same server regardless of the user, each user's data syncs to a personal sync server.
This can be fixed by following atproto's lead and making an architectural shift from app-centric sync servers to user-centric sync servers. Instead of local-first apps syncing data to the same server regardless of the user, each user's data syncs to a personal sync server.
In the local-first context, data interoperability is challenging partly because it lacks atproto's data model separation. It also lacks user-centric identity, schema standardization, a permission system, and a discovery mechanism, all of which facilitate apps sharing data.
In the local-first context, data interoperability is challenging partly because it lacks atproto's data model separation. It also lacks user-centric identity, schema standardization, a permission system, and a discovery mechanism, all of which facilitate apps sharing data.
For data interoperability across services, we need legibility as well as discoverability and accessibility beyond the original app. atproto enables this by combining the Lexicon system with data model separation where user-centric data repos are separated from AppViews.
For data interoperability across services, we need legibility as well as discoverability and accessibility beyond the original app. atproto enables this by combining the Lexicon system with data model separation where user-centric data repos are separated from AppViews.
The latest Groundmist experiment explores how a personal sync server can function as a local-first data store, mirroring the role of an atproto Personal Data Server (PDS) and building on the lexicon schema system's foundation to enable interoperability over local-first data.
The latest Groundmist experiment explores how a personal sync server can function as a local-first data store, mirroring the role of an atproto Personal Data Server (PDS) and building on the lexicon schema system's foundation to enable interoperability over local-first data.
In the 1st Groundmist experiment, we used atproto as a publishing target for data drafted privately in a local-first context. In the 2nd, we explored atproto's Lexicon schema system as a legibility foundation for describing how to interact with various local-first data.
In the 1st Groundmist experiment, we used atproto as a publishing target for data drafted privately in a local-first context. In the 2nd, we explored atproto's Lexicon schema system as a legibility foundation for describing how to interact with various local-first data.
Wouldn't it be nice to do the same for our private and collaborative data? π
Wouldn't it be nice to do the same for our private and collaborative data? π