mirror of https://github.com/zcash/zips.git
Rename zip-reduce-shielded_tx_fee.rst to zip-0313.rst .
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
parent
0aa739fd43
commit
3a2adec658
156
zip-0313.rst
156
zip-0313.rst
|
@ -1,8 +1,156 @@
|
|||
::
|
||||
|
||||
ZIP: 313
|
||||
Title: Reduce Default Transaction Fee
|
||||
Status: Reserved
|
||||
Title: Reduce Default Transaction Fee to 1000 zatoshis
|
||||
Owners: Aditya Bharadwaj <nighthawkwallet@protonmail.com>
|
||||
Status: Proposed
|
||||
Community Status: Request for comments : https://forum.zcashcommunity.com/t/zip-reduce-default-shielded-transaction-fee-to-1000-zats/37566
|
||||
Category: Wallet
|
||||
Pull-Request: <https://github.com/zcash/zips/pull/408>
|
||||
Discussions-To: <https://forum.zcashcommunity.com/t/zip-reduce-default-shielded-transaction-fee-to-1000-zats/37566/41>
|
||||
Created: 2020-10-11
|
||||
License: MIT
|
||||
|
||||
|
||||
Terminology
|
||||
===========
|
||||
|
||||
The key words "MUST" and "SHOULD" 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,
|
||||
and that a user can reasonably expect miners on the Zcash network to accept
|
||||
for including a transaction in a block.
|
||||
|
||||
|
||||
Abstract
|
||||
========
|
||||
|
||||
The goal of this ZIP is to gather wallet developers, miners & Zcash users
|
||||
for social consensus on reducing the conventional transaction fees and
|
||||
to get the Zcash conventional transaction fee reduced from 10,000 zatoshis
|
||||
to 1,000 zatoshis.
|
||||
|
||||
In addition, this specification harmonizes transaction fees between different
|
||||
kinds of transaction (involving shielded addresses, transparent addresses, or
|
||||
both), as proposed in [#ecosystem-wide-tx-fee]_.
|
||||
|
||||
|
||||
Motivation
|
||||
==========
|
||||
|
||||
The default transaction fee presently is 0.0001 ZEC or 10,000 zatoshis.
|
||||
At a ZEC market price of USD 100, for example, a user can send 10,000
|
||||
transactions for 1 ZEC. This works out to 1 U.S. cent per transaction and
|
||||
it rises with any increase in the price of ZEC.
|
||||
|
||||
With increase in light wallet adoptions on mobile clients, many users
|
||||
will be new to the Zcash eco-system. And the fact that the
|
||||
transaction fees are paid by the sender (not the receiver) is
|
||||
new information to users who might use Zcash for e-commerce
|
||||
and app interactions that might result in several transactions each day.
|
||||
|
||||
Privacy must not cost a premium. The cost of 10 shielded transactions
|
||||
buys 1GB of mobile data `in India today <https://www.cable.co.uk/mobiles/worldwide-data-pricing/>`.
|
||||
|
||||
Zcash users must be able to do more with their ZEC balance
|
||||
than worry about paying the premium for shielded transactions.
|
||||
|
||||
With reduced fees, it will be cheaper to transact on the Zcash network,
|
||||
while also inviting novel use cases for privacy-preserving applications
|
||||
that would benefit from the privacy, security, and programmable money
|
||||
aspects of the Zcash chain.
|
||||
|
||||
The harmonization of fees between different kinds of transaction can be
|
||||
expected to improve usability, consistency, and predictability.
|
||||
|
||||
Requirements for adoption
|
||||
-------------------------
|
||||
|
||||
The change to the conventional transaction fees should be undertaken soon
|
||||
as it gets difficult to gain consensus with the growth in the network
|
||||
of wallets, exchanges, miners and third parties involved.
|
||||
|
||||
The following parties need to be part of the consensus:
|
||||
|
||||
* Support from mining groups is required to include the lowered default fee transactions in the next block.
|
||||
* Wallet developers need to provide commitment to update the software to use the new fee.
|
||||
* Zcash documentation and community outreach must be undertaken to make the change known.
|
||||
|
||||
|
||||
Security and privacy considerations
|
||||
-----------------------------------
|
||||
|
||||
Unique transaction fees may reveal specific users or wallets or wallet versions,
|
||||
which would reduce privacy for those specific users and the rest of the network.
|
||||
Hence this change should be accepted by a majority of shielded transaction
|
||||
software providers before deploying the change.
|
||||
|
||||
Varying/unique fees are bad for privacy. For the short term before blocks get full,
|
||||
it is fine for everyone to use a constant fee, as long as it is enough to compensate
|
||||
miners for including the transaction. [#nathan-1]_
|
||||
|
||||
Long term, the issue of fees needs to be re-visited in separate future proposals as the
|
||||
blocks start getting consistently full. New ZIPs with flexible fees, such as [#ian-1]_,
|
||||
along with scaling solutions need to be evaluated and applied.
|
||||
|
||||
Denial Of Service Vulnerability
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A transaction-rate-based denial of service attack occurs when an attacker generates enough transactions over a window of time to prevent legitimate transactions from being mined, or to hinder syncing blocks for full nodes or miners.
|
||||
|
||||
There are two primary protections to this kind of attack in Zcash: the block size limit, and
|
||||
transaction fees. The block size limit ensures that full nodes and miners can keep up with
|
||||
the block chain even if blocks are completely full. However, users sending legitimate
|
||||
transactions may not have their transactions confirmed in a timely manner.
|
||||
|
||||
Variable fees could mitigate this kind of denial of service: if there are more
|
||||
transactions available than can fit into a single block, then a miner will typically
|
||||
choose the transactions that pay the highest fees. If legitimate wallets were to
|
||||
increase their fees during this condition, the attacker would also increase the
|
||||
fees of their transactions. It is sometimes argued that this would impose a cost
|
||||
to the attacker that would limit the time window they can continue the attack.
|
||||
However, there is little evidence that the actual costs involved would be a sufficient
|
||||
disincentive.
|
||||
|
||||
This proposal does not alter how fees are paid from transactions to miners. However,
|
||||
it does establish a fixed flat fee that wallets are expected to use. Therefore during a
|
||||
transaction rate denial-of-service attack, legitimate fees from those wallets will not
|
||||
rise, so an attacker can extend an attack for a longer window for the same cost.
|
||||
|
||||
This ZIP does not address this concern. A future ZIP should address this issue.
|
||||
Wallet developers and operators should monitor the Zcash network for rapid growth
|
||||
in transaction rates.
|
||||
|
||||
|
||||
Activation
|
||||
==========
|
||||
|
||||
Wallets implementing this specification will use a default fee of 0.00001 ZEC
|
||||
(1000 zatoshis) from block 1,080,000.
|
||||
|
||||
|
||||
Support
|
||||
=======
|
||||
|
||||
The developers of the following wallets intend to implement the reduced fees:
|
||||
* Zbay;
|
||||
* Zecwallet Suite (Zecwallet Lite for Desktop/iOS/Android & Zecwallet FullNode);
|
||||
* Nighthawk Wallet for Android & iOS;
|
||||
* zcashd built-in wallet.
|
||||
|
||||
|
||||
Acknowledgements
|
||||
================
|
||||
|
||||
Thanks to Nathan Wilcox for suggesting improvements to the denial of service section.
|
||||
Thanks to Daira Hopwood for reviewing and fixing the wording in this ZIP.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [#RFC2119] `Key words for use in RFCs to Indicate Requirement Levels <https://www.rfc-editor.org/rfc/rfc2119.html>`_
|
||||
.. [#nathan-1] `Conventional Shielded Fees <https://forum.zcashcommunity.com/t/zip-reduce-default-shielded-transaction-fee-to-1000-zats/37566/40>`_
|
||||
.. [#ian-1] `Ian Miers. Mechanism for fee suggester/oracle <https://forum.zcashcommunity.com/t/zip-reduce-default-shielded-transaction-fee-to-1000-zats/37566/31>`_
|
||||
.. [#zooko-1] `Zooko Wilcox. Tweet on reducing tx fees <https://twitter.com/zooko/status/1295032258282156034?s=20>`_
|
||||
.. [#zooko-2] `Zooko Wilcox. Tweet on sharing tx fee with wallet developer <https://twitter.com/zooko/status/1295032621294956545?s=20>`_
|
||||
|
|
|
@ -1,156 +0,0 @@
|
|||
::
|
||||
|
||||
ZIP: 313
|
||||
Title: Reduce Default Transaction Fee to 1000 zatoshis
|
||||
Owners: Aditya Bharadwaj <nighthawkwallet@protonmail.com>
|
||||
Status: Proposed
|
||||
Community Status: Request for comments : https://forum.zcashcommunity.com/t/zip-reduce-default-shielded-transaction-fee-to-1000-zats/37566
|
||||
Category: Wallet
|
||||
Created: 2020-10-11
|
||||
License: MIT
|
||||
|
||||
|
||||
Terminology
|
||||
===========
|
||||
|
||||
The key words "MUST" and "SHOULD" 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,
|
||||
and that a user can reasonably expect miners on the Zcash network to accept
|
||||
for including a transaction in a block.
|
||||
|
||||
|
||||
Abstract
|
||||
========
|
||||
|
||||
The goal of this ZIP is to gather wallet developers, miners & Zcash users
|
||||
for social consensus on reducing the conventional transaction fees and
|
||||
to get the Zcash conventional transaction fee reduced from 10,000 zatoshis
|
||||
to 1,000 zatoshis.
|
||||
|
||||
In addition, this specification harmonizes transaction fees between different
|
||||
kinds of transaction (involving shielded addresses, transparent addresses, or
|
||||
both), as proposed in [#ecosystem-wide-tx-fee]_.
|
||||
|
||||
|
||||
Motivation
|
||||
==========
|
||||
|
||||
The default transaction fee presently is 0.0001 ZEC or 10,000 zatoshis.
|
||||
At a ZEC market price of USD 100, for example, a user can send 10,000
|
||||
transactions for 1 ZEC. This works out to 1 U.S. cent per transaction and
|
||||
it rises with any increase in the price of ZEC.
|
||||
|
||||
With increase in light wallet adoptions on mobile clients, many users
|
||||
will be new to the Zcash eco-system. And the fact that the
|
||||
transaction fees are paid by the sender (not the receiver) is
|
||||
new information to users who might use Zcash for e-commerce
|
||||
and app interactions that might result in several transactions each day.
|
||||
|
||||
Privacy must not cost a premium. The cost of 10 shielded transactions
|
||||
buys 1GB of mobile data `in India today <https://www.cable.co.uk/mobiles/worldwide-data-pricing/>`.
|
||||
|
||||
Zcash users must be able to do more with their ZEC balance
|
||||
than worry about paying the premium for shielded transactions.
|
||||
|
||||
With reduced fees, it will be cheaper to transact on the Zcash network,
|
||||
while also inviting novel use cases for privacy-preserving applications
|
||||
that would benefit from the privacy, security, and programmable money
|
||||
aspects of the Zcash chain.
|
||||
|
||||
The harmonization of fees between different kinds of transaction can be
|
||||
expected to improve usability, consistency, and predictability.
|
||||
|
||||
Requirements for adoption
|
||||
-------------------------
|
||||
|
||||
The change to the conventional transaction fees should be undertaken soon
|
||||
as it gets difficult to gain consensus with the growth in the network
|
||||
of wallets, exchanges, miners and third parties involved.
|
||||
|
||||
The following parties need to be part of the consensus:
|
||||
|
||||
* Support from mining groups is required to include the lowered default fee transactions in the next block.
|
||||
* Wallet developers need to provide commitment to update the software to use the new fee.
|
||||
* Zcash documentation and community outreach must be undertaken to make the change known.
|
||||
|
||||
|
||||
Security and privacy considerations
|
||||
-----------------------------------
|
||||
|
||||
Unique transaction fees may reveal specific users or wallets or wallet versions,
|
||||
which would reduce privacy for those specific users and the rest of the network.
|
||||
Hence this change should be accepted by a majority of shielded transaction
|
||||
software providers before deploying the change.
|
||||
|
||||
Varying/unique fees are bad for privacy. For the short term before blocks get full,
|
||||
it is fine for everyone to use a constant fee, as long as it is enough to compensate
|
||||
miners for including the transaction. [#nathan-1]_
|
||||
|
||||
Long term, the issue of fees needs to be re-visited in separate future proposals as the
|
||||
blocks start getting consistently full. New ZIPs with flexible fees, such as [#ian-1]_,
|
||||
along with scaling solutions need to be evaluated and applied.
|
||||
|
||||
Denial Of Service Vulnerability
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
A transaction-rate-based denial of service attack occurs when an attacker generates enough transactions over a window of time to prevent legitimate transactions from being mined, or to hinder syncing blocks for full nodes or miners.
|
||||
|
||||
There are two primary protections to this kind of attack in Zcash: the block size limit, and
|
||||
transaction fees. The block size limit ensures that full nodes and miners can keep up with
|
||||
the block chain even if blocks are completely full. However, users sending legitimate
|
||||
transactions may not have their transactions confirmed in a timely manner.
|
||||
|
||||
Variable fees could mitigate this kind of denial of service: if there are more
|
||||
transactions available than can fit into a single block, then a miner will typically
|
||||
choose the transactions that pay the highest fees. If legitimate wallets were to
|
||||
increase their fees during this condition, the attacker would also increase the
|
||||
fees of their transactions. It is sometimes argued that this would impose a cost
|
||||
to the attacker that would limit the time window they can continue the attack.
|
||||
However, there is little evidence that the actual costs involved would be a sufficient
|
||||
disincentive.
|
||||
|
||||
This proposal does not alter how fees are paid from transactions to miners. However,
|
||||
it does establish a fixed flat fee that wallets are expected to use. Therefore during a
|
||||
transaction rate denial-of-service attack, legitimate fees from those wallets will not
|
||||
rise, so an attacker can extend an attack for a longer window for the same cost.
|
||||
|
||||
This ZIP does not address this concern. A future ZIP should address this issue.
|
||||
Wallet developers and operators should monitor the Zcash network for rapid growth
|
||||
in transaction rates.
|
||||
|
||||
|
||||
Activation
|
||||
==========
|
||||
|
||||
Wallets implementing this specification will use a default fee of 0.00001 ZEC
|
||||
(1000 zatoshis) from block 1,080,000.
|
||||
|
||||
|
||||
Support
|
||||
=======
|
||||
|
||||
The developers of the following wallets intend to implement the reduced fees:
|
||||
* Zbay;
|
||||
* Zecwallet Suite (Zecwallet Lite for Desktop/iOS/Android & Zecwallet FullNode);
|
||||
* Nighthawk Wallet for Android & iOS;
|
||||
* zcashd built-in wallet.
|
||||
|
||||
|
||||
Acknowledgements
|
||||
================
|
||||
|
||||
Thanks to Nathan Wilcox for suggesting improvements to the denial of service section.
|
||||
Thanks to Daira Hopwood for reviewing and fixing the wording in this ZIP.
|
||||
|
||||
|
||||
References
|
||||
==========
|
||||
|
||||
.. [#RFC2119] `Key words for use in RFCs to Indicate Requirement Levels <https://www.rfc-editor.org/rfc/rfc2119.html>`_
|
||||
.. [#nathan-1] `Conventional Shielded Fees <https://forum.zcashcommunity.com/t/zip-reduce-default-shielded-transaction-fee-to-1000-zats/37566/40>`_
|
||||
.. [#ian-1] `Ian Miers. Mechanism for fee suggester/oracle <https://forum.zcashcommunity.com/t/zip-reduce-default-shielded-transaction-fee-to-1000-zats/37566/31>`_
|
||||
.. [#zooko-1] `Zooko Wilcox. Tweet on reducing tx fees <https://twitter.com/zooko/status/1295032258282156034?s=20>`_
|
||||
.. [#zooko-2] `Zooko Wilcox. Tweet on sharing tx fee with wallet developer <https://twitter.com/zooko/status/1295032621294956545?s=20>`_
|
Loading…
Reference in New Issue