From f5d399ba46640abac49dfca0901395a15b8bcdb6 Mon Sep 17 00:00:00 2001 From: therealyingtong Date: Fri, 28 Jun 2019 18:27:46 +0800 Subject: [PATCH] include detailed spec (joint work with James Prestwich and Georgios Konstantopoulos --- MMR.png | Bin 130546 -> 0 bytes MMRWeight.png | Bin 65153 -> 0 bytes pdf.png | Bin 8910 -> 0 bytes zip-0311.rst | 586 ++++++++++++++++++++++++++++++++++++++++++++------ 4 files changed, 517 insertions(+), 69 deletions(-) delete mode 100644 MMR.png delete mode 100644 MMRWeight.png delete mode 100644 pdf.png diff --git a/MMR.png b/MMR.png deleted file mode 100644 index 08f0bde3c50e606567f110495ba179e6ef9dd058..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130546 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 diff --git a/MMRWeight.png b/MMRWeight.png deleted file mode 100644 index 6bd09d1df49461abd53f4e9b807a1a46a4a86873..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65153 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
G5R3C3wo!K}^6OS!n; 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 diff --git a/pdf.png b/pdf.png deleted file mode 100644 index d14d53ace2da742ec6138236657b93dd109d917b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8910 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 PDg=tMcV&vC%%1-TolkNF diff --git a/zip-0311.rst b/zip-0311.rst index 776b873f..a863dda5 100644 --- a/zip-0311.rst +++ b/zip-0311.rst @@ -1,111 +1,559 @@ :: - ZIP: 0311 + ZIP: 0221 Title: FlyClient ZCash SPV - Champions: + Owners: + Ying Tong, , + James Prestwich, , + Georgios Konstantopoulos, Status: Draft Category: Consensus Created: 2019-03-30 License: MIT - Terminology -=========== -The key words "MUST", "SHOULD", and "MAY" in this document are to be interpreted as described in RFC 2119. [#RFC2119]_ +----------- +The key words "**MUST**", "**SHOULD**", and "**MAY**" in this document are to be interpreted as described in RFC 2119. [#RFC2119]_ -Light client +The terms "branch" and "network upgrade" in this document are to be interpreted as described in ZIP 200. [#zip-0200]_ + +*Light client* A client that is not a full participant in the network of Zcash peers. It can send and receive payments, but does not store or validate a copy of the blockchain. -High probability - An event occurs with high probability if it occurs with probability 1-O(1/2^λ), where λ is the security parameter. +*High probability* + An event occurs with high probability if it occurs with probability 1-O(1/2^λ), where λ is a security parameter. -Negligible probability +*Negligible probability* An event occurs with negligible probability if it occurs with probability O(1/2^λ), where λ is the security parameter. -Merkle mountain range (MMR) - A Merkle mountain range (MMR) is binary hash tree that allows for efficient appends of new leaves without changing the value of existing nodes [#PeterTodd]_. +*Merkle mountain range (MMR)* + A Merkle mountain range (MMR) is binary hash tree that allows for efficient appends of new leaves without changing the value of existing nodes. -Hard fork - A hard fork is a change to a protocol that makes transactions from older clients invalid. - Abstract -======== -A proposed implementation of the probabilistic verification FlyClient protocol [#FlyClient]_ on top of the existing ZCash reference light client protocol [#ZIPXXX]_. This can be implemented with a hard fork to include a MMR proof in each block header. +--------- +This ZIP specifies modifications to be made to the Zcash block header format to include Merkle Mountain Range (MMR) commitments. Sapling (NU2) introduced the ``hashFinalSaplingRoot`` field to Zcash headers. This ZIP replaces the ``hashFinalSaplingRoot`` commitment with ``hashChainHistoryRoot``, which is the root of an MMR that commits that commits to many features of the chain's history, including all information present in ``hashFinalSaplingRoot``. + +The MMR that produces the root provides a number of benefits to light clients, and enables future specification of the FlyClient protocol [#FlyClient]_. This ZIP specifies only consensus-layer changes. It does not provide any specification about the FlyClient protocol's operation. + +Background +----------- + +An MMR is a Merkle tree which allows for efficient appends, proofs, and verifications. Informally, appending data to an MMR consists of creating a new leaf and then iteratively merging neighboring subtrees with the same size. This takes at most `log(n)` operations and only requires knowledge of the previous subtree roots, of which there are fewer than `log(n)`. + +(example adapted from [#mimblewimble]_) +To illustrate this, consider a list of 11 leaves. We first construct the biggest perfect binary subtrees possible by joining any balanced sibling trees that are the same size. We do this starting from the left to the right, adding a parent as soon as 2 children exist. This leaves us with three subtrees ("mountains") of heights 3, 1, and 0: + +.. code-block:: C + + /\ + / \ + /\ /\ + /\/\/\/\ /\ / + +Note that the first leftmost peak is always the highest. We can number this structure in order of insertion: + +.. code-block:: C + + Height + + 3 14 + / \ + / \ + / \ + / \ + 2 6 13 + / \ / \ + 1 2 5 9 12 17 + / \ / \ / \ / \ / \ / + 0 0 1 3 4 7 8 10 11 15 16 18 + +and represent this numbering in a flat list: + +.. code-block:: python + + Position 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 + Height 0 0 1 0 0 1 2 0 0 1 0 0 1 2 3 0 0 1 0 + +This allows us to easily jump to the right sibling of a node by adding ``2^(h+1) - 1`` to its position, and its left sibling by subtracting ``2^h``. This allows us to efficiently find the subtree roots ("peaks") of the mountains. + +Once we have the positions of the mountain peaks, we "bag" them using the following algorithm: + +1. add a peak connecting the 2 left-most peaks +2. repeat 1. until we have a single peak + +.. code-block:: C + + Height + + 5 20 + / \ + 4 19 \ + / \ \ + / \ \ + / \ \ + 3 14 \ \ + / \ \ \ + / \ \ \ + / \ \ \ + / \ \ \ + 2 6 13 \ \ + / \ / \ \ \ + 1 2 5 9 12 17 \ + / \ / \ / \ / \ / \ \ + 0 0 1 3 4 7 8 10 11 15 16 18 + +The MMR tree allow for efficient incremental set update operations (push, pop, prune). In addition, MMR update operations and Merkle proofs for recent additions to the leaf set are more efficient than other incremental Merkle tree implementations (e.g. Bitcoin's padded leafset, sparse Merkle trees, and ZCash's incremental note commitment trees). Motivation -========== -FlyClient reduces the number of block headers needed for light client verification of a valid chain, from linear (as in the current reference protocol) to logarithmic in blockchain length. This verification is correct with high probability. It also allows creation of subchain proofs, so light clients need only check blocks later than the most recently verified block index. Following that, verification of a transaction inclusion within that block follows the usual reference protocol [#ZIPXXX]_. +---------- +MMR proofs are used in the FlyClient protocol to reduce the proof size needed for light clients to verify + +- the validity of a blockchain received from a full node, and +- the inclusion of a block ``B`` in that chain, and +- certain metadata of any block or range of blocks in that chain + +The protocol requires that an MMR that commits to the inclusion of all blocks since the most recent network upgrade (``B_x, ..., B_(n-1))`` is formed for each block ``B_n``. The root ``M_n`` of the MMR MUST be included in the header of ``B_n``. + +(``x`` is the activation height of the most recent upgrade network upgrade) + +FlyClient reduces the number of block headers needed for light client verification of a valid chain, from linear (as in the current reference protocol) to logarithmic in blockchain length. This verification is correct with high probability. It also allows creation of subtree proofs, so light clients need only check blocks later than the most recently verified block index. Following that, verification of a transaction inclusion within that block follows the usual reference protocol [#ZIP-0307]_. + +A smaller proof size could enable the verification of Zcash SPV Proofs in blockchains such as Ethereum, enabling efficient cross-chain communication and pegs. It also reduces bandwidth and storage requirements for resource-limited clients like mobile or IoT devices. + + +Security and Privacy Considerations +------------------------------------ +This ZIP imposes an additional validation cost on new blocks. While this validation cost is small, it may exacerbate any existing DoS opportunities, particularly during abnormal events like long reorgs. Fortunately, these costs are logarithmic in the number of delete and append operations. In the worst case scenario, a well-resourced attacker could maintain 2 chains of approximately equal length, and alternate which chain they extend. This would result in repeated reorgs of increasing length. + +Given the performance of Blake2b, we expect this validation cost to be negligible. However, it seems prudent to benchmark potential MMR implementations during the implementation process. Should the validation cost be higher than expected, there are several potential mitigations, e.g. holding recently seen nodes in memory after a reorg. + +Generally, header commitments have no impact on privacy. However, FlyClient has additional security and privacy implications. Because FlyClient is a motivating factor for this ZIP, it seems prudent to include a brief overview. A more in-depth security analysis of FlyClient should be performed before designing a FlyClient-based light client ecosystem for ZCash. + +FlyClient, like all light clients, requires a connection to a light client server. That server may collect information about client requests, and may use that information to attempt to deanonymize clients. However, because FlyClient proofs are non-interactive and publicly verifiable, they could be shared among many light clients after the initial server interaction. + +FlyClient proofs are probabilistic. When properly constructed, there is negligible probability that a dishonest chain commitment will be accepted by the verifier. The security analysis assumes adversary mining power is bounded by a known fraction of combined mining power of honest nodes, and cannot drop or tamper with messages between client and full nodes. It also assumes the client is connected to at least one full node and knows the genesis block. However, these security properties have not been examined closely in chain models with rapidly-adjusting difficulty. -A smaller proof size could facilitate ‘side-chaining’ with other blockchains such as Ethereum. It also reduces bandwidth and storage requirements for limited clients like mobile or IoT devices. Specification -============= +-------------- +.. image:: https://i.imgur.com/hhRyI99.png + :alt: zcash_MMR -Probabilistic sampling -``````````````````````` -Instead of downloading every block header, the FlyClient samples blocks from the full node with the given sampling distribution. Here, x is the relative aggregate weight at the given block (e.g. if x=1/2 at some block, it means that half the chain's difficulty has been amassed in the interval up to that block), and δ is the fraction of the blocks which are always checked by the client with probability 1. +*Fig 1. MMR commitment scheme* -.. figure:: pdf.png - :align: center - :scale: 50 % - :figclass: align-center +The leaves of the MMR at block ``B_n`` are hash commitments to the header data and metadata of each previous block ``B_x, ..., B_(n-1)``, where ``x`` is the block height of the most recent network upgrade. We extend the standard MMR to allow metadata to propagate upwards through the tree by either summing the metadata of both children, or inheriting the metadata of a specific child as necessary. This allows us to create efficient proofs of selected properties of a range of blocks without transmitting the entire range of blocks or headers. + +Tree Node specification +~~~~~~~~~~~~~~~~~~~~~~~~ + +Unless otherwise noted, all hashes use BLAKE2b-256 with the personalization field set to ``'ZcashHistory' || CONSENSUS_BRANCH_ID``. ``CONSENSUS_BRANCH_ID`` is the little-endian encoding of ``BRANCH_ID`` for the epoch of the block containing the commitment. [#zip-0200]_ Which is to say, each node in the tree commits to the consensus branch that produced it. + +.. image:: https://i.imgur.com/9Ct2llE.png + :alt: zcash_MMR_hash + +*Fig 2. Hashing MMR leaf nodes and internal nodes* + +Each MMR node is defined as follows: + +1. ``hashSubtreeCommitment`` + +- If the node is a leaf node, then ``hashSubtreeCommitment`` is the consensus-defined block hash for the corresponding block. + + * This hash is encoded in internal byte order, and does NOT use the BLAKE2b-256 personalization string described above. + * For clarity, the ``hashSubtreeCommitment`` field of leaf ``n-1`` is *precisely equal* to the ``hashPrevBlock`` field of header ``n`` + +- If the node is an internal or root node + + * Both child nodes are serialized + * ``hashSubtreeCommitment`` is the BLAKE2b-256 hash of ``left_child || right_child`` + * For clarity, this digest uses the BLAKE2b-256 personalization string described above. +- serialized as ``char[32]`` + +2. ``nEarliestTimestamp`` + +- If the node is a leaf node + + * ``nEarliestTimestamp`` is the header's timestamp -It has been found that as long as log_c(δ) is constant, where c is the adversary's mining power as a fraction of the honest mining power, then the number of light client queries needed are logarithmic in the size of the blockchain [#FlyClient]_. - - -New block header -````````````````` -Each FlyClient prover has to maintain a commitment to all its block headers in a Merkle mountain range (MMR). This means that each ZCash block header must include the MMR root of all the blocks before it. This can be implemented in a hard fork of the ZCash protocol, in which the MMR root is added to the header of all old and new blocks. - -Merkle mountain range -`````````````````````` - -.. figure:: MMR.png - :align: center - :figclass: align-center - - Schematic of Merkle mountain range (from [#FlyClient]_). +- If the node is an internal or root node -The MMR structure allows for subchain proofs. Consider a client who has already received a verified a proof for a chain of n blocks. When it later receives k new blocks, it need only verify that the new section of length k is honest, as well as that the old chain is a prefix of the new chain. + * ``nEarliestTimestamp`` is inherited from the left child + +- serialized as ``nTime`` (uint32) -.. figure:: MMRWeight.png - :align: center - :figclass: align-center +3. ``nLatestTimestamp`` -Besides the block hash (or the hash of its children nodes), each MMR node contains an additional field of 8 bytes to store the cumulative difficulty of the nodes below it. +- If the node is a leaf node -Verifier -````````` -**Verifying a valid chain**: the hash of the block B_n at the head of the chain specifies a random subset of blocks to sample. If the PoW solution or the MMR proofs of any of the sampled blocks is invalid, then the verifier rejects the proof. Otherwise, it accepts B_n as the last block of the honest chain. + * ``nLatestTimestamp`` is the header's timestamp + +- If the node is an internal or root node + * ``nLatestTimestamp`` is inherited from the right child + +- Note that due to timestamp consensus rules, ``nLatestTimestamp`` may be smaller than ``nEarliestTimestamp`` in some subtrees. This may occur within subtrees smaller than ``PoWMedianBlockSpan`` blocks. +- serialized as ``nTime`` (uint32) + +4. ``nEarliestTarget`` -**Verifying a block in the valid chain**: For a single block B_k in a chain committed to by a block B_n, the prover provides the corresponding block header and an MMR proof that B_k is located at the correct height of the chain committed by B_n. The verifier checks that the MMR root stored in each sampled block correctly commits to the correct subchain of the chain committed to in B_n. +- If the node is a leaf node -**Verifying transaction inclusion in the block**: To ensure that tx is included in the block, we can follow the existing ZCash light client reference specification [#ZIPXXX]_. + * ``nEarliestTarget`` is the header's ``nBits`` field + +- If the node is an internal or root node + * ``nEarliestTarget`` is inherited from the left child + +- serialized as ``nBits`` (uint32) + +5. ``nLatestTarget`` + +- If the node is a leaf node + + * ``nLatestTarget`` is the header's ``nBits`` field + +- If the node is an internal or root node + * ``nLatestTarget`` is inherited from the right child + +- serialized as ``nBits`` (uint32) + +6. ``hashEarliestSaplingRoot`` + +- If the node is a leaf node + + * ``hashEarliestSaplingRoot`` is calculated as ``hashFinalSaplingRoot``, as implemented in Sapling + +- If the node is an internal or root node + + * ``hashEarliestSaplingRoot`` is inherited from the left child + +- serialized as ``char[32]`` + +7. ``hashLatestSaplingRoot`` + +- If the node is a leaf node + + * ``hashLatestSaplingRoot`` is calculated as ``hashFinalSaplingRoot``, as implemented in Sapling + +- If the node is an internal or root node + + * ``hashLatestSaplingRoot`` is inherited from the right child + +- serialized as ``char[32]`` + +8. ``nEarliestHeight`` + +- If the node is a leaf node + + * ``nEarliestHeight`` is the header's height + +- If the node is an internal or root node + * ``nEarliestHeight`` is inherited from the left child + +- serialized as ``CompactSize uint`` + +9. ``nLatestHeight`` + +- If the node is a leaf node + + * ``nLatestHeight`` the header's height + +- If the node is an internal or root node + + * ``nLatestHeight`` is inherited from the right child + * serialized as ``CompactSize uint`` + +10. ``nSubTreeTotalWork`` + +- If the node is a leaf node + + * ``nSubTreeTotalWork`` is the protocol-defined work of the block: `floor(2 ** 256 / (toTarget(nBits) + 1))`. + +- If the node is an internal or root node + + * ``nSubTreeTotalWork`` is the sum of the ``nSubTreeTotalWork`` fields of both children + +- serialized as ``CompactSize uint`` + +11. ``nShieldedTxCount`` + +- If the node is a leaf node + + * ``nShieldedTxCount`` is the number of transactions in the leaf block where any of ``vJoinSplit``, ``vShieldedSpend``, or `vShieldedOutput` is non-empty + +- If the node is an internal or root node + + * ``nShieldedTxCount`` is the sum of the ``nShieldedTxCount`` field of both children + +- serialized as ``CompactSize uint`` + +Each node, when serialized, is between 132 and 164 bytes long. The canonical serialized representation of a node is used whenever creating child commitments for future nodes. Other than the metadata commitments, the MMR tree's construction is standard. + +Once the MMR has been generated, we produce ``hashChainHistoryRoot``, which we define as the BLAKE2b-256 digest of the serialization of the root node. + + +Tree nodes and hashing (pseudocode) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code-block:: python + + CONSENSUS_BRANCH_ID: bytes = b'' + + + def H(msg: bytes) -> bytes: + return blake2b256(msg, personalization=b'ZcashHistory' + CONSENSUS_BRANCH_ID) + + class ZcashMMRNode(): + # leaf nodes have no children + left_child: 'Optional[ZcashMMRNode]' + right_child: 'Optional[ZcashMMRNode]' + + # commitments + subtree_commitment: bytes + start_time: int + end_time: int + start_target: int + end_target: int + start_sapling_root: bytes # left child's sapling root + end_sapling_root: bytes # right child's sapling root + start_height: int + end_height: int + subtree_total_work: int # total difficulty accumulated within each subtree + count_shielded_txs: int # number of shielded transactions in block + + @classmethod + def from_block(Z, block: ZcashBlock) -> 'ZcashMMRNode': + '''Create a leaf node from a block''' + return Z( + left_child=None, + right_child=None, + subtree_commitment=block.header_hash, + start_time=block.timestamp, + end_time=block.timestamp, + start_target=block.nBits, + end_target=block.nBits, + start_sapling_root=block.sapling_root, + end_sapling_root=block.sapling_root, + start_height=block.height, + end_height=block.height, + subtree_total_work=calculate_work(block.nBits), + count_shielded_txs=block_shielded_tx_count) + + def serialize(self) -> bytes: + '''serializes a node''' + return ( + self.subtree_commitment + + serialize_uint32(self.start_time) + + serialize_uint32(self.end_time) + + serialize_uint32(self.start_target) + + serialize_uint32(self.end_target) + + start_sapling_root + + end_sapling_root + + serialize_compact_uint(self.start_height) + + serialize_compact_uint(self.end_height) + + serialize_compact_uint(self.subtree_total_work) + + serialize_compact_uint(self.count_shielded_txs)) + + + def make_parent( + left_child: ZcashMMRNode, + right_child: ZcashMMRNode) -> ZcashMMRNode: + return ZcashMMRNode( + left_child=left_child, + right_child=right_child, + subtree_commitment=H(left_child.serialize() + right_child.serialize()), + start_time=left_child.start_time, + end_time=right_child.end_time, + start_target=left_child.start_target, + end_target=left_child.end_target, + start_sapling_root=left_child.sapling_root, + end_sapling_root=right_child.sapling_root, + start_height=left_child.start_height, + end_height=right_child.end_height, + subtree_total_work=left_child.subtree_total_work + right_child.subtree_total_work, + count_shielded_txs=left_child.count_shield + right_child.count_shield) + + def make_root_commitment(root: ZcashMMRNode) -> bytes: + '''Makes the root commitment for a blockheader''' + return H(root.serialize()) + +Incremental push and pop (pseudocode) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +With each new block ``B_n``, we append a new MMR leaf node corresponding to block ``B_(n-1)``. The ``append`` operation is detailed below in pseudocode (adapted from [#FlyClient]_): + +.. code-block:: python + + def append(root: ZcashMMRNode, leaf: ZcashMMRNode) -> ZcashMMRNode: + '''Recursive function to append a new leaf node to an existing MMR''' + + # find the number of leaves in the subtree + n_leaves = root.latest_height - root.earliest_height + 1 + + # if the subtree under this root has power of 2 no. of leaves + # then we append the leaf to the current root + if !(n_leaves & (n_leaves - 1)): + new_subtree_root = make_parent(root, leaf) + return new_subtree_root + + # otherwise, we append the leaf to the right subtree + # note that this recursive call will naturally merge balanced subtrees after it appends the leaf + else: + new_right_child = append(root.right_child, leaf); + new_subtree_root = make_parent(root.left_child, new_right_child) + return new_subtree_root + +In case of a block reorg, we have to delete the latest (i.e. rightmost) MMR leaf nodes, up to the reorg length. This operation is ``O(log(k))`` where ``k`` is the number of leaves in the right subtree of the MMR root. + +.. code-block:: python + + def delete(root: ZcashMMRNode) -> ZcashMMRNode: + ''' + Delete the rightmost leaf node from an existing MMR + Return the new tree root + ''' + + n_leaves = root.latest_height - root.earliest_height + 1 + # if there were an odd number of leaves, + # simply replace root with left_child + if n_leaves & 1: + return root.left_child + + # otherwise, we need to re-bag the peaks. + else: + # first peak + peaks = [root.left_child] + + # we do this traversing the right (unbalanced) side of the tree + # we keep the left side (balanced subtree or leaf) of each subtree + # until we reach a leaf + subtree_root = root.right_child + while subtree_root.left_child: + peaks.push(tmp_root.left_child) + subtree_root = tmp_root.right_child + + new_root = bag_peaks(peaks) + return new_root + + def bag_peaks(peaks: List[ZcashMMRNode]) -> ZcashMMRNode: + ''' + "Bag" a list of peaks, and return the final root + ''' + root = peaks[0] + for i in range(1, len(peaks)): + root = make_parent(root, peaks[i]) + return root + +Header modifications specification +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This ZIP introduces a new header version. It is identical to the current v4 header [#zcashBlock]_, except for the following changes: + +1. The version number is changed to `5`. +2. ``hashSaplingFinalRoot`` is replaced by ``hashChainHistoryRoot``, as described above. + +The new block header format is: + +.. code-block:: C + + class CBlockHeader + { + public: + // header + static const size_t HEADER_SIZE=4+32+32+32+4+4+32; // excluding Equihash solution + static const int32_t CURRENT_VERSION=5; + int32_t nVersion; + uint256 hashPrevBlock; + uint256 hashMerkleRoot; + uint256 hashChainHistoryRoot; + uint32_t nTime; + uint32_t nBits; + uint256 nNonce; + std::vector nSolution; + ... + } Rationale -========= -Unlike previous skip list SPVs (PoPoW, NIPoPoW), the FlyClient protocol allows for variable block difficulty, which is appropriate for ZCash's variable difficulty [#difficulty]_. FlyClient also avoids bribing attacks since the selection of blocks on its skip list is random and not rule-based. +----------- -Security and privacy considerations -=================================== -This protocol is probabilistic, meaning there is a negligible probability that an invalid chain can be verified. Assumes adversary mining power is bounded by a known fraction of combined mining power of honest nodes, and cannot drop or tamper with messages between client and full nodes. Assume client is connected to at least one full node and knows the genesis block. +Tree nodes +~~~~~~~~~~~ + +Nodes in the commitment tree are canonical and immutable. They are cheap to generate, as (with the exception of ``nShieldedTxCount`` and ``nSubTreeTotalWork``) all metadata is already generated during block construction and checked during block validation. Nodes are relatively compact in memory. Approximately 140,000 blocks have elapsed since Sapling activation. Assuming a 164 byte commitment to each of these, we would have generated approximately 23 MB of additional storage cost for the set of leaf nodes (and an additional ~23 MB for storage of intermediate nodes). + +``hashSubtreeCommitment`` forms the strucuture of the commitment tree. Other metadata commitments were chosen to serve specific purposes. Variable-length commitments are placed last, so that most metadata in a node can be directly indexed. We considered using fixed-length commitments here, but opted for variable-length, in order to marginally reduce the memory requirements for managing and updating the commitment trees. + +In leaf nodes, some information is repeated. We chose to do this so that leaf nodes could be treated identically to internal and root nodes for all algorithms and (de)serializers. Leaf nodes are easily identifiable, as they will show proof of work in the ``hashSubtreeCommitment`` field, and their block range (calculated as ``nLatestHeight - nEarliestHeight + 1``) will be precisely 1. For the same reason, we change the semantics of ``hashSubtreeCommitment`` in leaf nodes to commit + +Personalized BLAKE2b-256 was selected to match existing ZCash conventions. Adding the consensus branch ID to the hash personalization string ensures that valid nodes from one branch cannot be used to make false statements about parallel consensus branches. + +FlyClient Requirements and Recommendations +=============================================== +These commitments enable FlyClient in the variable-difficulty model. Specifically, they allow light clients to reason about application of the difficulty adjustment algorithm over a range of blocks. They were chosen via discussion with an author of the FlyClient paper. + +- ``nEarliestTimestamp`` +- ``nLatestTimestamp`` +- ``nEarliestTarget`` +- ``nLatestTarget`` +- ``nEarliestHeight`` +- ``nLatestHeight`` +- ``nSubTreeTotalWork`` + +Non-FlyClient Commitments +========================== + +Additional metadata commitments were chosen primarily to improve light client security guarantees. We specified commitments where we could see an obvious security benefit, but there may be other useful metadata that we missed. We're interested in feedback and suggestions from the implementers of the current light client. + +We considered adding a commitment to the nullifier vector at each block. We would appreciate comments from light client teams on the utility of this commitment, as well as the proper serialization and commitment format for the nullifier vector. + +- ``hashEarliestSaplingRoot`` + + * Committing to the earliest Sapling root of a range of blocks allows light clients to check the consistency of treestate transitions over a range of blocks, without recalculating the root from genesis. + +- ``hashLatestSaplingRoot`` + + * This commitment serves the same purpose as ``hashFinalSaplingRoot`` in current Sapling semantics. + * However, because the MMR tree commits to blocks ``B_x ... B_(n-1)``, the latest commitment will descrie the final treestate of the previous block, rather than the current block. + * Concretely: block 500 currently commits to the final treestate of block 500 in its header. With this ZIP, block 500 will commit to all roots up to block 499, but not the final root of block 500. + * We feel this is an acceptable tradeoff. Using the most recent treestate as a transaction anchor is already unsafe in reorgs. Clients should never use the most recent treestate to generate transactions, so it is acceptable to delay commitment by one block. + +- ``nShieldedTxCount`` + + * By committing to the number of shielded transactions in blocks (and ranges of blocks), a light client may reliably learn whether a malicious server is witholding any shielded transactions. + * In addition, this commitment allows light clients to avoid syncing header ranges that do not contain shielded transactions. As the primary cost of a light client is transmission of equihash solution information in block headers, this optimization would significantly decrease the bandwidth requirements of light clients. + +Header Format Change +~~~~~~~~~~~~~~~~~~~~~~ + +Our primary goal was to minimize header changes. The version number is incremented to signify the change in field semantics. This is not strictly necessary. Old light client parsers will generally not reject the new header semantics and we expect full nodes to follow the network upgrade. It may be the case that mining related hardware or software has (unwisely) hardcoded the version to 4. In which case, we would recommend not changing the header version number. + +We considered adding ``hashChainHistoryRoot`` to the header as a new field. We decided against that, as it will inherently affect more of the ecosystem. As stated earlier, we would prefer not to introduce changes that could affect mining hardware or embedded software. + +We also considered putting ``hashChainHistoryRoot`` in the ``hashPrevBlock`` field as it commits to the entire chain history, but quickly realized it would require massive refactoring of the existing code base and would negatively impact performance. Reorgs in particular are fragile, performance-critical, and rely on backwards iteration over the chain history. If a chain were to be designed from scratch there may be some efficient implementation that would join these commitments, but it is clearly not appropriate for ZCash as it exists. -Reference implementation -======================== -A Proof-of-Concept Python implementation has been tested by the FlyClient authors. It assumed a block header of size 508 bytes and a hash output of 32 bytes. [is there a FlyClient repository?] +Additional Reading +------------------- + +- `Bitcoin difficulty calculation `_ +- `Flyclient enabled geth fork by FlyClient authors `_ +- `ECIP-1055: Succinct PoW Using Merkle Mountain Ranges `_ +- `Grin project MMR implementation in Rust `_ +- `Tari Project MMR implementation in Rust `_ +- `Beam Project MMR implementation in C++ `_ +- `Mimblewimble MMR docs `_ +- `MMR Python implementation `_ +- `Tari MMR documentation `_ +- `Zcash Protocol Specification, Version 2018.0-beta-37 [Overwinter+Sapling] `_ +- `opentimestamps-server Merkle Mountain Range documentation `_ References -========== -.. [#RFC2119] `Key words for use in RFCs to Indicate Requirement Levels ` +----------- -.. [#FlyClient] `FlyClient protocol (2019) ` - -.. [#ZIPXXX] `ZCash reference light client protocol ` - -.. [#PeterTodd] _`Merkle Mountain Range ` - -.. [#difficulty] `ZCash historical block difficulty ` +.. [#RFC2119] `Key words for use in RFCs to Indicate Requirement Levels `_ +.. [#zip-0200] `ZIP 200: Network Upgrade Mechanism `_ +.. [#zcashBlock] `zCash block primitive `_ +.. [#ZIP-0307] `ZCash reference light client protocol `_ +.. [#mimblewimble] `MimbleWimble Grin MMR implementation `_ +.. [#FlyClient] `FlyClient protocol `_ \ No newline at end of file