Attributes describe facts about an identity.
Examples:
agecountry_of_residencehas_driver_licenseemployee_of[OrgID]owns_certificate[CertID]Each attribute has:
attribute = {
name, // machine key
type, // scalar, enum, boolean, reference
issuer, // gov, institution, protocol, self
value, // encrypted in the Vault
valid_from?,
valid_until?,
attestation_proof?
}
Attributes live in the Merkle Attribute Tree:
attributes_root = MerkleRoot([
leaf(attribute_1),
leaf(attribute_2),
...
])
The root is committed into the Identity Commitment.