Skip to content

Add draft-aphelionz-marginal-fee: Reduce Marginal Fee to 1000 Zatoshis - #1352

Open
aphelionz wants to merge 22 commits into
zcash:mainfrom
ShieldedLabs:aphelionz/marginal-fee-zip
Open

Add draft-aphelionz-marginal-fee: Reduce Marginal Fee to 1000 Zatoshis#1352
aphelionz wants to merge 22 commits into
zcash:mainfrom
ShieldedLabs:aphelionz/marginal-fee-zip

Conversation

@aphelionz

@aphelionz aphelionz commented Aug 17, 2026

Copy link
Copy Markdown
Member

Adds a draft ZIP proposing a reduction of ZIP 317's marginal_fee from 5,000 to 1,000 zatoshis per logical action. The conventional fee for a minimal 2-action transaction goes from 10,000 to 2,000 zatoshis; no other ZIP 317 parameter or formula changes.

This is a wallet convention and node relay policy change, so it requires no consensus change and no network upgrade.

@aphelionz
aphelionz force-pushed the aphelionz/marginal-fee-zip branch 2 times, most recently from d141e0c to a820a55 Compare August 17, 2026 19:53
@ValarDragon

Copy link
Copy Markdown
Collaborator

Very in favor of this. I'd even support going lower than 1000 zats, to 500 zats/action.

Big proponent of the October 1st target as well.

Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Proposes reducing ZIP 317's marginal_fee from 5,000 to 1,000 zatoshis per
logical action, lowering the minimal 2-action conventional fee from 10,000
to 2,000 zatoshis. No other ZIP 317 parameter or formula changes.

This is a wallet convention and node relay policy change, so it requires no
consensus change and no network upgrade.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment thread zips/draft-aphelionz-marginal-fee.md
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
@zcash zcash deleted a comment from nuttycom Aug 25, 2026
Comment thread zips/draft-aphelionz-marginal-fee.md
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
aphelionz and others added 11 commits August 26, 2026 09:10
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
Per review: as an update ZIP, the specification gives the exact table
entry being replaced rather than describing the change.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The ZIP editors asked for the weight_ratio_cap change to be made
simultaneously with the marginal fee reduction. This removes the cap
rather than raising it to 10: selection weight becomes proportional to
fee, and the block-space argument in ZIP 317's rationale is independent
of the cap and carries on its own.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review: a height is more useful for coordination. Height 3500000
falls in late September 2026 at 75-second block spacing, matching the
prior 2026-10-01 target. The milestone table is dropped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review: wallets updating at different times are distinguishable by
fee. The mitigation is the shared activation height.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review: no change to the ZIP 401 low_fee_penalty is required; it is
defined independently of marginal_fee.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review: the operator-revert sentence was unclear, and mandating
revert machinery adds logic for a case better handled by a follow-on
ZIP if it ever arises.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review: this ZIP proposes no dynamic fee, and alternatives do not
belong in the rationale. The power-of-10 paragraph is deleted; the 500,
100, and no-change options move to a new Alternatives section.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per review. States the fee-independent deterrents and the 3.1x cost
factor relative to the design point, without the dollars-per-hour
arithmetic.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The endpoint that shipped in zebra 6.3.0 returns the ZIP 317
marginal_fee directly; the synthetic-fill estimator it describes was
never released.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
aphelionz and others added 7 commits September 5, 2026 18:46
A 2,000-zatoshi transaction has 2 unpaid actions under the old
parameters, so producers configured with block_unpaid_action_limit = 0
exclude it; the prior wording claimed it is mined unconditionally.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ZEC last held $800 on 2026-08-29; it is higher at time of writing, but
that may not hold. Derived figures update: 26.7 P, $0.0800 / $0.0160,
and 5.3x the design-point cost.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Below-conventional-fee transactions are penalized and may be excluded
from blocks at non-upgraded nodes, so the ordering is a requirement,
not a preference.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Author pass: plainer motivation without the ratio table, shorter
abstract, privacy, rationale, and deployment sections.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Merges the two overlapping paragraphs: node updates are uncoordinated
and immediate, wallet adoption waits for the activation height, and the
ordering is a MUST because non-upgraded producers exclude the new fee.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment on lines +52 to +54
*Security:* `grace_actions` and `block_unpaid_action_limit` still
bound unpaid actions per block, and ZIP 401 [^zip-0401] mempool cost
limiting still bounds memory.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't need to be here.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 89a0a47

Comment thread zips/draft-aphelionz-marginal-fee.md Outdated
Comment on lines +129 to +133
Relay policy and block template updates MUST ship before wallets adopt the new
fee: a 2,000-zatoshi transaction counts 2 unpaid actions under the old parameters,
and producers configured with `block_unpaid_action_limit = 0` will not mine it.
Node operators need no coordination and SHOULD update as soon as releases are
available.

@nuttycom nuttycom Sep 8, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This presents a coordination problem, given the height specified below. There is no end-of-service halt that would enforce that nodes upgrade to allow relay of these lower-fee transactions, so it would require a coordinated rollout to relaying nodes.

In the discussion surrounding this, we discovered that the current minimum relay fee is implementation-defined, and needs to be specified.

The deadline below should be shifted to a date after the end-of-service halt of node versions that are active on the network at the time that this ZIP transitions to Proposed status.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in 697888c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants