qascade/dcr

feat(collaboration): noise validation and quantification in dcr

qascade opened this issue · 0 comments

Description

We have a concept of Trust Groups. A trust group is a set of sources who have given destination_allowed permission to the same destination.

How are you planning to resolve on this issue?

For this we need to complete validateNoises function in lib/collaboration/collaboration.go.

This validateNoises will also need the list of collaborators who permits to the same destination.

This list will be fetched from the address graph. All these collaborators will form a Trust Group. After this, we will have three options for noise Validation/Propagation
1. Only one collaborator from the trust Group is allowed to define noises. This validation may be simplified in yaml, where other collaborators can acknowledge that by referring to the noise parameters, which can be introduced as an address_type.
2. All collaborators from a trust group must give the same noises at the source level. If the noises mismatch, it will result in an error.
Another option may be which we will introduce later if feasible, There is no such thing as a trust group; everybody can define whatever amount of noise they want. We will have to define a mechanism such that from all the lists of noises that contribute, the largest noise in the result will be selected.

For now, we will start implementing the first option.