Skip to main content

Context

In this section, we first define what is a participant context. We then explain how Krama Context Engine facilitates context population and context randomization. We also explain how the context data is managed.

Structure of a participant context

type Context struct {
NetworkContext
ComputeContext
StorageContext
CryptographicContext
TDUAlgorithm interface{}
MTQ float64
}

type NetworkContext struct {
BehaviorNodes
RandomNodes
UserNodes
}

type ComputeContext struct {
ComputeNodes
ComputeEnvironment
}

type StorageContext struct {
StorageNodes
StorageMedium
}

type CryptographicContext struct {
HashingAlgorithm
SignatureScheme
}

NetworkContext: This contextual attribute is the intelligence associated with the participant built over time based on their interactions in the network. It consists of behavioral nodes, random nodes, and the user’s preferred nodes needed to finalize an interaction.

ComputeContext: This contextual attribute enables the participant to choose the type of execution environment and the nodes on which computation occurs, or interaction is executed.

StorageContext: This contextual attribute enables the participant to choose the type of storage and the location to store their data.

CryptographicContext: This contextual attribute enables the participant to choose the hash function and the signature scheme used to sign the data. TDUAlgorithm: This contextual attribute allows the participant to choose an algorithm specific to their use case.

MTQ: This contextual dimension allows the participant to set a default level of trust value which is reflected in the size of the Interaction Consensus Set (ICS).