Concept
Overview
Dchain has two governing parts:
- The 
DT stakerspropose and vote system: allows the community ofDT holderswho 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 theOversight Committeecan be found in the features
DT Stakers Voting Mechanism
A key design principle in Dchain's governance is that staking delegation does NOT equal voting power delegation, and governance participation is opt-in only through verifiable credential verification.
Direct Voting Requirement
Unlike some Cosmos SDK chains where validators can vote on behalf of their delegators:
- Delegators must vote directly: Each DT holder who has staked tokens must submit their own vote on governance proposals to have their voting power counted.
 - No validator vote inheritance: Validators cannot vote on behalf of their delegators. If a delegator does not vote, their staked tokens do not contribute to the proposal outcome.
 - Voting power calculation: When a delegator votes, their voting power is calculated based on their total delegated stake across all validators they have delegated to.
 
Opt-In Governance Voting via x/vcv
Governance voting on Dchain requires explicit opt-in through the Verifiable Credential Verification (x/vcv) module:
- Extension option required: The 
MsgVotetransaction must include an x/vcv extension option to be valid - Voter verification: The x/vcv module routes and verifies voters based on configurable criteria (see
x/vcv/keeper/x_verifier_routers.go) - Registry-based validation: The 
MsgVotemessage type is registered in theXVerifierRoutesRegistrywith specific verification requirements and criterion attributes (e.g., "voter" attribute) 
This ensures that only eligible participants who have met verification requirements can participate in governance.
Rationale
This design ensures:
- Active participation: Only engaged stakeholders who actively vote influence governance decisions
 - Direct representation: Each stakeholder's voice is heard only when they choose to participate
 - Clear accountability: Validators cannot make governance decisions that affect delegators without their explicit consent
 - Separation of concerns: Staking for network security (delegation) is separate from governance participation (voting)
 - Verified participation: Only verified and eligible participants can vote through the x/vcv verification mechanism
 
OversightCommittee group
The main purpose of that group is to ensure that Dchain 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 
MsgOversightCommitteeVetomessage that declines the proposal that's being already passed. - Send a 
MsgOversightCommitteeExecmessage 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 thedgovmodule. 
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 aSubmitProposalmessage with another message inside that will be executed in case of passing. - Other participants may vote on the proposal using 
Votemessage. - 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.