package octez-libs
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=aa2f5bc99cc4ca2217c52a1af2a2cdfd3b383208cb859ca2e79ca0903396ca1d
sha512=d68bb3eb615e3dcccc845fddfc9901c95b3c6dc8e105e39522ce97637b1308a7fa7aa1d271351d5933febd7476b2819e1694f31198f1f0919681f1f9cc97cb3a
doc/tezos_context_disk/Tezos_context_disk/index.html
Module Tezos_context_diskSource
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:
Contextuses a branching factor of 32;Context_binaryuses 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.