Technical Specifications
CoGov is optimized for Holochain.
Some Technical Details
While Protocol.Love is technically distributed ledger agnostic, it is optimally designed for
Holochain, which acts as an unenclosable carrier for entries made using
Protocol.Love.
A short article:
What Actually Happens When People “Do Stuff Together”
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.
Protocol.Love 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 methods 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 of these fundamental operations:
Actions:
(details)
AddMember
AddUserToPrivilegeGroup
CreateAccount
CreateCurrency
CreateCouncil
CreateProposal
CreatePrivilegeGroup
IterateProposal
SetCollectiveDescription
SetCollectiveDetails
SetCollectiveName
SetMinimumToCloseOfActionType
SetMinimumToCloseOfAction
SetPrivilege
SetVetoThresholdOfActionType
SetVetoThresholdOfAction
SetYeaThresholdOfActionType
SetYeaThresholdOfAction
SubmitProposalForResolution
TransferCurrency
A very early 2016 mock-up of what a CoGov Ledger Browser might look like can be found at
http://demo.cogov.tech/