id: identity-documents title: Identity Documents sidebar_label: Identity Documents

The first problem that a Milagro D-TA aims to solve is how entities in the system can identify and trust each other. In order to participate in the Milagro D-TA ecosystem each entity must publish a set of public keys into IPFS. The IPFS hash for an identity documents is then the ID for each entity running a D-TA.

In order to create an identity document Milagro D-TA provides the following endpoint.

POST: /identity - An Identity Document contains public keys for signing and key encapsulation.

:::note The Milagro DTA communication protocol uses protobufs for serialization. Click here for more information about Protocol Buffers. :::

The definition of an identity document is:


message IDDocument { string IDDocumentCID = 2 ; string AuthenticationReference = 3 ; string BeneficiaryECPublicKey = 4 ; string SikePublicKey = 5 ; string BlsPublicKey = 6 ; int64 Timestamp = 7 ; }

The node that is used to create an Identity Document will store the seed and secret keys associated with the Identity. In the RC1 release these will be stored as a JSON file in the key value store:


//IdentitySecrets - keys required for decryption and signing type IdentitySecrets struct { Name string `json:"name"` Seed string `json:"seed"` SikeSecretKey string `json:"sikeSecretKey"` BlsSecretKey string `json:"BlsSecretKey"` }