Skip to content

ExternalIdentity

Purpose

Designates an identity in anoma. This could represent an internal component, or a user, or an anoma node, etc. The External Identity encodes all the information necessary to encrypt messages to and verify commitments from some Identity represented.

This implements the External Identity Abstraction from architecture-1. This means that, as far as our SML is concerned, we will need a structure matching the EXTERNAL_IDENTITY signature, where both the signer and the verifier type are this ExternalIdentity type.

Type

There are (infinitely) many ways to make an ExternalIdentity, so this is a sum type. Here we list some of the options that should be available.

One of:

  • ed25519
  • secp256k1
  • BLS
  • A Threshold Composition of External Identities.
  • This must include any information necessary about how, for example, secret sharing is done for threshold encryption.