Separate out logical action contributions of each protocol for clarity.

Co-authored-by: Zancas <zancas@zingolabs.org>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
This commit is contained in:
zancas 2023-09-07 13:46:01 -06:00 committed by Daira-Emma Hopwood
parent 7064e8229a
commit 1d0c4ab09b
2 changed files with 24 additions and 12 deletions

View File

@ -118,12 +118,18 @@ Pull-Request: &lt;<a href="https://github.com/zcash/zips/pull/631">https://githu
</table>
<p>Wallets implementing this specification SHOULD use a conventional fee calculated in zatoshis per the following formula:</p>
<div class="math">\(\begin{array}{rcl}
logical\_actions &amp;=&amp; \mathsf{max}\big(\mathsf{ceiling}\big(\frac{tx\_in\_total\_size}{p2pkh\_standard\_input\_size}\big),
\mathsf{ceiling}\big(\frac{tx\_out\_total\_size}{p2pkh\_standard\_output\_size}\big)\big) \;+ \\
&amp; &amp; 2 \cdot nJoinSplit \;+ \\
&amp; &amp; \mathsf{max}(nSpendsSapling, nOutputsSapling) \;+ \\
&amp; &amp; nActionsOrchard \\
conventional\_fee &amp;=&amp; marginal\_fee \cdot \mathsf{max}(grace\_actions, logical\_actions)
contribution_{\,\mathsf{Transparent}} &amp;=&amp;
\mathsf{max}\big(\mathsf{ceiling}\big(\frac{tx\_in\_total\_size}{p2pkh\_standard\_input\_size}\big),\,
\mathsf{ceiling}\big(\frac{tx\_out\_total\_size}{p2pkh\_standard\_output\_size}\big)\big) \\
contribution_{\,\rlap{\mathsf{Sprout}}\phantom{\mathsf{Transparent}}} &amp;=&amp; 2 \cdot nJoinSplit \\
contribution_{\,\rlap{\mathsf{Sapling}}\phantom{\mathsf{Transparent}}} &amp;=&amp; \mathsf{max}(nSpendsSapling,\, nOutputsSapling) \\
contribution_{\,\rlap{\mathsf{Orchard}}\phantom{\mathsf{Transparent}}} &amp;=&amp; nActionsOrchard \\
\\
logical\_actions &amp;=&amp; contribution_{\,\mathsf{Transparent}} +
contribution_{\,\mathsf{Sprout}} +
contribution_{\,\mathsf{Sapling}} +
contribution_{\,\mathsf{Orchard}} \\
conventional\_fee &amp;=&amp; marginal\_fee \cdot \mathsf{max}(grace\_actions,\, logical\_actions)
\end{array}\)</div>
<p>The inputs to this formula are taken from transaction fields defined in the Zcash protocol specification <a id="footnote-reference-4" class="footnote_reference" href="#protocol-txnencoding">3</a>:</p>
<table>

View File

@ -113,12 +113,18 @@ calculated in zatoshis per the following formula:
.. math::
\begin{array}{rcl}
logical\_actions &=& \mathsf{max}\big(\mathsf{ceiling}\big(\frac{tx\_in\_total\_size}{p2pkh\_standard\_input\_size}\big),
\mathsf{ceiling}\big(\frac{tx\_out\_total\_size}{p2pkh\_standard\_output\_size}\big)\big) \;+ \\
& & 2 \cdot nJoinSplit \;+ \\
& & \mathsf{max}(nSpendsSapling, nOutputsSapling) \;+ \\
& & nActionsOrchard \\
conventional\_fee &=& marginal\_fee \cdot \mathsf{max}(grace\_actions, logical\_actions)
contribution_{\,\mathsf{Transparent}} &=&
\mathsf{max}\big(\mathsf{ceiling}\big(\frac{tx\_in\_total\_size}{p2pkh\_standard\_input\_size}\big),\,
\mathsf{ceiling}\big(\frac{tx\_out\_total\_size}{p2pkh\_standard\_output\_size}\big)\big) \\
contribution_{\,\rlap{\mathsf{Sprout}}\phantom{\mathsf{Transparent}}} &=& 2 \cdot nJoinSplit \\
contribution_{\,\rlap{\mathsf{Sapling}}\phantom{\mathsf{Transparent}}} &=& \mathsf{max}(nSpendsSapling,\, nOutputsSapling) \\
contribution_{\,\rlap{\mathsf{Orchard}}\phantom{\mathsf{Transparent}}} &=& nActionsOrchard \\
\\
logical\_actions &=& contribution_{\,\mathsf{Transparent}} +
contribution_{\,\mathsf{Sprout}} +
contribution_{\,\mathsf{Sapling}} +
contribution_{\,\mathsf{Orchard}} \\
conventional\_fee &=& marginal\_fee \cdot \mathsf{max}(grace\_actions,\, logical\_actions)
\end{array}
The inputs to this formula are taken from transaction fields defined in the Zcash protocol