iip: 5
title: Trustless Rebalance Process
status: Accepted
author: Brian Weickmann (brian@setprotocol.com), Alex Soong (alex@setprotocol.com), Richard Liang (richard@setprotocol.com) and Felix Feng (felix@setprotocol.com)
created: 2020-10-21
Simple Summary
Update the DPI rebalance mechanism to use a new smart contract. The new smart contract rebalances according to the following steps:
- A methodologist publishes new weights for the DPI off-chain
- Index Coop verifies the weights are accurate
- Index Coop updates the Index Module execution parameters that will be used to create rebalance trades
- Index Coop converts weights to smart contract compatible units
- Index Coop submits the compatible units to the IndexModule contract which starts the rebalance
- Index Coop executes the rebalance trades through the IndexModule
Abstract
A manager smart contract delegates index management responsibilities (rebalance, fees) between Index Coop (âICâ) and its methodologists. IC will be responsible for rebalances and any smart contract level improvements. Various other administrative functions will either have shared permissions with the methodologist or be delegated entirely to the methodologist.
To rebalance, the manager smart contract will interact with another smart contract, the IndexModule. The IndexModule can be used to execute trustless rebalances for indices as parameterized by IC. IC will follow its normal IIP process to update rebalance parameters and confirm allocations provided by methodologists.
For each rebalance, the methodologist will propose weights in accordance with their methodology. The IndexCooperative (âICâ) verifies the validity of the weights, submits them to the IndexModule and updates execution parameters as needed. Once verified, the IC can execute the rebalance through the smart contract system.
Motivation
As presently constructed, the IC has control over the DeFi Pulse Index (smart contract). The contractâs owner is the IC Multisig which grants the owner all of the functionality of the Set smart contract which includes rebalancing and collecting fees. However, it is important to decouple functionality between methodologists and the IC to remove possible malfeasance from either party against agreed upon execution rules and fee distributions. Additionally, in order to minimize regulatory exposure, the rebalance mechanism must be moved away from a complex Multisig execution to a simple function callable by anyone that still enforces the controls set by IC.
FOR:
- Migrate DPI ownership to proposed manager contract
- Begin process of parameterizing November rebalance
AGAINST:
- This implementation/process is insufficient to meet ICâs goals, propose alternative
- The current rebalance execution process is sufficient
Specification
Overview
The IC has control over the DeFi Pulse Index smart contract by way of the contractâs owner property being set to the IC Multisig address. A new smart contract, the IndexCoopManager (âICMâ), will bifurcate functionality between methodologists and the IC. The IC Multisig will hand over the Setâs ownership to the ICM. The methodologist (DeFi Pulse) and IC will then interact with the ICM directly for management of the index.
Once migration to the ICM is complete, each rebalance will consist of five steps:
- A methodologist publishes new weights for the DPI off-chain
- Index Coop verifies the weights are accurate
- Index Coop updates the Index Module execution parameters that will be used to create rebalance trades
- Index Coop converts weights to smart contract compatible units
- Index Coop submits the compatible units to the IndexModule contract which starts the rebalance
- Index Coop executes the rebalance trades through the IndexModule
Rationale
Building this manager helps achieve three main goals:
- Adding limits to the owners of the IC Multisig
- Allowing the IC to delegate certain permissions to the methodologist
- Providing a structured pathway to execute trustless rebalances.
Set Protocol is designed such that there is one address that manages all functionality for a given Set, because of this, itâs necessary that all three goals must be met by the same contract.
This manager contract limits IC Multisig owners by taking full ownership of the Set away from the Multisig and giving it to the manager contract, thus forcing the Multisig to interact with the index in predefined ways.
The manager contract allows for delegation of permissions to methodologists by only allowing methodologists the ability to call certain admin functions. Additionally it allows for 2 of 2 Multisig style administrative updates between IC and the methodologist instead of relying on off-chain agreements enforced solely by the IC Multisig.
Finally, providing a formal process for executing and parameterizing rebalances move IC one-step closer to being a full decentralized organization
Copyright
Copyright and related rights waived via CC0.
Github Link
Governance Vote
- FOR: Execute Smart Contract Manager update according to IIP-5 specification
- AGAINST: Do not upgrade Smart Contract Manager. Current Multi-sig to remain DPI Set Manager
0 voters