This article is an entry in a series of technical articles that explore the novel features and upgrades to research technology that Revolve Polling makes use of.
It is recommended to read Zero-Knowledge Proofs for Everyone as we'll be working with a few of the concepts from the Semaphore protocol explained in that article, specifically proofs and the nullifier.
Let's recall that every time a user of Revolve Polling submits a response to a survey, they are doing so as a verified, anonymous Canadian resident. This is achieved through ID verification and zero-knowledge proofs. Also, each proof contains a nullifier value which acts as a one-to-one binding connecting a user to a survey. The nullifier allows for restricting a user to a single submission at a time while preserving anonymity.
Since the user will generate the same nullifier value for a survey, we can accept re-submissions by overwriting the existing submission using that nullifier. So if we deploy a continuous survey, open for some reasonably long duration, users can return to update their response to a survey if their views change.
As an organization focusing on political and public opinion research, continuous surveys are highly valuable in some key situations. Think of the writ period for a federal or provincial election. We would be able to keep voting intention surveys open all throughout. Outside of election periods, it may be interesting to keep party support surveys open indefinitely so we can view the transformation of opinion over time.
While the idea of a survey or poll being open for days or even weeks isn't new, adding in our other core features (verified, anonymous responses) makes for a unique and strong offering. As well, the ability for users to update their submissions gives Revolve Polling a dataset that can evolve with public opinion.