Holochain Implementation

Key Concepts


Additional Qualification



Identified by their unique user identity

Un (Denoting User id)


By entering a context, an agent agrees to the rules of engagement

An (Denoting a unique Context )

Reputation Data

Can be of multiple types (See Appendix)

Dn (Specific Data type, generated within a context, identified by an id system created by the context’s governance i.e. app creators)

Reputation Score

Can be represented by a quantifiable number or a label. Is usually of the type: ordinal, nominal, ratio, interval


Key Processes




Reputation Computation

Always computed within a context.

Access to data within the context provided by default. In case access to data in another context is requested, consent must be granted. Fn (Where Fn represents a mathematical computation of some sort) Rn = Fn {D1, D2...Dn} Where Dn represents availability of consent tokens


Consent, once given results in the grant of ‘tokens’ to the recipient (See tokens)


Generated by the governance of the context (app creators) - who propose a formula for reputation computation. Think of it as ‘architecting’ a reputation design for their collective. In other words, a specific kind of behaviour they wish to articulate, modulate or amplify.


Tokens may be issued for a specific time interval, or until revocation. They may also be granted to multiple contexts, to ensure ‘observability’ by other parties.


Observer application receives access tokens to run bridge calls to Reputation Computation functions

Example Architecture for Holochain Implementation


Mapping Reputation Concepts to Holochain

Reputation model


App hasIdentifier

Points to hApp DNA hash

App hasClassification

Points to a “Holochain hApp” classificationType “Holochain’, classificationName “hApp” (todo)

ObserverApp hasIdentifier

Points to hApp DNA hash of the bridging hApp ?

Computation hasIdentifier (to correct in UML) (todo: better identify to which App this belongs)

Points to Zome or a function in a Zome

Agent hasIdentifier

Points to Agent ID, Agent Name, Agent Address ? (I think it should be the address)

All data model concepts


Data dataValue

Could be a full Entry, one or more attributes from an Entry (a path?)

Data isAssociatedWith

A link in an Entry ( an Entry hash) or an external URL (?)

Classification (todo: to be added)


hasClassification, hasIdentifier, hasDatatype, hasValidityDuration, firstRunTime


ConsentToken ?

Capability ? (is more like coded into, but should be more dynamic ??? need to look deeper into this)

All associations between entities in the data model