Queued updates and withdrawable stake#95
Conversation
…o separate per-workflow methods. Lookahead methods semantics and interface defined. Interaction of update enqueue and freeze clarified.
|
thank you for the SWIP 🙇 as discussed, please can you emphasise the rationale behind withdrawal delay i.e. encouraging predicability / reducing unpredictability in this vein i think we have agreement that limiting the amount of times an overlay can be changed over some similar period would also be beneficial in this regard without incurring too much friction in terms of neighbourhood rebalancing i would suggest it were set at once every half or quarter the period of the withdrawal delay, but certainly less, to allow for some margin of error in coordination of node repositioning it was also mooted that 14 days could well be sufficient delay and that the exact value of that constant and/or mode and means of tuning it would benefit from some more discussion |
Sure, I will expand on this.
While I think this is a reasonable direction to explore due to the sync costs excessive node churn could impose on the network, in terms of both motivation and implementation is it independent of the present SWIP. This SWIP does not make any change to the rate at which one can change neighbourhoods (whether staked or not). So I'd argue that this research direction should not block merging this PR. Would you agree?
Regardless of what value we choose for the delay parameter now, we ought to establish processes to monitor the behaviour of the network and determine whether the delay parameter is performing as desired or if it ought to be changed. I'll work on adding something on that to the SWIP too. If we are concerned about committing to a particular withdrawal notice period that may be awkward to change later, one option would be to add an admin function that allows the deployer to change the parameter on the live contract without having to redeploy. However, I would highlight a couple of caveats to this approach:
Understanding these factors, especially (1), means that trying to get this function into the current SWIP could further delay the decision process. My view is that it isn't really necessary right now for the following reasons:
Nonetheless, if you want it I also don't mind adding it. |
|
Posting expanded rationale as a reply first so it's easier to discuss. If it satisfies you @significance, I'll merge the arguments into the SWIP. TLDRReducing the withdrawal notice period attracts more stake but carries more risk of inducing operator behaviour that leads to a loss of service — call this network risk. Identifying the sweet spot depends on being able to measure this risk. The current proposal text calls for a withdrawal notice period of 28 days. Other contributors have suggested that the wait could be shorter: either 7 or 14 days. Which should we choose? Assessment. We expect that reducing the notice period from 28 days to 7 days (or any value between 7 and 28 days) will not attract a significant quantity of additional stake or nodes; nor will it significantly decrease the risk of dirty exits. On the other hand, the excess network risk associated with such reduction is hard to quantify: more research is needed. That said, we don't know any a priori reason to think it will be critical. Recommendation. Dedicate some resources to identifying and monitoring risk signals that could inform our choice of notice period. However, do not block the update on the outcome of such research — we have enough information to agree on a value now and move forward. We suggest starting at the upper limit of the discussed range, i.e. 28 days, because this has the lowest risk, and we are not yet well equipped to measure how much additional risk would be added by a shorter period. AnalysisOur proposals for stake withdrawal and exit notice periods argue that the risk of service issues is greater for shorter notice periods because of the following two effects:
There is also a risk effect that increases with longer notice periods:
|
|
Just to make things a bit more concrete, here are some candidates for risk signals that we can monitor to evaluate our choice of wait period:
|
Merged spec from SWIPs 40 and 41, including everything except revert of SWIP-20. Updated to align with implementation at ethersphere/storage-incentives#309.