RLN: strengthen security of rln_identifier
#152
Labels
milestone
Milestone issue with a subset of issues within a specific track
rln_identifier
#152
Problem
In https://rfc.vac.dev/spec/32/ it is stated that
however
x
,y
coordinates are independent fromrln_identifier
. In other words, if a user publishes for the same external nullifier and in two different RLN-based apps, the shares(x1,y1)
and(x2,y2)
(one per application) generated starting from the sameidentity_secret
, then recovering the latter is still possible similarly as happens in the stashing mechanism. In fact we havePossible solution
From multiple parts of the RFC it appears that
external_nullifier
can be the epoch, the timestamp or the hash of these values, hence might be the same among different applications.I propose instead to change the parameters to something similar to
so that circuit operations over private inputs (e.g.
a0
) remain mostly unchanged together with circuit perfomances (e.g. instead ofa_1 = poseidonHash([a0, epoch, rln_identifier]
that increase circuit evaluation costs).With such change, the linear SSS polynomial will change when generating concurrent proofs on different RLN applications (i.e. when employing different
rln_identifier
), even in case the sameid_secret
is employed.The text was updated successfully, but these errors were encountered: