Skip to main content
Version: 1.5

Exportable Ed25519 Keys

Intro: Limitations with exporting Ed25519 keys

One issue that often arises when using Ed25519 secrets on MPC wallets is the lack of options available when it comes to allowing a wallet user to migrate its wallet to another wallet. This is more of a technicality that is tightly related to the way the Ed25519 signature scheme works, combined with some tasks that are inefficient to realize using MPC. By "inefficient" we mean that they are likely to introduce poor UX due to the time it takes to accomplish these tasks.

Sodot's Solution

We propose a middle ground that allows to bridge the gap without resorting to heavy tools; thereby retaining high quality UX and allowing for users to export their Ed25519 MPC keys to other wallets. It is important to understand our solution and the restrictions that apply to it as we elaborate on those in the following.

At a high level the solution works by having one of the parties sample a full key. This allows this party to compute (locally and efficiently) all information necessary to later export the key. This party then "imports" this randomly sampled key and all the related information for later exporting this key.

warning

The following two noteworthy restrictions therefore apply:

  1. The sampling party is essentially trusted. When designing wallets that rely on this solution it might make sense to assign the wallets' customers with sampling the key and sharing it.
  2. Derivations are impossible with this exportable flavor of the Ed25519 key.

Once we have already generated our key shares, we can refresh and also export them.

For more information on how to use ExportableEd25519, please refer to our API reference page.