Skip to content
This repository has been archived by the owner on Sep 1, 2023. It is now read-only.

split storage files #114

Open
jchris opened this issue May 31, 2023 · 3 comments
Open

split storage files #114

jchris opened this issue May 31, 2023 · 3 comments

Comments

@jchris
Copy link
Collaborator

jchris commented May 31, 2023

Split the storage streams:

  • Prolly (deterministic)
  • Index
  • Clock
  • ipld hashmap
@jchris
Copy link
Collaborator Author

jchris commented May 31, 2023

  • Bulk operations change
    • Clock points to CARs
    • Values are CIDs

@jchris
Copy link
Collaborator Author

jchris commented Jun 30, 2023

Pub-Sub System for UCAN Invocation

  1. Cryptographically Secure Update Function: Develop a secure update function that allows all actors to perform only their portion of the work.

    • Filter Function: Implement a filter function on the stream.
    • Batch Updates: Allow for batch operations by the client.
      • Enable diff data from the client for the operation. This diff should then be sent to a remote and used to update the latest reference alongside any other updates. The system should be capable of rejecting these updates from the queue if necessary.
      • Include read blocks in the new proof. This could lead to a constant factor increase in car files but would also allow for the deletion of old car files.
      • The system should be able to handle multiple writes in a mutex without needing outside IO, just working on the cars in the queue. If the leaf has any of the same orphan blocks, the system should be capable of merging cleanly, even rejecting stale updates like in Fauna.
      • Implement a method to call a conflict without decoding blocks, and create a list of all blocks that occur more than once.
    • Hosting: Consider the UCAN protocol in terms of hosting - if different parties are competing to host it.
      • Use DynamoDB for batch tracking.
  2. State Updates Include Previous State: Ensure that state updates also contain the previous state.

    • Mutex Batch Update: Implement a Mutex Batch Update feature where previous blocks are passed as source input for the next Mutex Batch Update.
    • Epochs: Integrate epochs into the w3clock.

@jchris
Copy link
Collaborator Author

jchris commented Jul 1, 2023

related fireproof-storage/fireproof#17

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant