Technical Committee & Fast Tracking

Hello everyone!

Introduction

Intention of this post is to get your opinion & feedback on the fast-tracking mechanism available to the Technical Committee. I will give a brief overview of the matter & the dilemma around it, but I’m expecting readers to check out the official governance docs & read about the Technical Committee themselves.

One of the roles of the Technical Committee is to fast-track external proposals made by the Main Council, when they see this as necessary. Fast-track itself doesn’t allow for any sudo-like privilege, instead it only allows to instantly create a referendum (and to specify custom voting duration & enactment delay).

In general, the way governance works is that each week one proposal is upgraded to a referendum. There are two tracks, one for public proposals & one for external proposals. Every week a different track is chosen, and its proposal upgraded.

This is good since the whole process isn’t so fast so that token holders don’t have time to react/vote.

The “Dilemma”

Now let’s consider an action like Runtime Upgrade, which is the reason for writing this post. Anyone can propose it via the public proposal, but it is somewhat expected that this proposal will come from the Main Council.

Sometimes, when we need to deploy a bug fix, it’s expected that Technical Committee will use the fast-track to get referendum going ASAP. This is necessary for the safety & liveness of the network.
However, for regular runtime upgrades, it’s questionable whether if or when this should be used.

We can consider two alternatives.

Use Fast Track Only For Emergency

With this approach, the code of conduct says that we should only use fast-track when it’s related to an emergency action. This can range from runtime upgrade to simple maintenance mode on dApp staking.

The benefit of this approach is that it’s very clear; fast-track should be used only for emergencies.

The major drawback of this approach is that it will consume one voting slot for the referendum. This means that e.g. a public proposal might will need to wait 1 week longer than usual to potentially be upgraded into a referendum.

E.g.

  • Day 0 - Main Council makes an external proposal for runtime upgrade.
  • Day 1 - Launch Period is ending, public proposal gets upgraded to a referendum
  • Day 8 - Referendum finishes, runtime upgrade proposal is upgraded to a referendum
  • Day 15 - Assuming the referendum passed, runtime upgrade authorization is scheduled for enactment. New public proposal is upgraded to a referendum.
  • Day 17 - Runtime upgrade is enacted.

This isn’t the worst case scenario, and runtime upgrade enactment can take even longer if the external proposal is made just AFTER another external proposal has been upgrade to a referendum.

Use Fast Track To Immediately Upgrade Proposal To Referendum

With this approach, the code of conduct says that we can use fast-track to instantly create referendum for runtime upgrade, allowing the token holders to immediately start voting.

NOTE: This doesn’t mean that the Technical Committee can enact the upgrade themselves. The voting scheme is also the same with or without the fast track. The ONLY difference is that voting starts sooner rather than later.

Reusing the example from the previous subchapter, scenario would look like:

  • Day 0 - Main Council makes an external proposal for runtime upgrade, referendum is started via the fast-track.
  • Day 1 - Launch Period is ending, public proposal gets upgraded to a referendum
  • Day 7 - Assuming upgrade referendum passed, delay enactment of the upgrade authorization is scheduled.
  • Day 8 - Referendum finishes, and a new one can begin (it can once again be public proposal).

Note that in only half the period we get two referendums.
Also, on day 8, another public proposal can be upgraded to a referendum - in this way the runtime-upgrade action doesn’t take away from the referendum capacity.

Please do share your thoughts, ideas, concerns, etc.
I’ll open up the poll on Subsquare platform once enough comments have been received.

2 Likes

Interesting post! Fast-tracking does indeed seem critical in cases of emergencies, but I wonder, should there not be even clearer criteria on what defines an “emergency” so as to avoid overuse? It could balance urgency with fairness to other proposals. What do you think?

1 Like

There will be something like code-of-conduct published soon that will detail this.
One of the points we’re missing for this is the question I asked in the post above.

What I can tell for sure is that “emergency” will be related to any call that aims to thwart some malicious or erroneous action from happening on-chain.
E.g. an emergency runtime upgrade with a fix for a critical vulnerability. We’ve had such situations before but it was handled via sudo.

Think you mean here that the token holder have time to react/vote because of the process isn’t so fast.

I’m looking forward to read this code-of-conduct. I don’t have any concers related to this fast-track, if this is in best for the security of the network, this needs to be in place.

Would it be possible to share more background around the 3 members that are part of the technical committee? I’m aware of your actions here on the forum but could you share more about Shaun and the anonymous wallet? When do we expect full onchain identify to be set and are they also here on the forum?

1 Like

Didn’t I write that? :sweat_smile:
But yes, correct.


This mechanism already is in place by design. It’s the only way for the network to have a faster reaction time to vulnerabilities.
My question isn’t whether we should have such mechanism or not, but if it is ok to use it to fast track referendums for the runtime upgrade when it’s not related to any critical issue.

E.g. we basically sort of did this already here. This upgrade only brings a fix, no new features. The referendum voting is 7 days, same as any other referendum. Only we didn’t wait 2 weeks to get the referendum started, we fast-tracked the proposal to get it started immediately.


Good point, we’ll probably share this somewhere for all of the councils/committees.
The 3rd anonymous (Ermal, core dev) will have identity setup today hopefully.

Thank you, this is definitely a necessary feature.

Now we are waiting for more details to be shared about the norms and the members of the Technical Committee for using this feature, as per the concerns of others.

An efficient solution to time problems, very well proposed, dino.

Personally I think that yes it is right, speeding up the process will not incur governance mishandling, we simply cannot wait until the last days to perform the execution or voting of a process in governance, so I support the idea you propose.

Thanks all for the feedback so far!

Please do also provide a vote here:

1 Like

I don’t have a strong opinion against fast-tracking all runtime upgrades if it helps improve Astar Network or brings new features.

My only request is to have these runtime upgrades deployed on Shibuya and/or Shiden, with links added to the proposal. This way, the community can see that the upgrade has been tested and won’t create issues on Astar.

4 Likes

The thesis of the “Emergency” is favorable, as Gaius says, suddenly additional links can be used in the test networks and thus not hinder the process, I think that a background is the healthiest for the community to follow the course of the proposals.

Testing on Shibuya (& Shiden) prior to the Astar upgrade has been the way-of-working for years now. We don’t plan to change it so there’s nothing to worry about here.

2 Likes

I think Fast Tracking makes sense as an idea but first of all we need to see this kind of dangerous situations. On chain governance is a recent introduction and it will take some time to understand if this feature is helpful or not (the reason is simple, low participation of holders/stakers). Having this feature can benefit in the future in my opinion

Code of Conduct PR: Governance Code of Conduct | Welcome to Astar

(link will become invalid after some time)

3 Likes