PoX-3 (SIP-022 aka Release 2.4) progress update - testing will go into Cycle 59

TL;DR

PoX-3 work is progressing! Core developers believe that further testing (during Cycle 59) is the most prudent, safest path, which aligns with input from various community members and builders. This means Stacking will remain unavailable for Cycle 59, and is on-track to be re-enabled by Cycle 60 (within the originally projected window of 1-2 cycles).


Hey everyone, as with previous updates, I’ve done my best to gather information from various contributors and working groups within the ecosystem to provide a cohesive update on the most important aspects of ongoing work related to pox-3. Please feel free to reply to this thread with additional information if you have it.

First, as a reminder, this work was kicked off as part of SIP-022 to address an issue with the stacks-increase function (overview forum post) that in turn caused errors in the network state of Stacking. The SIP approved reverting to Proof-of-Burn so core developers and the community could research, build and test an updated version of PoX to fix the issues and then re-enable PoX. This was the path followed after determining it could not be addressed with a simpler hotfix-style update.

Where are we now?

Despite core developers and contributors also having shipped fixes for other pressing issues the past 2 weeks, one related to traits and another with a potential DoS vector, work on pox-3 is progressing steadily.

Timeline:

The original projection for a solution here was 1-2 cycles and that appears on track. Obviously, a fix coming sooner than later is always desirable, but only if the release was 100% ready to go, well-tested, and contributors were very comfortable and confident with the release. Given the 2.3 emergency hard-fork and the hotfixes that followed, core developers will take time during Cycle 59 to further test the 2.4 release (which includes pox-3).

:timer_clock: You can refer to this release timer tool in the coming days for the latest projection.

What it means for builders and users

  • Stacking will remain unavailable for Cycle 59, with the plan for Stacking to activate in Cycle 60 as PoX (pox-3) is re-enabled. All Stacks remain unlocked.
  • Assuming that testing and rollout go smoothly, Stacks holders that want to participate in Stacking should be able to start earning rewards again in Cycle 60
  • The stacks-increase function will remain unavailable until pox-3 is live
  • Node operators will need to upgrade ahead of Cycle 60 when the release is provided

What’s next?

Core developers and other contributors will continue testing pox-3 code and kicking the tires on testnet into Cycle 59. The current plan is to ship the 2.4 update ahead of Cycle 60 so Stackers have plenty of time to re-Stack and earn rewards in Cycle 60.

What you can do (Builders, don’t miss this :heart: )

  • Look over the proposed code changes in the draft PR, leave comments and/or suggestions!
  • Review the test plan: feedback and suggestions on additional tests is much appreciated! And if you’re so inspired, consider contributing additional integration tests!
  • Over the next few days, the Stacks testnet network will be updated to the 2.4 branch, which will enable anyone to test contracts and pox-3 functionality using tools like Clarinet on the existing testnet.
  • If you run an API instance, or use API endpoints, consider going through this PR for PoX-3 support on the API
  • Keep checking this forum thread - as more info becomes available, it will be shared here.
5 Likes

FYI, stacking.club site is broken atm also - likely already known.

2 Likes

Does that mean that I can stacking before the start of 60 cycles and get compensation for 60 cycles?

This is answered above

Yep, I’ve personally contacted the owner/maintainer about it. I’m hoping they will bring it back online soon

1 Like

Update: Hey developers, there is now a private test net up with a cycle length of 100 blocks: https://api24.testnet.dev.hiro.so/v2/info in preparation for the 2.4 release.

The public testnet is also upgraded to the 2.4 branch, but a cycle just started so it will be a few days before the next one.

I think some of the community is unclear when they can stack again.

Stacks GitHub link: https://github.com/stacksgov/sips/pull/140/

From the link:

“SIP-022: update block activation for cycle 60 #140
Adds a second addendum addressing the block activation heights for release 2.4.
Accepted text is not changed; this PR adds an another section specifying that the activation will happen prior to cycle 60 and specifies the block height at which activation will occur.”

The second hard fork will take effect 400 Bitcoin blocks prior to the start of the prepare phase for cycle #60, which is Bitcoin block height 791551.

Correct me if I’m wrong, but this means stacking for most users will probably depend on how quickly the pools can roll out their necessary updates as well?

If all goes well, stackers can re-delegate to their pool of choice in the last 400 blocks of Cycle 59 to start earning rewards for Cycle 60. And that last 400-block window is ~2.5 - 3 days.

2 Likes

I don’t anticipate upgrading in time will be a challenge for Stacking Pools, they won’t even need to sync from genesis. Otherwise, nothing about Stacking behavior has changed, so they won’t need to change UI/UX or anything.

The timeline for Stacking is covered in the release update, including a graphic. I’m really not sure how to make it more clear than that, but open to your ideas if you can provide specifics.

My response was before the latest update was posted. With the graphic and everything it’s very clear, awesome work.

1 Like

Ah gotcha! Thank you!