diff --git a/zip-0317.rst b/zip-0317.rst index 23441726..98597961 100644 --- a/zip-0317.rst +++ b/zip-0317.rst @@ -20,8 +20,8 @@ Terminology =========== -The key word "SHOULD" in this document is to be interpreted as described in -RFC 2119. [#RFC2119]_ +The key words "SHOULD" and "SHOULD NOT" in this document are to be interpreted +as described in RFC 2119. [#RFC2119]_ The term "conventional transaction fee" in this document is in reference to the value of a transaction fee that is conventionally used by wallets, @@ -36,7 +36,8 @@ Abstract ======== The goal of this ZIP is to change the conventional fees for transactions -and get buy-in from wallet developers, miners, and Zcash users. +by making them dependent on the number of inputs and outputs in a transaction, +and to get buy-in for this change from wallet developers, miners and Zcash users. Motivation @@ -231,6 +232,12 @@ previously used the conventional transaction fee defined in ZIP 313 to decide on transaction inclusion, it is expected to instead use the formula specified in this ZIP. +Miners have an incentive to make this change because: + +* it will tend to increase the fees they are due; +* fees will act as a damping factor on the time needed to process blocks, + and therefore on orphan rate. + Security and Privacy considerations =================================== @@ -270,12 +277,15 @@ Wallets SHOULD deploy these changes immediately. Nodes SHOULD deploy the change to the :math:`low\_fee\_penalty` threshold described in `Mempool size limiting`_ immediately. -Nodes can deploy restrictions to their policies for relaying, mempool -acceptance, and/or mining once a sufficient proportion of wallets in the -ecosystem are observed to be paying at least the updated conventional -transaction fee. Node developers SHOULD coordinate on deployment -schedule. +Miners can deploy restrictions to their policies for transaction inclusion, +once a sufficient proportion of wallets in the ecosystem are observed to +be paying at least the updated conventional transaction fee. +Node developers SHOULD coordinate on schedules for deploying restrictions +to their policies for transaction mempool acceptance and peer-to-peer +relaying. These policy changes SHOULD NOT be deployed before the changes +to transaction inclusion policy by miners described in the preceding +paragraph. Considered Alternatives @@ -283,6 +293,10 @@ Considered Alternatives This section describes alternative proposals that have not been adopted. +In previous iterations of this specification, the marginal fee was multiplied +by the sum of inputs and outputs. This means that the alternatives given +below are roughly half of what they would be under the current formula. + Possible alternatives for the parameters: * marginal_fee = 250 in @nuttycom's proposal. @@ -306,8 +320,9 @@ updated fee mechanism: *Developer Groups or Sole OSS contributors* -* Zecwallet Suite (Zecwallet Lite for Desktop/iOS/Android & Zecwallet FullNode) -* Nighthawk Wallet for Android & iOS +.. + * Zecwallet Suite (Zecwallet Lite for Desktop/iOS/Android & Zecwallet FullNode) + * Nighthawk Wallet for Android & iOS To express and request your support to be added to this ZIP please comment below indicating: @@ -318,9 +333,9 @@ below indicating: or, conversely e-mail the same details to the Owner of the ZIP. -> TODO: Endorsements may depend on specific parameter choices. The ZIP -> Editors should ensure that the endorsements are accurate before merging -> this ZIP. +TODO: Endorsements may depend on specific parameter choices. The ZIP +Editors should ensure that the endorsements are accurate before merging +this ZIP. Acknowledgements