package tezos-context
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=43723d096307603703a1a89ed1b2eb202b365f5e7824b96b0cbf813b343a6cf7
sha512=b2a637f2e965000d3d49ad85277ca24d6cb07a1a7cf2bc69d296d8b03ad78c3eaa8e21e94b9162e62c2e11649cd03bc845b2a3dafe623b91065df69d47dc8e4f
doc/tezos-context.disk/Tezos_context_disk/index.html
Module Tezos_context_disk
Source
Context comes with two variants: Context
and Context_binary
with different tradeoffs.
Both have different Merkle tree representations (i.e. when presented the same data, they don't produce the same hashes).
lib_context
represents directories as a structured tree of inodes, instead of a flat list of files, to get efficient copy-on-write and optimised read patterns.
The context variants differ by the branching factors used for these inode trees:
Context
uses a branching factor of 32;Context_binary
uses a branching factor of 2.
To represent a large directory, Context
uses less but larger inodes than Context_binary
.
As persisting inodes on disk have an overhead (i.e. the serialisation of an inode is prefixed by its 32 byte hash), Context
is thus optimised for storing a large quantity of data on disk.
On the opposite, as the inodes in Merkle proofs contain the hashes of the shallow siblings, Context_binary
is thus optimised for producing smaller Merkle proofs.