Skip to main content

Concept

Overview

D-Chain has two governing parts:

  • The DT stakers propose and vote system: allows the community of DT holders who have staked to make governance proposal and vote on proposals.
  • Oversight Committee: a group of committee members who have high stakes in the network, such as the legal entities behind the deployed DApps form this group. The detailed rationale and DApps participation in the Oversight Committee can be found in the features

OversightCommittee group

The main purpose of that group is to ensure that D-Chain remains compliant for its stakeholders. This is done by allowing 2 actions to be done exclusively by this group. The group address is stored as authority in the dgov module.

Such group has their own Oversight Committee Group Policy and this policy has an address as well. in terms of Cosmos SDK account it's a real account but unclaimable one. the main difference is that it does not have private keys. But we may use such address as an authority in d-gov module, to check that message came exact from Oversight Committee.

The main responsibility of the group is to make a regulatory decision. It has 2 main mechanism to make it:

  • Send a MsgOversightCommitteeVeto message that declines the proposal that's being already passed.
  • Send a MsgOversightCommitteeExec message that allows to execute the attached message without voting. It's an emergency action to prevent the chain from going down. This group address is stored as authority in the dgov module.

Cosmos SDK Group overview

We provide background on the cosmos-sdk's x/group module and how it supports Oversight Committee and dgov requirements.

The registered group has an Oversight Committee Group Policy which is an unclaimable account within the cosmos-sdk - i.e. it has address, account number and balances. The main difference is that it does not have private keys.

Instead, the group members must propose and vote to execute messages.

The group module from Cosmos SDK is responsible for making a collectivity decision through proposal mechanism. To be short:

  • There is a proposer, who is sending a SubmitProposal message with another message inside that will be executed in case of passing.
  • Other participants may vote on the proposal using Vote message.
  • Depending on the decision policy and the number of votes, the proposal is either accepted or rejected.

More details here. This Oversight Committee Group Policy address is used in dgov module, to check that special messages can only be executed by the Oversight Committee.