Technical Committee

Overview

The Technical Committee is composed of the teams that have successfully implemented or specified either runtime or Host. Teams are added or removed from the Technical Committee via public proposals in Democracy.

Becoming technical committee

Diagram

Description

Anyone can propose to become a technical committee. A node doesn’t need to be a council member to join the technical committee. A node can be both a member of the council and a technical committee.

Maxmember = 100

Here are steps to submit a proposal:

Submitting preimage

  • Preimage presents all the information of the proposal that proposers input and make changes to them.

  • The preimage hash generated in the preimage is simply the hash of the proposal to be enacted.

Submitting proposal

  • To submit a proposal, proposers enter the preimage hash and make the deposit by bonding some tokens.

  • Then the proposals come to the queue:

Voting on proposal

  • After a launch period of 7 days, the proposal comes to a referendum for voting:

  • The Council members votes on the proposal list on the chain. There are no specific off-chain criteria for the Council to refer to when making decisions.

  • A proposal to become a technical committee is voted by Positive Turnout Bias method.

Fast-track proposal

Diagram

Description

The Technical Committee can fast-track the external proposal of the Council in the external queue for immediately putting the proposal to the referendum. These are used for emergency bug fixes or rapid implementation of new but battle-tested features into the runtime.

Fast-tracked referenda are the only type of referenda that can be active alongside another active referendum. Thus, with fast-tracked referenda, it is possible to have two active referendums at the same time. Voting on one does not prevent a user from voting on another.

The following types of external proposals are fast-tracked by the Technical committee: externalProposeMajority, externalProposeDefault.

After a voting period of 1 day, a fast-tracking proposal is selected to come into enactment if it passes in a referendum. Proposal is voted based on conditions like now + voting_period, proposal_hash, threshold, delay

Comparison between Technical Committee and Council

Council

Technical committee

Role

  • Controlling treasury

  • Proposing sensible referenda, canceling uncontroversially dangerous or malicious referenda

  • Electing the technical committee

  • Produce emergency referenda (for emergency bug fixs…),

  • Cancel a proposal

How to become

  • Any token holders can apply to be a council member. They will be a member of the council if the win the election

  • Team is voted by the Council

Acting on proposal

Voting on proposal

  • Council and Technical committee can have two opinions in one proposal. These 2 roles are separate. Each role can independently have a positive opinion on the proposal or not. If they have a positive opinion and vote on a proposal, they will deposit for voting. So whether a proposal is selected to be a referendum is based on voting power, NOT the power level of the Council and Committee.

  • For the proposals made in by the Technical Committee, transaction fees will be waived if the Technical committee member is voting on any particular proposal for the first time and the call is successful. Subsequent vote changes will charge a fee.

Cancel the proposal

Canceling the proposal in the queue

  • The proposal which hasn’t passed (so-called proposal in queue) can be canceled independently by the Technical committee or owner of the proposal. It means that the Technical committee can cancel the proposal without waiting for cancellation from the owner.

  • The Technical Committee members are given a grant by chain to cancel the proposal in the proposal when they find the proposals unreasonable.

    • During the voting period, the proposal is removed from the queue whenever it reaches 100% of the Technical committee’s request for canceling.

    • Until the voting period ends, if there is less than 100% of the Technical Committee’s request for canceling, this request is rejected. Then the proposal is still kept in queue and passed to the referendum.

Veto proposal

For a referendum to be proposed by the council, a strict majority of members must be in favor, with no member exercising a veto (see more in Council). Only one of the technical committee members may veto a coming council proposal. Vetoes may be exercised only once by a member for any single proposal. The proposal can’t be resubmitted during the cool-off period. After a cool-down period, if the proposal is resubmitted, they may not veto it a second time.

The technical Committee only vetoes proposals called with function ‘democracy.externalPropose’ in Motion.

A technical member can veto an external proposal by calling extrinsic with the function `Technical committee. Execute -> Democracy.vetoExternal`.

Function list that the Technical Committee can propose

Pallet

Tx call

Description

Democracy

cancelProposal

  • Cancel public proposal in demoracy.

  • Require 100% of Technical committee

  • Propose motion in Technical committee

Democracy

fastTrack

  • Fast track externalProposeMajority or externalProposeDefaultproposal

  • Require 100% of Technical committee

  • Propose motion in Technical committee

Democracy

vetoExternal

  • Veto external proposal with type externalPropose

  • Require one of the technical committee members

  • Call function in Extrinsic

Technical committee

execute

  • Dispatch a proposal from a member using the `Member` origin.

  • Call function in Extrinsic

Technical committee

propose

  • Add a new proposal to either be voted on or executed directly.

  • Call function in Extrinsic

Technical committee

vote

  • Add an aye or nay vote for the sender to the given proposal.

  • Council members call function in Extrinsic

Last updated