Skip to content

[ZIP TBD]: Block time reduction of 75s -> 25s#1215

Open
ValarDragon wants to merge 5 commits intozcash:mainfrom
valargroup:dev/block_time_reduction
Open

[ZIP TBD]: Block time reduction of 75s -> 25s#1215
ValarDragon wants to merge 5 commits intozcash:mainfrom
valargroup:dev/block_time_reduction

Conversation

@ValarDragon
Copy link
Copy Markdown

@ValarDragon ValarDragon commented Mar 16, 2026

This PR introduces a candidate block time reduction from 75s to 25s.

To protect against shielded sync increases, it furthermore includes "action limits" per pool type. Changing:

  • Orchard from (implicit) 617 to explicit 306. (2.1x throughput increase)
  • Sapling from (implicit) 2090 to explicit 300 (inputs + outputs). (57% decrease, but does keep Sapling at a higher TPS than today's Orchard, assuming 2-in-2-out)
  • Sprout from (implicit) 2220 join-splits to 25 joinsplits.

I made this simulator to show the shielded sync load: http://164.92.225.227:5174/ (URL will be updated soon), which also shows how load can update with related changes. These action limits also make the deployment of memo-bundles easier to reason about from a burden overhead on shielded sync.

I will keep iterating on precise timing estimates for full node processing times with @evan-forbes soon.

nuttycom
nuttycom previously approved these changes Mar 16, 2026
Copy link
Copy Markdown
Contributor

@nuttycom nuttycom left a comment

Choose a reason for hiding this comment

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

Overall this looks excellent, just a few minor nits/suggestions.

confirmation to 25 seconds on average.

- **Greater throughput.** With 3× as many blocks per day and the same
2 MB block size limit, we will have proven out higher consensus bandwidth.
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.

I think it's a stretch to say we'll have "proven it out"; we'll have raised the theoretical limit, but that's it.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Fair in that if its never hit, nothing has happened

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Updating to "we will have allocated higher consensus bandwidth capacity"

This solves three problems.
- Significantly improves the UX for actors who need 1 or 2 conf's. (Near Intents, small payments) The user-latency goes down 3x.
- Increases consensus bandwidth, which amplifies the scaling impact of a future shielded pool which does not require shielded sync.
- Introduces action limits, which short term more than doubles the Orchard TPS (2.9 → 6.1 TPS), while lowering the worst-case sandblast bandwidth on shielded sync by 42% (270.5 → 156.83 MB/day).
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.

Suggested change
- Introduces action limits, which short term more than doubles the Orchard TPS (2.9 → 6.1 TPS), while lowering the worst-case sandblast bandwidth on shielded sync by 42% (270.5 → 156.83 MB/day).
- Introduces action limits, which short term more than doubles the Orchard TPS (2.9 → 6.1 TPS), while reducing the bandwidth required for shielded wallet sync in the case of maximally-full blocks by 42% (270.5 → 156.83 MB/day).

Should we also introduce transparent action limits? That seems like a natural step to take now.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Do we need a transparent limit? I'd suggest we do that after a pool with no shielded sync for clients is deployed

Comment on lines +88 to +89
That analysis suggests that this would improve finality times by a factor of at
least 2.9, if you assume the attacker has a fixed percentage of network
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.

I find stating this as "improve finality time by " to be a confusing way to state this; given constant hashpower and the potential for rollbacks, how is "finality" defined?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Thank you! Your right this was confusing. I rewrote this section, hopefully it reads clearer now right?

ValarDragon and others added 2 commits March 17, 2026 18:47
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
@str4d str4d added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Mar 17, 2026
@str4d str4d requested review from arya2, daira and nuttycom March 17, 2026 22:59
analysis in various attack models. As this proposal meets the constraint of
keeping stale rates low, this should under the "X% of hashpower is byzantine"
threat model improve user confirmation times by a factor slightly under 3x.
Under the posts "Economic" threat model, where the user requires the block
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.

"Under the posts"?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Ah, I should re-link the citation there, your right!

Comment on lines +99 to +100
However, we do expect many classes of users to be able to wall-clock lower
theirs under consistent threat modelling of what they choose today.
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 sentence is a bit Byzantine itself.

Co-authored-by: Kris Nuttycombe <kris@nutty.land>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

NU7 proposal S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants