SCCP-197: Define Voting Strategy for Election Module

Author
StatusDraft
TypeMeta-Governance
NetworkEthereum & Optimism
ImplementorTBD
ReleaseTBD
Created2022-05-11

Simple Summary

This SCCP proposes to define the Voting Strategy to be used in the Election Module for the next epoch (1st July 2022)

Abstract

The Election Module will use the user's balanceOf from the Synthetix Debt Share (SDS) Contracts (listed below) to calculate their voting power

L1 - https://contracts.synthetix.io/SynthetixDebtShare L2 - https://contracts.synthetix.io/ovm/SynthetixDebtShare

This is different from the existing implementation found in the Snapshot Strategies which calculates the dollar value of each Synthetix Debt Share by comparing the ratio between the totalSupply of the SDS to the currentDebt in the system.

Motivation

When the Synthetix Protocol was upgraded to the SDS, the voting system was maintained to reflect how the existing debt was calculated for the user (i.e the sUSD dollar value of each wallet). This is suitable for off-chain calculations as done in Snapshot but when implemented in on-chain in the newly introduced Election Module, it may introduce unnecessary complexity and cost due to the need to read the DebtCache and perform further calculations on-chain when compared to only needing to read the balanceOf a contract.

When the Debt Shares Ratio is compared to the Debt Shares Raw Balance for a list of addresses as shown here we can see that the values still reflect an accurate representation of a user's debt share of the system (i.e the values are just scaled by a factor of X). Since L1 and L2 have different instances of SDS, the scaling factor is different for each network.

Copyright and related rights waived via CC0.