Category: Constitutional - Process
The ArbitrumDAO Constitution specifies that the first Security Council election should start on the 15th September alongside a specification for the election.
An on-chain implementation of the entire election is still a work in progress. The Arbitrum Foundation has sponsored the implementation of a smart contract suite by Offchain Labs, an extension of Tallyâs user interface, and the respective audits.
This proposal seeks to revise the ArbitrumDAO Constitution to provide flexibility for the start date of the election. If passed by a Constitutional Vote, the new start date will be on the 15th September or the earliest possible date in which an on-chain election can begin.
The motivation to change the electionâs start date is to provide time for the implementation to be completed, security audits to be performed, for the community to gain confidence in the quality of its implementation and for the Arbitrum DAO to vote on a separate Constitutional AIP to install an on-chain election system.
The overarching goal is to still allow the election to begin on the 15th September, but it is prudent to provide leeway and ensure all parties, especially the Arbitrum DAO, are confident in the election softwareâs security and completeness.
This proposal seeks approval from the Arbitrum DAO that the first and all subsequent security elections should be performed via the on-chain election process.
The activation of the Security Council election is dependent on:
A vote on this proposal is approving that the above conditions are mandatory for any election software before it can be installed into the on-chain smart contracts.
The implementation sponsored by the Arbitrum Foundation should be ready for the start date of the 15th September.
Even so, given the naunces of implementation details and the potential security risks to a critical part of the system, we believe it is still prudent to provide leeway and extra time for the Security Council elections to begin some time after the required date set out by The Arbitrum Foundation.
After all, it is not just about having a complete implementation, but ensuring all parties have confidence that all efforts have made been to minimize the risk of bugs in the implementation.
The revised text focuses on the election beginning at the earliest possible date from the 15th September. Additionally, the election can only begin once an on-chain election system is installed via a separate Constitutional Vote.
All future elections can begin exactly six months after the previous election. As such, the chosen date for the first election will decide the earliest start date for the next election.
For extra clarity in the text, we have renamed âSeptember Cohortâ to âFirst Cohortâ and âMarch Cohortâ to âSecond Cohortâ
Finally, to remove any ambiguity, all security council members are expected to serve the time until the new Security Council members are installed in the respective smart contracts.
The Security Council has 12 members, who are divided into a September Cohort of 6 members, and a March Cohort of 6 members. Every year on September 15, 12:00 UTC, an election starts for the 6 September Cohort seats; and every year on March 15, 12:00 UTC, an election starts for the 6 March Cohort seats.
This means that the initial September Cohort will serve an initial term of 6 months, whereas the initial March Cohort will serve an initial term of 1 year.
The initial Security Council Cohorts were determined by randomly splitting the 12 members into two 6-member cohorts - 6 members in the September Cohort and 6 members in the March Cohort. The members of the initial Security Council Cohorts are detailed in a transparency report
The Security Council has 12 members, who are divided into two Cohorts of 6 members.
The initial Security Council Cohorts were determined by randomly splitting the 12 members into two 6-member cohorts - 6 members in the âFirst Cohortâ and 6 members in the âSecond Cohortâ. The members of the initial Security Council Cohorts are detailed in a transparency report here.
The first security election is scheduled to begin on the 15th September 2023 or the earliest possible date. The election can only begin upon the availability of an on-chain election process that was approved and installed by the Arbitrum DAO. This first election replaces the âFirst Cohortâ. The next election replaces the âSecond Cohortâ and so forth.
The date chosen for the first election will form the basis for all future elections. Every election should begin 6 months after the previous election has started and it will replace its respective cohort of 6 members.
All Security Council members are expected to serve their term until the election is complete and the new Security Council members are installed.
This document explains how to create a governance proposal, which can trigger an AIP action contract.
The AIP can be created in https://www.tally.xyz/gov/arbitrum/proposal/create
To go through the governance lifecycle, the proposal's executable code must first trigger a L2 to L1 transaction through the ArbSys precompile.
For AIP 4, the Arbitrum Core
should be selected since this is a constitutional proposal.
Target contract address: 0x0000000000000000000000000000000000000064
Calldata
0x928c169a000000000000000000000000e6841d92b0c345144506576ec13ecf5103ac7f490000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000026401d5062a000000000000000000000000a723c008e76e379c55599d2e4d93879beafda79c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000004508d56e2b8cb6f9dad5f2e980f1abab0d96f7d0f4c5d924ae3fd9e9d98ac6d2000000000000000000000000000000000000000000000000000000000003f48000000000000000000000000000000000000000000000000000000000000001800000000000000000000000004dbd4fc535ac27206064b68ffcf827b0a60bab3f000000000000000000000000cf57572261c7c2bcf21ffd220ea7d1a27d40a82700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000841cff79cd00000000000000000000000085792f6bf346e3bfd3a275318add2c44a105844700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000004b147f40c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
To verify the above the calldata, you can generate it yourself with the code from https://github.com/ArbitrumFoundation/governance/pull/130.
To do so, you want to run scripts/proposals/AIP4/generateProposalData.ts
then encode it as an L2 to L1 transaction to ArbSys, as seen in sims/arbcore-aip4.sim.ts
from https://github.com/ArbitrumFoundation/governance-seatbelt/blob/117639ff19b3c9a664fd92db4e0f4dbabb2a932b/sims/arbcore-aip4.sim.ts#L19
The deployment can be checked with https://github.com/ArbitrumFoundation/governance/blob/57758a4e203f43566f587a77282e8a078d1a9ce2/scripts/proposals/AIP4/verifyDeployment.ts
The side effects of running the proposal can also be verified with governance-seatbelt