Ecosystem-wide standard transaction fee #2942
Labels
A-documentation
Area: Documentation
A-networking
Area: Networking code
A-pow
Area: Proof-of-Work and mining
A-wallet
Area: Wallet
C-future-proofing
Category: Changes that minimise the effects of shocks and stresses of future events.
D-bitcoin-divergence
Design issue: Divergence from Bitcoin (upstream code and/or architecture).
D-economics
Design issue: Economics
E-good-first-issue
Effort: Suitable for someone new to the codebase.
F-tx-fees
Feature: Transaction fees
I-dos
Problems and improvements with respect to Denial-of-Service.
I-privacy
Problems and improvements related to privacy.
not in NU0
side channels
special to Zooko
usability
user interface
Zcash codebase
ZIP idea
Establish an ecosystem-wide convention that all transaction fees are the same (currently 0.0001 ⓩ — 100 microZECs), whether for transparent or shielded transactions, and regardless of any other considerations. (This is for normal transactions, initiated by an end-user through a normal wallet or service. It does not have to apply to transactions that are being generated by some special-purpose code for some special-purpose application, by an expert.) But for all normal users, they should get used to the fact that regardless of which Zcash wallet, product, or service they use, that they always pay exactly 0.0001 ⓩ per transaction that they initiate.
The reasons for this are:
Privacy. If your software chooses a non-standard fee, this leaks information about you.
User experience. If users can expect a simple, fixed, predictable, low fee then this increases Zcash's usability for them.
Steps to accomplish this:
Publish documentation recommending this to third parties who make Zcash products and services. In particularly, recommend to them that the Zcash transaction fee should not be configurable by the end user.
Either remove
estimatefee
or fix it to return 0.0001. Fix or remove estimate fee #2552Fix
sendmany
andsendtoaddress
to return 0.0001. (Was Use default fee for sendmany & sendtoaddress #2551 — closed as duplicate of this ticket.)Notes:
If someone launches DoS attack that attempts to leverage this fixed-fee feature, then the miners will doubtless apply patches to discriminate against the DoS transactions, and we can of course help them understand how to do that if necessary. But we don't need to spend energy and complicate the protocol currently in order to prepare for that eventuality.
In the future, we want to reduce the ecosystem-wide default fee from 0.0001 ⓩ (100 microZECs, which is about $0.045 at today's exchange rates) to 0.00001 ⓩ (10 microZECs, which is about $0.004 at today's exchange rates). In order to prepare for that, it might make sense to go ahead right now and recommend that third parties call
estimatefee
and use its return value as the fee (Fix or remove estimate fee #2552). That way if we in a subsequent upgrade change it from returning 0.0001 to returning 0.00001 then all compliant products/services will do the right thing immediately.The text was updated successfully, but these errors were encountered: