Motivation
One interesting approach in general of World ID is to prove to an RP you only have one account with them. This can be accomplished by the RP setting an epoch and requesting a Uniqueness Proof per epoch (e.g. a calendar year). Without epochs, then a user would never be able to "rotate" their "verification" in an RP account (because the user cannot prove the previously verified RP account and hence the RP cannot "unverify" the old account, if the RP doesn't unverify then it leads to double claims.
Now, assuming an RP has this epoch scheme, the RP may want to ensure continuity of the same World ID from one epoch to another. For example, let's say I first verify my RP-Account belongs to a human (through the PoH credential) at epoch $t$. At epoch $t+1$, I generate a new Uniqueness Proof which is completely unlikable to the verification on epoch $t$. This particular RP needs to ensure that at epoch $t+1$ I haven't sold/transferred/traded my account with someone else, so wants to ensure that when I verify my account at epoch $t+1$, I prove I am still the same World ID holder.
Design Space
One approach to solve this is that at epoch $t+1$ I provide a Session Proof (with action = epoch $t$) such that the RP establishes continuity, and I provide a Uniqueness Proof for epoch $t+1$ to maintain my verification active. The proofs however would need to have some mechanism to privately prove they're coming from the same World ID.
This is not the only approach to solve this. Open design space.
Motivation
One interesting approach in general of World ID is to prove to an RP you only have one account with them. This can be accomplished by the RP setting an epoch and requesting a Uniqueness Proof per epoch (e.g. a calendar year). Without epochs, then a user would never be able to "rotate" their "verification" in an RP account (because the user cannot prove the previously verified RP account and hence the RP cannot "unverify" the old account, if the RP doesn't unverify then it leads to double claims.
Now, assuming an RP has this epoch scheme, the RP may want to ensure continuity of the same World ID from one epoch to another. For example, let's say I first verify my RP-Account belongs to a human (through the PoH credential) at epoch$t$ . At epoch $t+1$ , I generate a new Uniqueness Proof which is completely unlikable to the verification on epoch $t$ . This particular RP needs to ensure that at epoch $t+1$ I haven't sold/transferred/traded my account with someone else, so wants to ensure that when I verify my account at epoch $t+1$ , I prove I am still the same World ID holder.
Design Space
One approach to solve this is that at epoch$t+1$ I provide a Session Proof (with $t$ ) such that the RP establishes continuity, and I provide a Uniqueness Proof for epoch $t+1$ to maintain my verification active. The proofs however would need to have some mechanism to privately prove they're coming from the same World ID.
action= epochThis is not the only approach to solve this. Open design space.