Let's say that I'm selling a product, and I want to get authentic feedback from my customers. However, I have the following two constraints:
My customers must be able to give [at least some of] their feedback anonymously (and, due to practical constraints and legal reasons, it is impossible for I and many customers to agree on any auditor or provide any reasonable assurance that I "simply don't know", say, which "return envelope" I include into each box; otherwise, I'd simply pack each device with a smartcard and a video of my initializing such without observing it before sealing it in tamper-evident packaging.)
I must be able to associate multiple feedback entries from the same customer with each other; i.e. a customer must not be able to trick me into thinking that multiple customers share their required use-case. However, I want to be able to receive e.g. follow-ups or corrections, clarifications, etc. on feedback items with assurance that the original communicant is the one making the correction. (I additionally want to be able to track, say, particularly needy—or insightful—customers across multiple pieces of feedback.)
(It goes without saying that I must also have assurance that each piece of feedback is coming from a customer, not least of the reasons behind which is: this not being the case would break (2) indirectly by enabling customers to launch sybil attacks.)
Additionally, it can be assumed that customers will generally either know each other, or know of each other and be able to get into contact with one another; a solution may assume that every customer is able to get in contact with at least a few other customers (to verify that they have the same public key on file for me, etc.)
Is this a solved cryptographic problem?
- If so: what is the solution; or what algorithm, system, or class of algorithms or systems allows this?
- If not: what is the state of the art / discussion on it; or what terminology do cryptographers refer to this class of problems by?