SIP-042: Removal of at-block#262
Conversation
There was a problem hiding this comment.
This SIP is well-motivated and clearly structured. The removal of at-block starting in Epoch 3.4 is a sound decision — the unbounded historical lookback it requires is the primary blocker for MARF pruning, and with chainstate already approaching 1 TB (growing ~2.73 GB/day), addressing this is increasingly urgent for node operator sustainability.
A few things I particularly appreciate about this proposal:
- Clear enforcement strategy across Clarity versions: The distinction between static analysis rejection for new deployments and
RuntimeCheckError/AtBlockUnavailablefor existing Clarity 1–4 contracts is well thought out. It ensures no ambiguity in how the transition is handled. -
- Minimal on-chain impact: The observation that
at-blockusage on mainnet is limited provides good confidence that this is a low-disruption change relative to the significant infrastructure benefits it enables.
- Minimal on-chain impact: The observation that
-
- Epoch gating is clean: Enforcing
AtBlockUnavailableexclusively in Epoch 3.4+ while preserving the validity of pre-activation blocks is the right approach — no retroactive invalidation of previously valid state.
The SIP is well-scoped, the design goals are clearly articulated, and the backwards compatibility trade-off is justified. Looking forward to seeing this move through the process alongside the reference implementation instacks-core#6937.
- Epoch gating is clean: Enforcing
LGTM overall — nice work on this one.
|
"deprecation" sounds like it will still work but will be removed in a future versions and is discouraged, while I think the intent is the "removal of at-block" |
|
@hugo-stacks good point! I changed the wording in the SIP! |
|
What is the incentive for miners, stacking pools, core entities to maintain a full archival node? |
|
"Any deployed contract that calls at-block will begin receiving runtime errors after Epoch 3.4 activates" |
314159265359879
left a comment
There was a problem hiding this comment.
The SIP is structurally strong and near publication quality. The edits are primarily stylistic and format-compliance improvements. I have added comments and suggestions in line.
Strengths
- Clear motivation
- Precise specification
- Well-structured sections
- Good linkage to implementation
Primary improvements needed
- Preamble formatting consistency
- Clarify MARF explanation
- Replace conversational phrases
- Improve normative wording in the specification
@PerrinoProperties this SIP does not address archival node implementation or details, its scope is limited to removing |
@Hero-Gamer Good point! The activation block height is 943,000, targeting March 30, 2026. These are specified in SIP-039 (PR #256), which this SIP rides on. Since SIP-042 activates if and only if SIP-039 activates, I think it's best to keep the activation details in one place rather than duplicating them here. We follow the same approach with SIP-040 (PR #257), which is also a rider on SIP-039. |
Co-authored-by: wileyj <2847772+wileyj@users.noreply.github.com>
314159265359879
left a comment
There was a problem hiding this comment.
I see the comments I made addressed, looks good for editor sign off to me.
|
good questions! but i think it's out of scope for this sip. i would refer to the linked issue and raise the questions there for clarity. the removal of this function is a small part of the storage improvement work, but is a blocker to any meaningful change. i also suspect the performance wouldnt have any meaningful impact, outside of lower system io. |
This SIP proposes the removal of
at-blockstarting from epoch 3.4