Skip to content

Is the MST necessary to the protocol? Or is it an implementation detail? #1072

Discussion options

You must be logged in to vote

Yup you're right that the MST is not strictly necessary. The current version of the repo (v2) is defined as an MST. I've considered that we may support other datastore types down the line for sure. Specific type of data may benefit from different datastore shapes. Because of the complexity overhead of multiple datastore types, we only want to support one right now.

Benefits of an MST

  • ordered keys
  • deterministic construction regardless of insertion order (it's actually a CRDT)
  • probabilistically balanced

The only other data structure I know of like that would be a Prolly tree (which I think is actually more difficult to implement).

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@snarfed
Comment options

Answer selected by snarfed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants