Governance
Elastos governance is composed of CR members, the CR Secretary General, and the CRC proposal on the chain. Every year, a one-month election of CR members will be held. After 12 CR members are elected, each of them will be able to claim a DPoS node to participate in the consensus to obtain block generation profits. Each CR member can initiate up to 128 proposals each year and has the right to vote on the proposal during it's review period.

CRC Election

The CRC election is held once a year. The voting period is one month, and the inaugural period is 12 months - both can also overlap. C
CRC Election Process:
1. During the voting period, users who want to become CR are registered as candidates for CR members - the deposit is 5000 ELA.
2. During the voting period, the community can vote for CR candidates; at the end, the top 12 CR candidates will be elected.
3. After the election period begins, CR members need to claim DPoS nodes to participate in DPoS block generation within two weeks. At the end of the claim period, unclaimed DPoS nodes will become inactive and will not be able to obtain DPoS profits and participate in proposal voting until they claim DPoS nodes.
4. During the inaugural period, everyone in the community can impeach CR members; those impeached can’t participate in the proposal and DPoS voting.
5. When the number of impeached CR members reaches 5, the next round of selection will be started immediately.

Secretary General Election

The Secretary General needs to track the implementation progress of the proposal and has the right to decide whether to issue the stage payment, according to the audit results.
The first Secretary General is directly designated by the code, and then a new Secretary General needs to be elected through replacing the original individual's proposal. The proposal to elect the Secretary General also needs to pass the review and referendum periods, after which the Secretary General can be replaced by a new one.

CRC Proposal

The CRC proposal is the focus of community governance. Everyone can apply for a proposal to CR members, and the application can be signed and pushed to the chain after being reviewed by them. After the proposal is on the chain, a one-week CR review period begins, during which 12 CR members will review and vote on it. After the review is passed, it will enter the one-week community referendum period. During this timeframe, everyone has the opportunity to vote for or against the proposal. After the proposal is passed, they can complete the task according to the plan specified in the proposal and get the associated ELA rewards.
CRC Proposal Process:
1. The user initiates a proposal application - the proposal needs to contain information, such as the purpose, plan items, and budget.
2. CR members sign and create the proposal transaction according to the proposal information.
3. After the proposal is on the chain, it will enter a one-week review period, and CR members will vote on the proposal.
4. After the proposal passes the review period, it will enter the one-week referendum period. Everyone has the right to vote against the resolution of the proposal, and the proposal will be terminated if a certain number of negative votes are reached.
5. After the proposal passes the referendum period, it can get the first budget (not all proposals have a budget).
6. After the subsequent proposal implementation plan is completed, it's necessary to start the proposal tracking transaction according to the stage progress to declare that the stage has been completed. The tracking transaction needs to be reviewed and signed by the Secretary General, and the budget for the corresponding stage can be extracted after the tracking transaction is on the chain.

Cross-chain Transaction Realization

In addition to claiming and running DPoS nodes, CR members need to maintain Arbiter nodes across chains and several Elastos sidechain nodes.
At present, the cross-chain transactions are all created by the consensus of 12 CR members - soon, there may be an adjustment to the consensus of 36 nodes, including 12 CR nodes and 24 voting nodes. The location of the cross-chain Arbiter code is as follows:
The configuration of CRC election in Config is as follows:
1
// CRMemberCount defines the number of CR committee members
2
CRMemberCount uint32
3
4
// CRVotingPeriod defines the duration of voting period which measured by block height
5
CRVotingPeriod uint32
6
7
// CRDutyPeriod defines the duration of a normal duty period which measured by block height
8
CRDutyPeriod uint32
9
10
// CRVotingStartHeight defines the height of CR voting started.
11
CRVotingStartHeight uint32
12
13
// CRCommitteeStartHeight defines the height of CR Committee started.
14
CRCommitteeStartHeight uint32
15
16
// CRClaimDPOSNodeStartHeight defines the height of CR claim DPOS node started.
17
CRClaimDPOSNodeStartHeight uint32
18
19
// CRClaimDPOSNodePeriod defines the period of CR claim DPOS node.
20
CRClaimDPOSNodePeriod uint32
21
Copied!
The configuration of CRC proposal in Config is as follows:
1
// ProposalPublicVotingPeriod defines the duration of all voters send reject vote about a proposal
2
ProposalPublicVotingPeriod uint32
3
4
// CRAgreementCount defines minimum count to let a registered proposa transfer to CRAgreed state.
5
CRAgreementCount uint32
6
7
// VoterRejectPercentage defines percentage about voters reject a proposal.
8
VoterRejectPercentage float64
9
10
// CRCAppropriatePercentage defines percentage about CRC appropriation.
11
CRCAppropriatePercentage float64
Copied!
The height settings related to governance in the main network are as follows:
1
//  CR releated
2
CRMemberCount: 12
3
CRVotingPeriod: 30 * 720
4
CRDutyPeriod: 365 * 720
5
CRVotingStartHeight: 546500
6
CRCommitteeStartHeight: 658930
7
CRClaimDPOSNodeStartHeight: 751400
8
CRClaimDPOSNodePeriod: 720 * 14
9
10
// CRC proposal related
11
CRDepositLockupBlocks: 2160
12
ProposalCRVotingPeriod: 7 * 720
13
ProposalPublicVotingPeriod: 7 * 720
14
CRAgreementCount: 8
15
VoterRejectPercentage: 10
16
CRCAppropriatePercentage: 10
Copied!