Discussion about migration to OpenGov

I doubt GCG’s response time will be that slow. Both Ivan and I are keeping an eye on these things on a daily basis (even the weekends). Also, I personally get an email notification immediately every time a proposal is submitted onchain, so we should be able to react and submit a Referendum Killer immediately.

If the worst case scenario happens, we can react in two ways the way I see it:

  1. Submit Referendum Killer immediately after a malicious referendum has been submitted. Alert the DAO to vote on both (Aye to the Killer, Nay to the malicious proposal).

  2. Submit a Referendum Canceller. If we detect it too late, this origin can cancel the referendum (but without slashing the deposit). This track has a Decision Period of 7 days and 10 minutes Enactment Period.

3. This option has been deleted as it was incorrect.
  1. Kill the referendum with by submitting a referendum with the Whitelisted Caller track that has a very low threshold of passing. I personally think we should refrain from using this approach, but if the chain security really is at stake, the option is there.

Obviously, the bad actor can also vote Nay to these two options and if they have enough tokens, they can probably create a lot of chaos anyway. But it doesn’t make sense to me that a large token holder with so many tokens would be interested in doing something like this. Who would buy say 10-20M CFG tokens, just to compromise the value of their own tokens in worst case?

However, we are open to review the parameters for the Referendum Killer track. Is the consensus to decrease the Decision Period for the Referendum Killer, increase the Enactment Period of the Root and Treasurer track, or do both?

Any thoughts on this @WilliamFreude @leemo @lolmcshizz?

This post has been edited after consulting with Radha from W3F.

What is the maximum number it could take? Assuming a Hacker manages to gather 5M in CFG? Long would it take from beginning to end?

Was my worst case math example not correct?

Thanks for sharing the comparison, how does that compare to their timelines on the Referendum Killer track?

@lucasvo other projects’ setup of Root, Referendum Canceller and Referendum Killer parameters.

Polkadot
Max Deciding Prepare Period Decision Period Confirmation Period Enactment Period
Root 1 2 hours 28 days 1 day 1 day
Referendum Canceller 1,000 2 hours 7 days 3 hours 10 minutes
Referendum Killer 1,000 2 hours 28 days 3 hours 10 minutes
Kusama
Max Deciding Prepare Period Decision Period Confirmation Period Enactment Period
Root 1 2 hours 14 days 1 day 1 day
Referendum Canceller 1,000 2 hours 7 days 3 hours 10 minutes
Referendum Killer 1000 1 hour 14 days 3 hours 10 minutes
Moonbeam/Moonriver
Max Deciding Prepare Period Decision Period Confirmation Period Enactment Period
Root 5 1 day 14 days 1 day 1 day
Referendum Canceller 20 1 hour 14 days 3 hours 10 minutes
Referendum Killer 20 1 hour 14 days 3 hours 10 minutes
Robonomics
Max Deciding Prepare Period Decision Period Confirmation Period Enactment Period
Root 1 1 day 14 days 1 day 1 day
Referendum Canceller 100 1 hour 7 days 1 hour 10 minutes
Referendum Killer 100 1 hour 7 days 1 hour 10 minutes
Bifrost
Max Deciding Prepare Period Decision Period Confirmation Period Enactment Period
Root 1 2 hours 14 days 1 day 1 day
Referendum Canceller 1,000 2 hours 7 days 3 hours 10 minutes
Referendum Killer 100 2 hours 7 days 3 hours 10 minutes

EDITED:

If a bad actor has 5M CFG and votes Aye on their own proposal, then it would take 234 hours for it to reach Support on the Root track (assuming no one else votes). Add the 12 hours Confirmation Period and the 1 day Enactment Period to that, so a total of 270 hours for a malicious proposal to pass with that amount of CFG. After those 234 hours, they would also need 65% Approval.
Voting with conviction will not affect the Support, only the Approval.

The Support function for Root is calculated this way as a function of time (hours).
image

But if token holders vote, the Support would obviously be reached faster, so ironically it would probably be better not to vote on a malicious proposal in order for it to not reach Support faster and give us time to submit a Referendum Killer! It’s very hard to create a worst case/best case scenario as there are many factors in play here.

I will suggest some revised parameters for the Referendum Killer track to better be able to deal with these extreme situations and mitigate the risks.

I think Polkadot’s parameters of having a referendum killer that takes 1/4 of the time than the regular root track is probably a good comparable for this.

I personally think 1/4 of 14 days (3½ days) is too short. We need to keep in mind that the Referendum Killer track also can be used for malicious purposes; a bad actor can submit a referendum to kill a runtime upgrade for example - or an emergency referendum submitted with the Whitelisted Caller track - and slash the deposits for those referenda. So 3½ days could be too short for the DAO to react in a timely manner, if the bad actor has enough tokens and can pass their referendum.

Given that Root already has 12 hour Confirmation Period and 1 day Enactment Period (1½ day combined), maybe 7 days would be an appropriate period of time?

I just noticed that I wrote the wrong Decision Period for the Referendum Killer track on both Polkadot and Kusama - I wrote 7 days for both initially. However, the Decision Period is 28 and 14 days, respectively (i.e. they have the same Decision Period for their Root and Referendum Killer tracks. My apologies for the mistake.

I still have suggested some new parameters for our Referendum Killer track so we can decide which one we feel most comfortable with.

See the initially suggested parameters for the Referendum Killer track here.

Please consider the newly suggested parameters below:

:six: Referendum Killer

Max Deciding Decision Deposit Prepare Period Decision Period Confirmation Period Enactment Period
Referendum Killer 20 75,000 CFG 1 hour 7 days 1 hour 10 minutes

Approval (linear): 100% → 70%

Support (reciprocal): 50% → 0.59%

Click here for specification of Approval and Support over time
Hours Approval (linear) Support (reciprocal) Support in CFG
0 100.00 % 50.00 % 200,000,000
1 99.82 % 33.33 % 133,333,333
2 99.64 % 25.00 % 100,000,000
3 99.46 % 20.00 % 80,000,000
24 95.71 % 3.85 % 15,384,615
72 87.14 % 1.35 % 5,405,405
120 78.57 % 0.82 % 3,278,689
168 (7 days) 70.00 % 0.59 % 2,352,941

Support in CFG has been calculated with an Electorate of 400M CFG.

Click here to see the Approval and Support curves

Basically, the Decision Period has been reduced to 7 days and the Approval and Support curves are identical to our Referendum Canceller track now.

2 Likes