Bittensor's governance protocol transitions the management of the network from centralization within the foundation to community-ownership over time.
Triumvirate members are Opentensor Foundation employees, while the Senate is formed from the top K delegate hotkeys.
Proposals are encapsulations of other extrinsics. A proposal will be executed only after meeting the both the below two conditions:
- The proposal has obtained (50% + 1) approvals from the Senate, and
- The proposal has been closed by a member of the Triumvirate.
The above guarantees that Senate has to come to a majority consensus in order for a proposal to be executed.
When a proposal is executed, the calldata that was passed to it during its creation is then included in the same block as the close extrinsic.
Before the governance protocol came to exist, all the administrative actions within the network (e.g. changing hyperparameters, creating new sub-networks, chain upgrades) were permissioned via a single privileged key, known as
sudo. If the
sudo private key were somehow compromised, a malicious actor could take over the network and execute any privileged extrinsics.
With the governance protocol, a malicious actor would have to compromise a Triumvirate member, along with controlling a majority of Senate seats in order to approve a proposal.
Consider the following:
- The Triumvirate contains three seats, with members
- The Senate has three members elected to participate, named
Bob has a novel concept for a subnet, and wishes to deploy it on the Bittensor network.
Bob creates a proposal with the calldata:
SubtensorModule.SudoAddNetwork(netuid, tempo, modality)
and sends the transaction to the network in order to broadcast the proposal.
Ferdieall own the nominated delegate hotkeys, all of which individually control greater than two percent of all total stake in the network.
btcli, they are able to view the proposal and the calldata which it will execute upon approval.
Ferdiedecide that they wish to approve this new subnet, and they both approve the proposal.
Evedisagrees with the concept, and decides to disapprove of the proposal.
Even though the Senate may hold twelve members at any time, it is not a guarantee that there will be twelve occupied seats. The approval threshold with a Senate size of three will be two approvals. Since
Ferdie both approved of this proposal, it is now able to be executed by a member of the Triumvirate.
Alice sees that the proposal has been passed by the Senate, and executes the
close extrinsic in order to execute the calldata within the proposal.
Bittensor now has a new subnet on which
Charlie can create further proposals in order to change hyperparameters, allow or disallow registration, and any other configuration which was prevously controlled by the
sudo private key.