Trust network
How to configure a trust network?
The configuration of roles is flexible and can be done through modifying your node's configuration files. All of the available properties can be found under trust_network
. For the roles to take effect, indexing
must be set to true
, otherwise the roles will not be stored by the indexer.
Under roles
, you can describe what are the roles for your trust network, giving each of them a description
.
Structure
The blockchain address of your own node is always the root of the network. In the example, the university role is an association from the root account to the university account.
When the trust network configuration changes, the roles need to be reindexed. Resolving roles is only deterministic if the configuration is unchanged.
Hierarchy
A role can also issue other roles, which can be configured through the issues
property. This can be used to create a hierarchy, where your node only creates an association to follow an authority.
Under the issues
property, you specify which roles can be issued, and what's the type of association for that role. In the example above, authority role can issue university role to an address when the association is type: 100
.
Sub-roles
The type
property does not mean the id of the role, but instead the association type. Different roles can issue differently based on the type
. This can be used to create more complex structures.
In the example above, we can see that ministry can issue the roles of university and authority by resolving associations of type: 100
and type: 101
respectively. But authority issues the role of sub_authority when the association is type: 101
.
Web of trust
In a hierarchy, there is a centralized authority who should be trusted. A web of trust is a decentralized trust network that revolves around trust relationships between identities.
Authorization
The authorization
property is an array of credential URLs that the role can issue. The framework is built on this property, which can then be used to verify the authority of a credential.
Now we can validate that the role of university is an authority for issuing /examples/v1 credential, thus providing another layer of security for the network.
Sponsored Roles
For sponsored roles, the account configured on the node wallet will be the one sponsoring the accounts that are granted the roles.
Resolving an identity's roles
To retrieve the roles associated with an identity, you need to know the associations made with this particular address. These associations are indexed on the node, so that resolving the roles is easier and faster.
Last updated