Question: What do you think is the best way to structure a review/reputation system for Souq?
I would assume a upto 5/5 stars type of system would be the best approach because its already widely used on sites such as ebay. (5 being best, 1 being the worst)
I would also assume the primary way of validating the claim to review would rely upon the reviewer having an actual transaction with the requester of funds (eg to review, the reviewer has to actually donate).
This leads me to the following questions:
-
Are my assumptions flawed? eg is there a better way to approach this?
-
If the donor is substantiated as actually donating fund… should there be a minimum donation amount before review is considered valid? to try to sheer off haters willing to dump some dust to kill someones averaged rep.
(perhaps by fixed % of total being requested, or perhaps by minimum value set by project submitter, or by static min. value)
If the assumptions and above questions are are answered
We still need to model out the data aggregation and validation techniques to substantiate the users reviews as being valid as well as being properly presented at the right time while still being fully decentralized (eg when users inspect the details of a project the relative reviews are rendered in the UI)
The best I can come up with so far for modeling out the reputation is having the users who intend to leave reviews about projects(owners), first have at least a single registered id
(or perhaps another namespace) that represents their array of reviews they have given/will give over time, this would ensure that only they can update their ‘reviews’ and thus is censorship resistant.
So the real conundrum is how to yield an aggregated scrore of all the actual applicable reviews when inspecting the details of owner of a specific project.
Assuming:
IF a Blockstack wallet can’t contain multiple owner_address(s) [hoping this can be confirmed]
IF a Blockstack withdraw command is executed, does the funds sent, come from the same owner_address (when sending funds to an intended recipient)
If both those IF’s are true, then should be possible in theory to do a get_names_owned_by_address
against the owner_address of a project(name) in question to cache all the names owned.
Once a said cached list of all their names (projects owned) are known, one could then in theory do a get_names_owned_by_address
against all the the donors pay from address(owner_address),
by doing a lookup
against the standardized 'reviews` registered name
A visual model would probably be better to explain the design, I’ll build one in the next couple days to help paint a better picture of what I mean.
Feedback welcome!