Skip to main content

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.

The Milagro DTA communication protocol uses protobufs for serialization.

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"`
}