Commit 663d2463 authored by djudjuu's avatar djudjuu

upgrades & cloning

parent adaf9aeb
.. _sec:Governance:
Governance & Network Upgrades
Concept Governance and Network Upgrades
========
sdfsdfdsfsdf
This section introduces some of our considerations about how concepts will be
defined and changed over time in a decentralized manner that leaves no single
party with undue influence or decisionmaking power.
.. _sec:gov:
Concept Governance
Concept Maintenance and Taxation
-------------------
sfsdfsdfsdfs
Getting right what it means to pass or fail a credential will be a crucial to
allow assessors to come to consensus and is most likely very hard to get right
on the first attempt.
While second-layer solutions like offchain-registries are a possible
decentralized solution to this, we expect the data that is saved on the concept
to be the source of truth about what the concept is about and what makes an
assessee reach a pass or fail score.
Therefore, only the owner of the concept is allowed to change the concept's data
field. While this can be used in a centralized manner it also allows for
complicated governance schemes, e.g. if the owner were a multi-sig smart
contract that requires changes to the concept definition to be signed off by 51%
of the concept-members.
To incentivize the owners to keep a concept up-to-date and spend time and effort
to source input from concept members and the wider community, concept owners can
impose a 5% tax on all assessments run in the concept. That means that 5% of all
network tokens that are spent on this concept will be redirected to an address
of the owner's choice.
.. _sec:cloning:
Cloning Concepts
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
djsdfsf
Resolving Conflicts by Cloning
-------------------
In case there are conflicts about a concept-definition or the members feel like
the concept-taxation is unjustified, there is the possibility to "clone" a
concept.
Cloned concepts are just like regular concepts, i.e. all parameters can be
freely defined, except that they additionaly designate an "original"-concept.
Any members of the original concept can become members of the clone concept
without an assessment simply by forsaking their membership in the original.
'Migrating' members will have the same weight in the clone that they had in the original.
Thus owner are incentivized to only tax members if they actually provide value
to the community and unresolvable disagreements about credential-content can be
resolved by opting out of the definition without further costs.
.. _sec:upgrades:
Network Upgrades
-------------------
The cloning mechanism can also be used to issue protocol updates such as
changing the assessment-parameters or the assessor calling mechanism.
To roll out such a change, a new network with a special set of cloning-rules
would be deployed. The new network will implement the updated protocol **and** allow
concepts to be clones of concept in the old-network.
Therefore, at any point in time, anyone can just deploy a new version of the
fathom-network and convince the community to adopt it by migrating their
memberships to the relevant concepts in the new network. To increase
transparency and allow community involvement, the first network will implement
a time-delay before changes can come into effect.
......@@ -68,16 +68,23 @@ Outline
-------
The purpose of this document is to provide a formal specification of the
fathom-protocol.
fathom-protocol. Therefore the following document is sectioned into four parts:
First, an overview is given of the different elements that make up the fathom
network. Second, the process of creating certificates and being assessed in them
is presented step-by-step. The third part lays out the incentive structure that
makes it economically disadvantageous to deviate from the protocol, presents
potential attack vectors and how they are mitigated. The last part describes how
forking (cloning) is used to collectively define and develop credential
definitions and to issue upgrades to the protocol.
We believe in transparency and working out in the open and therefore
invite the reader to engage with us. By contributing ideas or comments,
or by actively taking part in the development. Together, we seek to
enable a wide variety of real-world applications based on this new layer
of trust for digital social relationships.
For information about that development process, the infrastructure we
are building on top of the protocol, the overall roadmap of the project
and ways to contribute to those different parts, you should check out
our `repositories <https://gitlab.com/fathom>`__ and our
`blog <https://fathom.network/blog/>`__.
We believe in transparency and working out in the open and therefore
invite the reader to engage with us: By contributing ideas or comments,
or by actively taking part in the development. Together, we seek to
enable a wide variety of real-world applications based on this new layer
of trust for digital social relationships.
......@@ -3,13 +3,6 @@
The Fathom Protocol
===================
This section has four parts: First, an overview is given of the different
elements that make up the fathom network. Second, the process of
creating certificates and being assessed in them is presented
step-by-step. The third part lays out the incentive structure that makes
it economically disadvantageous to deviate from the protocol. The last
part presents potential attack vectors and how they are mitigated.
.. _sec:architecture:
Architecture Overview
......@@ -38,11 +31,11 @@ Therefore, each concept :math:`C` has the following properties:
concept with no skills associated to it and with no parents.
- **Connection-strength(s)**: For each parent :math:`p` :math:`\in P`, a concept
:math:`C` denotes a connection strength :math:`c_p` from 0 to 1, specifying
the degree of similarity or difference. All connection strengths collectively
add up to 1, so that when an assessment needs to draw assessors from its
parents, the connections strenghts can used to determine how many assessors
should stem from each parent.
:math:`C` denotes a connection strength :math:`c_p` from 0 to 1, specifying
the degree of similarity or difference. All connection strengths collectively
add up to 1, so that when an assessment needs to draw assessors from its
parents, the connections strenghts can used to determine how many assessors
should stem from each parent.
- **Expiration time**: Concepts can specify expiration times
:math:`e_c` to reflect that some skills become outdated, need to be
......@@ -57,17 +50,12 @@ Therefore, each concept :math:`C` has the following properties:
concept in question or in one of its children
- **Weights**: For each member the concept stores a set of weights, a positive
integer and date, corresponding to the latest assessment in the concept.
Weights are used to probabilistically call a member to act as assessors in
assessments [1]_.
integer and date, corresponding to the latest assessment in the concept.
Weights are used to probabilistically call a member to act as assessors in
assessments [1]_.
- **Owner**: An ethereum address that controls what data is saved on the concept
and which can move the concept around by changing its parents. [3]_.
- **CloneOf**: The address of the original concept, if the concept in question
is a clone. See
`concept-governance'<./4-Governance-And-Upgrades.html#sec:gov>` for more
details on concept-cloning.
and which can move the concept around by changing its parents. [3]_.
.. _sec:concept-tree:
......@@ -81,13 +69,13 @@ serves as the root-node of the graph and as parent to all new concepts that are
unrelated to the already existing ones. Thus, moving father away from the 'mew',
concepts become more specific.
This network of knowledge-communities is used when sampling members to create a
pool of potential assessors. If a concept has not enough members to create a
pool of assessors of sufficient size, additional assessors will be drawn from
the parent concepts.
This network of relationship among knowledge-communities is valuable when
sampling members to create a pool of potential assessors. If a concept has not
enough members to create a pool of assessors of sufficient size, additional
assessors will be drawn from the parent concepts.
As described in <section4> the set of concepts and its definitions will be
changing over time, with owner expected to update a concept's description and
changing over time, with concept owners expected to update a concept's description and
relation to parent concepts (in coordination with its members) and with members
cloning and migrating their weights in case disagreements can not be resolved.
......
......@@ -194,12 +194,3 @@ zero-cost, we consider it to be very severe.
against such measurs. Future versions of it could implement some more
complicated schemes in order to keep the scores of individual assessors
secret and make it harder to retrieve the individual assessors’ scores.
.. container::
`< <./2-Protocol.html>`__      `> <./4-Ahead.html>`__
.. raw:: latex
\pagebreak
\pagebreak
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment