Keystore Overview

Table of Contents

This section describes the state and transaction types of the keystore rollup.

Design Objectives

The keystore rollup is designed to manage the public signing data for users of smart accounts across different rollups. The design goals are the following.

  1. End users must be able to transact with a keystore account alone: Keystore account holders must be able to perform key recovery and update operations without any other type of Ethereum account, including an L1 EOA. This enables end users to have a complete experience using a keystore account alone.
  2. End users must be able to onboard without transacting on the keystore: We expect end users to onboard onto general-purpose rollups, and the keystore must allow them to do so without requiring a separate transaction on the keystore. This is achieved using counterfactual address derivation.
  3. No dependence on smart account implementations: The keystore must support different smart account implementations without any changes to the keystore protocol itself. This enables different wallet providers to innovate on smart account design without requiring frequent changes to the keystore itself.
  4. Minimized functionality: To minimize security surface area, the keystore should support the minimum possible functionality necessary to enable key rotation and update operations.