LIP-3: Easy Track release

General

After several months of development, the new Easy Track governance feature for the Lido DAO is finally ready to be released.
The feature is designed to lower voting fatigue from recurring Aragon votings and make the DAO routine operations easier.
Easy Track introduces the new type of votings called ‘motions’. With motions, governance token holders don’t need to vote ‘pro’ and only vote ‘contra’ if they disagree with the proposals. Motion is considered to have passed if the objection threshold hasn’t been reached within the preset timeframe. For security reasons, motions will only be available for a limited set of routine DAO operations:

  • increasing node operators’ staking limits
  • allocating funds to LEGO program
  • allocating funds to ongoing reward programs
  • managing the list of ongoing reward programs

Docs

Easy Track is a complex feature consisting of 16 smart contracts, a standalone UI app, and a notifications bot providing alerts on significant Easy Track-related events to the DAO community and development channels.
Easy Track feature has been initially proposed in a series of research forum posts (post one, post two) and resulted in the form of LIP-3 according to the formal Lido Improvement Proposal process. LIP-3 has been approved and merged, and it’s current version describes the developed feature correctly. For more in-depth technical description, please see the full project specification.

Audits

Easy Track smart contracts have been audited by two established security assessment providers.
First, a report from MixBytes() has been received, you can access it in the Lido’s public audits repo. All issues found have been properly addressed or acknowledged, the contracts have been considered safe.
The second security assessment was from Sigma Prime. The report has been published and is available in the same audits repo. The findings have been addressed, and Sigma Prime also considered the audited contracts secure.
Please note, that Sigma Prime’s audit findings required some changes to the smart contracts, and the code has been later submitted for re-audit by MixBytes(). We expect to have the final report from them early next year.
Full Easy Track functionality has been deployed and publicly tested in the Lido testnet environment in the early autumn.

Security parameters

Motion parameters

For maximum security, there’re certain limitations in place for Easy Track that can be tweaked via regular Lido DAO voting. You will find the proposed initial values for these limitations below.

  • Motion duration will be set at 72 hours. It can be increased or decreased later but cannot be less than 48 hours.
  • Objections threshold to reject the motion will be set at 0,5% of total LDO supply. It cannot ever be increased to a value greater than 5%.
  • Maximum simultaneous active motions count will be set at 12. The hard cap for this value is 24 active motions.

Motion creators

Each type of Easy Track motion can only be started by a limited set of accounts. We propose the following structure of motion creators:

  • A motion to increase the node operator’s staking limit can only be started by the respective node operator.
  • A motion to top up the LEGO program can only be started by LEGO committee multi-sig. This multi-sig is already being used to maintain LEGO operations.
  • Motions related to reward programs (i.e. top-up reward program, whitelist reward program, remove reward program from the whitelist) can only be started by a dedicated Rewards Committee multi-sig. Details on committee tasks and composition will be shared on the research forum shortly.

Pause multi-sig

The essential security mechanism for Easy Track is the emergency brakes lever. It provides a dedicated EOA or a multi-sig with an option to pause Easy Track completely. While paused, no motions can be created or enacted, but all the active motions can be objected to or canceled. The only way to unpause Easy Track is by regular DAO voting.
We propose setting up a 2/4 Easy Track Security multi-sig to have control over the pause lever. We nominate Lido protocol and Easy Track developers for this multi-sig:
@vsh
@kadmil
@psirex
@ujenjt
Please, comment on this post if you want to nominate more people for the Easy Track Security multi-sig.

Release timeline

Over the current week, all the elements of the Easy Track feature are expected to be deployed to the mainnet, including the smart contracts, UI app, and notifications bot.
Tomorrow we will start a 7-days snapshot voting to confirm DAO consensus on the feature release.
If the snapshot voting passes, we will add the launch-related operations into the next omnibus voting on Thursday, December 2nd. When enacted, the proper roles will be granted to Easy Track smart contracts, and the feature will go fully operational.

Easy Track is something we have put a lot of time and effort into, we will appreciate as much feedback as possible. Please, don’t hesitate to share your concerns if you have any.

8 Likes

So excited about Easy Track! I do have a few questions / comments.

Is there mechanism for Motion Types to be added or removed from Easy Track? Are they hard-coded or would it be possible for other Motion Types to be added later on without a wholesale contract upgrade? Specifically, I can envision Easy Track eventually being used for other periodic tasks which have been “pre-approved” to a certain extent, such as payments to DAO core contributors.

Is it configurable in Easy Track who the “approved accounts” for each Motion Type are, or is it set-once (i.e. if the DAO approves this proposal but later wants to change who the approved accounts are, how would it work)? Same question for the Pause Multi-sig.

Once everything is finalized it would be great to have a table that concisely summarizes this info, e.g.:

Motion Type Allowed Accounts(s)
Top-up LEGO Lego Committee Multisig

as well as a list of which rewards programs are currently “active”.

From an analytics and reporting side, will it be easy for us to tell which transactions have been triggered by an Easy Track Motion vs manually? Especially since some of these programs may actually have a relatively large amount of funds flowing through the motions, it will be very important to be able to accurately and easily track how much has been disbursed by Motion Type (and perhaps even “rewards project”).

EDIT:
One more question:

Regarding NO “raise limit” Motion Type, do we know if in the NO Registry contract there’s a check so that NO limit cannot be higher than total keys? For example, if an NO has 5000 total keys can they increase their limit to 10K before submitting another 5K keys? I think such a control/check would be important before giving NOs the ability to (propose to) raise their own limits.

2 Likes

Yes, there is a mechanism to add and approve new Easy Track types in the future. This will require developing an additional contract or a few, most probably audit, and conducting a regular DAO voting to apply the upgrade.

These addresses are immutable for security reasons, so changing these parameters would require re-deploying Easy Track smart contracts altogether, and conducting a DAO voting to revoke roles from the old deployment while granting them to the new one.

Easy Track is designed to be as transparent as possible, each motion card in the UI will show exactly what goes on inside the motion. Besides, both LEGO Committee and the Rewards Committee will be tasked to post monthly reports on their work and how (and why) they spend funds.
Tracking allocations triggered by Easy Track is going to be easy, and having a readable dashboard to monitor such activity is definitely a nice addition, thanks!

Yep, NO cannot raise their limit to a value greater than the number of valid keys they’ve submitted.

3 Likes

This is exciting! This will allow the DAO to move baseline operational tasks in a more efficient manner without as much overhead but still providing oversight. Congrats @GrStepanov and team on this, I know it was a heavy lift.

2 Likes

Thank you @jbeezy ! Though it’s not over just yet :slightly_smiling_face:

The 7-days snapshot voting to finally release Easy Track to mainnet is now live! Please send your votes.
https://snapshot.org/#/lido-snapshot.eth/proposal/0x6f3b01ce0573545987665eaafe9b3410402d7d0be03ad7bf8ccc926307ae578b

2 Likes