Holochain Implementation

Key Concepts

Name

Additional Qualification

Symbology

Agents

Identified by their unique user identity

Un (Denoting User id)

Context/App

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

Rn

Key Processes

Process

Description

Note

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

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

Proposal

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.

Permissions

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

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

Example Architecture for Holochain Implementation

Description

Mapping Reputation Concepts to Holochain

Reputation model

Holochain

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

Entry

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)

Entry

hasClassification, hasIdentifier, hasDatatype, hasValidityDuration, firstRunTime

Links

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

Links