Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.





Discussion about Dom’s findings

  • Stop storing sequences. Start storing pieces of sequences (ex hashes)

  • If we don’t address the problem of list growth now, we will have to at some point.

What could we do?

  • Issue in the storage format. Recommendation to fix the AST

    • Serialization

    • How RSpace is built to…

  • First address how we represent the things we store

    • Should be provided on the Rholang side

      • Incoder and decoder

  • Optimize waiting continuations

Discussion about garbage collection

  • Renovated RSpace can manage the hash change

  • What’s the use case for garbage collection?

    • To support new nodes catching up

  • What is garbage?

    • Data that is old (ex on the other side of finalization) and/or inaccessible

    • DECISION run garbage collection + defined grace period

  • Three types of garbage to consider

    • Orphaned blocks

    • Unmatched names transferred from hot store to history trie

    • Names that are no longer referenceable after finalization

      • Requires tooling to retrospect Rholang and ask Casper about finalization

Next steps

  • Fix the example contracts so they don’t use single channels (ex ListMap)

  • To support further investigation, measure the size of data being moved between layers

  • Implement a binary encoder and decoder off of the binary scodec (question)

  • Discuss if Casper can share information about orphaned

  • Define heuristic for when to collect garbage

    • Define a heuristic for finding out what’s unreferencable: reverse mark and sweep

Action items