nucypher / taco-web

🌮 A TypeScript client for TACo (Threshold Access Control)
https://docs.threshold.network/app-development/threshold-access-control-tac
GNU General Public License v3.0
16 stars 23 forks source link

Improve Cohort functionality to be more collusion resistant #88

Closed theref closed 2 months ago

theref commented 2 years ago

We didn't really delve into the sampling/re-sampling sequence in our tdec discussions, so it's reasonable in the interest of fulfilling Milestone 5 to temporarily define Cohorts as a static list of pre-specified node addresses.

However, in the medium-term, something resembling Porter's include logic is more collusion-resistant, more redundant, economically fairer, and confers greater customizability to the adopter.

The sampling mechanism as a whole may need a rethink in the context of tdec, but a core principle of the work token model is not to unnecessarily disadvantage new stakers (since staker population growth mitigates centralization and supports the token price). Even though fees are currently distributed/rebated purely by stake size, concentrating actual fragment-handling work amongst early stakers (via the problem with defaults mentioned here https://github.com/nucypher/tdec/issues/51#issuecomment-1249947113), still foments a imbalance in power (i.e. if you're not on the dominant cohort lists, you have less political power even with the same size stake) and could even hasten a DAO-driven change to said fee model (to address the discordance between work & remuneration).

_Originally posted by @arjunhassard in https://github.com/nucypher/nucypher-ts/pull/86#discussion_r978999566_

derekpierre commented 2 months ago

Porter provides the /bucket_sampling endpoint. Will likely be addressed as part of https://github.com/nucypher/taco-web/issues/264