One way to describe Holochain is the “protocol for protocols”. It allows developers to define protocols for information sharing, and then provides an ecosystem within which other developers can interact and iterate those protocols and their definitions with relative ease. CoGov is a Holochain protocol that can be used in any holochain application to share information about the operations of organizations.
With Holochain, every application is made up of one or more protocols. Each application runs its own holochain on its own terms. Each device that is running an application has a private source chain that holds the app's “DNA”—the code that runs the app and ensures the protocols are being adhered to. Each app stores its data using the same type of distributed storage standards that have been in operation for decades. This creates redundancy and validation of application data across randomized nodes.
Holochain “entries” can be thought of records in a database. For more on how Holochain stores entries, click here. The core component in the CoGov ontology is a “Collective”. A Collective represents any group of people coming together with a shared mission. A “Collective Base Entry” is therefore a type of entry that specifies the existence of a Collective, and then provides the base for other kinds of entries that share properties and operational data to be associated with that Collective.
The CoGov Collective Base Entries “hang off” the DNA entry of any holochain using Holochain links. Other CoGov entries then hang off of that Collective Base Entry, and each other. This visual shows a sample of various types of entries and how they “hang off” each other. It is by no means a complete diagram.
However, the above is not an illustration of how data is actually stored. For more information on that, see this article: Monotonic Hash Chains? Distributed Ledger Technology? Holochain!
The CoGov Protocol defines several types of entries:
Entry Types:
- Account
- Action
- ActionGroup
- Collective
- Council
- Currency
- CurrencyTransfer
- ItemDetails
- Member
- PrivilegeGroup
- Proposal
One of the most common entry types is an action. Actions are kind of like the assembly operations of a collective of people. The whole goal of the CoGov Protocol is to define the basic operations of groups at their core— so that no matter what or how a group dances together, we can actually always break it down into one or more fundamental operations.
Actions (details):
- AddMember
- AddUserToPrivilegeGroup
- CreateAccount
- CreateCurrency
- CreateCouncil
- CreateProposal
- CreatePrivilegeGroup
- IterateProposal
- SetCollectiveDescription
- SetCollectiveDetails
- SetCollectiveName
- SetMinimumToCloseOfActionType
- SetMinimumToCloseOfAction
- SetPrivilege
- SetVetoThresholdOfActionType
- SetVetoThresholdOfAction
- SetYeaThresholdOfActionType
- SetYeaThresholdOfAction
- SubmitProposalForResolution
- TransferCurrency