AIP 4
Proposal: Update Security Council Election Start Date to Ensure Time for Security Audit
Category: Constitutional - Process
- Disclaimers:
- The text changed slightly since snapshot (becuase of L2Beat’s forum comment)
- This proposal and the attached executable were created by the Arbitrum Foundation *
High Level Overview
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.
Path to a Smart Contract Enabled Election
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:
- Complete implementation for the on-chain smart contracts,
- Complete implementation of the user interface,
- Smart contract audit by a highly regarded auditing firm,
- All parties, including the Arbitrum DAO, have gained confidence in the implementation’s completeness and security,
- Successful Constitutional Vote by the DAO to install the new election software.
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.
Modified Start Date for Election
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.
Revision to ArbitrumDAO Constitution
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.
Current text of ArbitrumDAO Constitution:
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
Proposed Revision of Arbitrum Constitution:
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.
AIP 4 executable code
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
| Voter | Cast Power | Vote & Rationale |
|---|---|---|
0x0eB5...347576 | 27.832M | FOR |
0x1B68...88eeaD | 18.049M | FOR |
0xF4B0...91D8fA | 13.886M | FOR |
0xBbE9...6053d3 | 13.294M | FOR |
0x8393...6F0780 | 12.249M | FOR |
VOTE POWER
Proposal Status
- Fri August 04 2023, 05:25 pmVoting Period Starts
- Fri August 18 2023, 07:55 pmEnd Voting Period
- Fri August 18 2023, 08:07 pmQueue Proposal
- Execute Proposal
Current Results
1-FOR
159.364M
2-AGAINST
128,912.805
3-ABSTAIN
47,202.27

