From d7531f468b96d5a51b39a4f17c6258ad00e89996 Mon Sep 17 00:00:00 2001 From: Arnau Espin <43625217+aspnxdd@users.noreply.github.com> Date: Tue, 5 Nov 2024 19:37:28 +0100 Subject: [PATCH] feat: expand canopy depth docs (#601) --- docs/advanced/state-compression.md | 18 +++++++++++++++--- .../docs/compression/canopy-depth-1.png | Bin 0 -> 31795 bytes 2 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 public/assets/docs/compression/canopy-depth-1.png diff --git a/docs/advanced/state-compression.md b/docs/advanced/state-compression.md index 99860da5e..cdc4c8749 100644 --- a/docs/advanced/state-compression.md +++ b/docs/advanced/state-compression.md @@ -193,14 +193,14 @@ sized and set at tree creation via this `maxBufferSize` value. ### Canopy depth -The "canopy depth", sometimes called the canopy size, is the number of proof -nodes that are cached/stored on-chain for any given proof path. +The "canopy depth," also known as the canopy size, refers to the number of proof +node levels that are cached or stored onchain for a given proof path. When performing an update action on a `leaf`, like transferring ownership (e.g. selling a compressed NFT), the **complete** proof path must be used to verify original ownership of the leaf and therefore allow for the update action. This verification is performed using the **complete** proof path to correctly compute -the current `root hash` (or any cached `root hash` via the on-chain "concurrent +the current `root hash` (or any cached `root hash` via the onchain "concurrent buffer"). The larger a tree's max depth is, the more proof nodes are required to perform @@ -222,6 +222,18 @@ For example, a tree with a max depth of `14` would require `14` total proof nodes. With a canopy of `10`, only `4` proof nodes are required to be submitted per update transaction. +![Canopy depth of 1 for a Concurrent Merkle Tree of max depth of 3](/assets/docs/compression/canopy-depth-1.png) + +Consider another example, this time with a tree of max depth `3`. If we want to +apply an action to one of the tree’s leaves—such as updating `R4`—we need to +provide proofs for `L4` and `R2`. However, we can omit `R1` since it is already +cached/stored onchain due to our canopy depth of `1`, which ensures that all +nodes at level 1 (`L1` and `R1`) are stored onchain. This results in a total of +2 required proofs. + +Therefore, the number of proofs required to update a leaf is equal to the max +depth minus the canopy depth. In this example, `3 - 1 = 2`. + #### The larger the canopy depth value, the higher the cost The `canopyDepth` value is also a primary factor of cost when creating a tree diff --git a/public/assets/docs/compression/canopy-depth-1.png b/public/assets/docs/compression/canopy-depth-1.png new file mode 100644 index 0000000000000000000000000000000000000000..63bd3e31edd7e374e30a339afee99fef53b8aaa3 GIT binary patch literal 31795 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 Gr~d<~!Oe>R literal 0 HcmV?d00001