From 2ae31ccdb7bf30e677564780dc08bc18c90cb854 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Sun, 28 Feb 2021 02:19:37 +0000 Subject: [PATCH] ZIP 224: Minor fixes --- zip-0224.html | 8 ++++---- zip-0224.rst | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/zip-0224.html b/zip-0224.html index d9946805..863380d0 100644 --- a/zip-0224.html +++ b/zip-0224.html @@ -146,17 +146,17 @@ Discussions-To: <https://g

The remainder of the changes we make relative to Sapling are motivated by simplifying the Sapling protocol (and fixing deficiencies), and using protocol primitives that are more efficient in the UltraPLONK arithmetization.

Security and Privacy Considerations

-

This ZIP defines a new shielded pool. As with Sapling, the Orchard protocol only supports spending Orchard notes, and moving ZEC into or out of the Orchard pool happens via an Orchard-specific - \(\mathsf{valueBalance}\) +

This ZIP defines a new shielded pool. As with Sapling, the Orchard protocol only supports spending Orchard notes, and moving ZEC into or out of the Orchard pool happens via the + \(\mathsf{valueBalanceOrchard}\) transaction field. This has the following considerations:

diff --git a/zip-0224.rst b/zip-0224.rst index fd756445..d3cde133 100644 --- a/zip-0224.rst +++ b/zip-0224.rst @@ -194,26 +194,26 @@ Security and Privacy Considerations =================================== This ZIP defines a new shielded pool. As with Sapling, the Orchard protocol only supports -spending Orchard notes, and moving ZEC into or out of the Orchard pool happens via an -Orchard-specific :math:`\mathsf{valueBalance}` transaction field. This has the following +spending Orchard notes, and moving ZEC into or out of the Orchard pool happens via the +:math:`\mathsf{valueBalanceOrchard}` transaction field. This has the following considerations: - The Orchard pool forms a separate anonymity set from the Sprout and Sapling pools. The new pool will start with zero notes (as Sapling did at its deployment), but transactions within Orchard will increase the size of the anonymity set more rapidly than Sapling, due to the arity-hiding nature of Orchard actions. -- The "transparent turnstile" created by the :math:`\mathsf{valueBalance}` field, combined - with the consensus checks that each pool's balance cannot be negative, together enforce - that any potential counterfeiting bugs in the Orchard protocol or implementation are - contained within the Orchard pool, and similarly any potential counterfeiting bugs in - existing shielded pools cannot cause inflation of the Orchard pool. +- The "transparent turnstile" created by the :math:`\mathsf{valueBalanceOrchard}` field, + combined with the consensus checks that each pool's balance cannot be negative, together + enforce that any potential counterfeiting bugs in the Orchard protocol or implementation + are contained within the Orchard pool, and similarly any potential counterfeiting bugs + in existing shielded pools cannot cause inflation of the Orchard pool. - Spending funds residing in the Orchard pool to a non-Orchard address will reveal the value of the transaction. This is a necessary side-effect of the transparent turnstile, but can be mitigated by migrating the majority of shielded activity to the Orchard pool and making these transactions a minority. Wallets should convey within their transaction creation UX that amounts are revealed in these situations. - - Wallets should take steps to migrate their userbases to store funds uniformly within + - Wallets should take steps to migrate their user bases to store funds uniformly within the Orchard pool. Best practices for wallet handling of multiple pools will be covered in a subsequent ZIP. [#zip-0315]_